#azure-java-sdk
Вопрос:
как я могу получить метрику «Кэширование» из «Обозревателя данных Azure» с помощью java. Существуют ли какие-либо SDK JAVA, которые помогают получать показатели из службы «Обозреватель данных Azure»?
Ответ №1:
Что касается этой проблемы, пожалуйста, обратитесь к следующему коду
- Знаток
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
<version>1.2.4</version>
</dependency>
<dependency>
<groupId>com.azure.resourcemanager</groupId>
<artifactId>azure-resourcemanager-resources</artifactId>
<version>2.2.0</version>
</dependency>
<dependency>
<groupId>com.azure.resourcemanager</groupId>
<artifactId>azure-resourcemanager-monitor</artifactId>
<version>2.2.0</version>
</dependency>
код
String clientId="";
String clientSecret="";
String tenant="";
String subId="";
AzureProfile profile = new AzureProfile(tenant,subId,AzureEnvironment.AZURE);
TokenCredential credential = new ClientSecretCredentialBuilder()
.authorityHost(profile.getEnvironment().getActiveDirectoryEndpoint())
.tenantId(tenant)
.clientId(clientId)
.clientSecret(clientSecret)
.build();
MonitorManager manager = MonitorManager
.configure()
.withLogLevel(HttpLogDetailLevel.BODY_AND_HEADERS)
.authenticate(credential,profile);
OffsetDateTime recordDateTime = OffsetDateTime.now();
for (MetricDefinition metricDefinition : manager.metricDefinitions().listByResource("<the resource id of data exploer>")
) {
if(metricDefinition.name().localizedValue().equalsIgnoreCase("Cache utilization")){
MetricCollection metricCollection = metricDefinition.defineQuery()
.startingFrom(recordDateTime.minusDays(7))
.endsBefore(recordDateTime)
.withAggregation("Average")
.withInterval(Duration.ofMinutes(5))
.filterByNamespace("microsoft.kusto/clusters")
.execute();
System.out.println("Metrics for '" "" "':");
System.out.println("Namespacse: " metricCollection.namespace());
System.out.println("Query time: " metricCollection.timespan());
System.out.println("Time Grain: " metricCollection.interval());
System.out.println("Cost: " metricCollection.cost());
for (Metric metric : metricCollection.metrics()) {
System.out.println("tMetric: " metric.name().localizedValue());
System.out.println("tType: " metric.type());
System.out.println("tUnit: " metric.unit());
System.out.println("tTime Series: ");
for (TimeSeriesElement timeElement : metric.timeseries()) {
System.out.println("ttMetadata: ");
for (MetadataValueInner metadata : timeElement.metadatavalues()) {
System.out.println("ttt" metadata.name().localizedValue() ": " metadata.value());
}
System.out.println("ttData: ");
for (MetricValue data : timeElement.data()) {
System.out.println("ttt" data.timestamp()
" : (Min) " data.minimum()
" : (Max) " data.maximum()
" : (Avg) " data.average()
" : (Total) " data.total()
" : (Count) " data.count());
}
}
}
break;
}
}