Azure java sdk Azure数据浏览器度量

Azure java sdk Azure数据浏览器度量,azure-java-sdk,Azure Java Sdk,如何使用java从“Azure Data Explorer”获取“缓存利用率”指标。是否有任何JAVA SDK可以帮助从“Azure Data Explorer”服务获取度量值?关于此问题,请参考以下代码 马文 com.azure azure身份 1.2.4 com.azure.resourcemanager azure资源管理器资源 2.2.0 com.azure.resourcemanager azure资源管理器监视器 2.2.0 代码 String clientId=“”; 字符串c

如何使用java从“Azure Data Explorer”获取“缓存利用率”指标。是否有任何JAVA SDK可以帮助从“Azure Data Explorer”服务获取度量值?

关于此问题,请参考以下代码

  • 马文
  • 
    com.azure
    azure身份
    1.2.4
    com.azure.resourcemanager
    azure资源管理器资源
    2.2.0
    com.azure.resourcemanager
    azure资源管理器监视器
    2.2.0
    
    代码

    String clientId=“”;
    字符串clientSecret=“”;
    字符串=”;
    字符串subId=“”;
    AzureProfile=新的AzureProfile(租户、子ID、AzureEnvironment.AZURE);
    TokenCredential=new ClientSecretCredentialBuilder()
    .authorityHost(profile.getEnvironment().getActiveDirectoryEndpoint())
    .TENATID(租户)
    .clientId(clientId)
    .clientSecret(clientSecret)
    .build();
    监控管理器管理器=监控管理器
    .configure()
    .withLogLevel(HttpLogDetailLevel.BODY_和_头)
    .认证(凭证、档案);
    OffsetDateTime recordDateTime=OffsetDateTime.now();
    对于(MetricDefinition MetricDefinition:manager.metricDefinitions().listByResource(“”)
    ) {
    if(metricDefinition.name().localizedValue().equalsIgnoreCase(“缓存利用率”)){
    MetricCollection MetricCollection=metricDefinition.defineQuery()
    .startingFrom(recordDateTime.minusDays(7))
    .endsBefore(recordDateTime)
    .加总(“平均”)
    .带间隔(持续时间为分钟(5))
    .filterByNamespace(“microsoft.kusto/clusters”)
    .execute();
    System.out.println(“用于“+”+“:”的度量);
    System.out.println(“Namespacse:+metricCollection.namespace());
    System.out.println(“查询时间:+metricCollection.timespan());
    System.out.println(“时间粒度:+metricCollection.interval());
    System.out.println(“成本:+metricCollection.Cost());
    对于(度量:metricCollection.metrics()){
    System.out.println(“\tMetric:+metric.name().localizedValue());
    System.out.println(“\t类型:“+metric.type());
    System.out.println(“\tUnit:+metric.unit());
    System.out.println(“\t时间系列:”);
    对于(TimeSeriesElement timeElement:metric.timeseries()){
    System.out.println(“\t\tMetadata:”);
    对于(MetadataValueInternalMetadata:timeElement.metadatavalues()){
    System.out.println(“\t\t\t”+metadata.name().localizedValue()+”:“+metadata.value());
    }
    System.out.println(“\t\t数据:”);
    对于(MetricValue数据:timeElement.data()){
    System.out.println(“\t\t\t”+data.timestamp()
    +“:(最小值)“+数据最小值()
    +“:(最大值)“+data.Max()
    +“:(平均值)”+数据平均值()
    +“:(总计)”+数据总计()
    +“:(Count)”+data.Count());
    }
    }
    }
    打破
    }
    }
    
    <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("\t\tMetadata: ");
                           for (MetadataValueInner metadata : timeElement.metadatavalues()) {
                               System.out.println("\t\t\t" + metadata.name().localizedValue() + ": " + metadata.value());
                           }
                           System.out.println("\t\tData: ");
                           for (MetricValue data : timeElement.data()) {
                               System.out.println("\t\t\t" + data.timestamp()
                                       + " : (Min) " + data.minimum()
                                       + " : (Max) " + data.maximum()
                                       + " : (Avg) " + data.average()
                                       + " : (Total) " + data.total()
                                       + " : (Count) " + data.count());
                           }
                       }
                   }
                   break;
               }
            }