azure-docs-sdk-java/docs-ref-autogen/com.azure.ai.metricsadvisor...

16 строки
11 KiB
YAML

### YamlMime:JavaPackage
uid: "com.azure.ai.metricsadvisor"
fullName: "com.azure.ai.metricsadvisor"
name: "com.azure.ai.metricsadvisor"
summary: "[Azure Metrics Advisor][] is a cloud-based service provided by Microsoft Azure that is designed to help organizations monitor and analyze metrics and time-series data from various sources.\n\n\n[Azure Metrics Advisor]: https://learn.microsoft.com/azure/ai-services/metrics-advisor/"
classes:
- "com.azure.ai.metricsadvisor.MetricsAdvisorAsyncClient"
- "com.azure.ai.metricsadvisor.MetricsAdvisorClient"
- "com.azure.ai.metricsadvisor.MetricsAdvisorClientBuilder"
enums:
- "com.azure.ai.metricsadvisor.MetricsAdvisorServiceVersion"
desc: "[Azure Metrics Advisor][] is a cloud-based service provided by Microsoft Azure that is designed to help organizations monitor and analyze metrics and time-series data from various sources. It is particularly focused on aiding in the detection of anomalies, trends, and patterns within this data, which can be invaluable for improving operational efficiency, identifying issues early, and making data-driven decisions.\n\nHere are some key features and capabilities of Azure Metrics Advisor:\n\n * Anomaly Detection: Azure Metrics Advisor employs machine learning algorithms to automatically identify anomalies in time-series data. It can differentiate between normal variations and unusual patterns, helping organizations detect issues or opportunities for improvement.\n * Time-Series Data Ingestion: The service allows you to ingest time-series data from various sources, including Azure Monitor, Application Insights, IoT Hub, and custom data sources. This flexibility enables you to monitor a wide range of metrics.\n * Data Exploration: Users can explore their data, view historical trends, and gain insights into the behavior of various metrics over time. This can be useful for identifying seasonal patterns and understanding the normal behavior of your systems.\n * Integration with Azure Services: Azure Metrics Advisor integrates with other Azure services, such as Azure Monitor and Azure Data Explorer, making it part of a broader ecosystem for monitoring and analytics.\n * Alerts and Notifications: You can set up alerts and notifications based on detected anomalies or specific thresholds, ensuring that you are informed promptly when issues arise.\n\n## Getting Started ##\n\nThe Azure Metrics Advisor library provides advisor clients like <xref uid=\"com.azure.ai.metricsadvisor.MetricsAdvisorAsyncClient\" data-throw-if-not-resolved=\"false\" data-raw-source=\"com.azure.ai.metricsadvisor.MetricsAdvisorAsyncClient\"></xref> and <xref uid=\"com.azure.ai.metricsadvisor.MetricsAdvisorClient\" data-throw-if-not-resolved=\"false\" data-raw-source=\"com.azure.ai.metricsadvisor.MetricsAdvisorClient\"></xref> to connect to the Metrics Advisor Azure Cognitive Service to perform data monitoring. It also provides administration clients like <xref uid=\"com.azure.ai.metricsadvisor.administration.MetricsAdvisorAdministrationClient\" data-throw-if-not-resolved=\"false\" data-raw-source=\"com.azure.ai.metricsadvisor.administration.MetricsAdvisorAdministrationClient\"></xref> and <xref uid=\"com.azure.ai.metricsadvisor.administration.MetricsAdvisorAdministrationAsyncClient\" data-throw-if-not-resolved=\"false\" data-raw-source=\"com.azure.ai.metricsadvisor.administration.MetricsAdvisorAdministrationAsyncClient\"></xref> to build and manage models from custom documents.\n\nService clients are the point of interaction for developers to use Azure Form Recognizer. <xref uid=\"com.azure.ai.metricsadvisor.MetricsAdvisorClient\" data-throw-if-not-resolved=\"false\" data-raw-source=\"com.azure.ai.metricsadvisor.MetricsAdvisorClient\"></xref> is the synchronous service client and <xref uid=\"com.azure.ai.metricsadvisor.MetricsAdvisorAsyncClient\" data-throw-if-not-resolved=\"false\" data-raw-source=\"com.azure.ai.metricsadvisor.MetricsAdvisorAsyncClient\"></xref> is the asynchronous service client. The examples shown in this document use a credential object named DefaultAzureCredential for authentication, which is appropriate for most scenarios, including local development and production environments. Additionally, we recommend using [managed identity][] for authentication in production environments. You can find more information on different ways of authenticating and their corresponding credential types in the [Azure Identity documentation\"][Azure Identity documentation].\n\n**Sample: Construct a MetricsAdvisorClient with DefaultAzureCredential**\n\nThe following code sample demonstrates the creation of a <xref uid=\"com.azure.ai.metricsadvisor.MetricsAdvisorClient\" data-throw-if-not-resolved=\"false\" data-raw-source=\"com.azure.ai.metricsadvisor.MetricsAdvisorClient\"></xref>, using the \\`DefaultAzureCredentialBuilder\\` to configure it.\n\n```java\nMetricsAdvisorClient metricsAdvisorClient =\n new MetricsAdvisorClientBuilder()\n .credential(new DefaultAzureCredentialBuilder().build())\n .endpoint(\"{endpoint}\")\n .buildClient();\n```\n\nFurther, see the code sample below to use <xref uid=\"com.azure.ai.metricsadvisor.models.MetricsAdvisorKeyCredential\" data-throw-if-not-resolved=\"false\" data-raw-source=\"MetricsAdvisorKeyCredential\"></xref> for client creation.\n\n```java\nMetricsAdvisorClient metricsAdvisorClient =\n new MetricsAdvisorClientBuilder()\n .credential(new MetricsAdvisorKeyCredential(\"{subscription_key}\", \"{api_key}\"))\n .endpoint(\"{endpoint}\")\n .buildClient();\n```\n\nLet's take a look at the advisor client scenarios and their respective usage below.\n\n\n--------------------\n\n## Get the time series data from metric for you own ingested data ##\n\n**Sample: Given a metric list the time series data from a metricId**\n\nThe following code sample demonstrates to get metric data time series information.\n\n```java\nfinal OffsetDateTime startTime = OffsetDateTime.parse(\"2020-09-09T00:00:00Z\");\n final OffsetDateTime endTime = OffsetDateTime.parse(\"2020-09-09T12:00:00Z\");\n\n metricsAdvisorClient.listMetricSeriesData(\"metricId\",\n Arrays.asList(new DimensionKey(new HashMap<String, String>() {{\n put(\"Dim1\", \"value1\");\n }})), startTime, endTime)\n .forEach(metricSeriesData -> {\n System.out.println(\"List of data points for this series:\");\n System.out.println(metricSeriesData.getMetricValues());\n System.out.println(\"Timestamps of the data related to this time series:\");\n System.out.println(metricSeriesData.getTimestamps());\n System.out.printf(\"Series Key:\");\n System.out.println(metricSeriesData.getSeriesKey().asMap());\n });\n```\n\n**Note:** For asynchronous sample, refer to <xref uid=\"com.azure.ai.metricsadvisor.MetricsAdvisorAsyncClient.listMetricSeriesData*\" data-throw-if-not-resolved=\"false\" data-raw-source=\"AsyncListMetricSeriesData\"></xref> API.\n\n\n--------------------\n\n## Fetch the anomalies identified by an anomaly detection configuration ##\n\nYou can use the detected anomalies reflect actual anomalies in your data.\n\n**Sample: Query anomalies under anomaly detection configuration**\n\nThe following code sample demonstrates how fetch all anomalies detected for a specific anomaly detection configuration.\n\n```java\nfinal MetricWholeSeriesDetectionCondition wholeSeriesCondition = new MetricWholeSeriesDetectionCondition()\n .setConditionOperator(DetectionConditionOperator.OR)\n .setSmartDetectionCondition(new SmartDetectionCondition(\n 50,\n AnomalyDetectorDirection.BOTH,\n new SuppressCondition(50, 50)))\n .setHardThresholdCondition(new HardThresholdCondition(\n AnomalyDetectorDirection.BOTH,\n new SuppressCondition(5, 5))\n .setLowerBound(0.0)\n .setUpperBound(100.0))\n .setChangeThresholdCondition(new ChangeThresholdCondition(\n 50,\n 30,\n true,\n AnomalyDetectorDirection.BOTH,\n new SuppressCondition(2, 2)));\n\n final String detectionConfigName = \"my_detection_config\";\n final String detectionConfigDescription = \"anomaly detection config for metric\";\n final AnomalyDetectionConfiguration detectionConfig\n = new AnomalyDetectionConfiguration(detectionConfigName)\n .setDescription(detectionConfigDescription)\n .setWholeSeriesDetectionCondition(wholeSeriesCondition);\n\n final String metricId = \"0b836da8-10e6-46cd-8f4f-28262e113a62\";\n Response<AnomalyDetectionConfiguration> response = metricsAdvisorAdminClient\n .createDetectionConfigWithResponse(metricId, detectionConfig, Context.NONE);\n System.out.printf(\"Response statusCode: %d%n\", response.getStatusCode());\n AnomalyDetectionConfiguration createdDetectionConfig = response.getValue();\n System.out.printf(\"Detection config Id: %s%n\", createdDetectionConfig.getId());\n System.out.printf(\"Name: %s%n\", createdDetectionConfig.getName());\n System.out.printf(\"Description: %s%n\", createdDetectionConfig.getDescription());\n System.out.printf(\"MetricId: %s%n\", createdDetectionConfig.getMetricId());\n```\n\n**Note:** For asynchronous sample, refer to <xref uid=\"com.azure.ai.metricsadvisor.administration.MetricsAdvisorAdministrationAsyncClient.createDetectionConfigWithResponse(java.lang.String,com.azure.ai.metricsadvisor.administration.models.AnomalyDetectionConfiguration)\" data-throw-if-not-resolved=\"false\" data-raw-source=\"AsyncCreateDetectionConfigWithResponse\"></xref> API.\n\n\n--------------------\n\n## List the root causes for an incident ##\n\nMetrics Advisor will automatically group anomalies that share the same root cause into one incident. An incident usually indicates a real issue, Metrics Advisor performs analysis on top of it and provides automatic root cause analysis insights.\n\n**Sample: Find all the possible root causes for an incident**\n\n```java\nfinal String detectionConfigurationId = \"c0dddf2539f-b804-4ab9-a70f-0da0c89c76d8\";\n final String incidentId = \"c5thh0f2539f-b804-4ab9-a70f-0da0c89c456d\";\n\n metricsAdvisorClient.listIncidentRootCauses(detectionConfigurationId, incidentId)\n .forEach(incidentRootCause -> {\n System.out.printf(\"Description: %s%n\", incidentRootCause.getDescription());\n System.out.printf(\"Series Key:\");\n System.out.println(incidentRootCause.getSeriesKey().asMap());\n System.out.printf(\"Confidence for the detected incident root cause %.2f%n\",\n incidentRootCause.getContributionScore());\n });\n```\n\n**Note:** For asynchronous sample, refer to <xref uid=\"com.azure.ai.metricsadvisor.MetricsAdvisorClient.listIncidentRootCauses(java.lang.String,java.lang.String)\" data-throw-if-not-resolved=\"false\" data-raw-source=\"AsyncListIncidentRootCauses\"></xref> API.\n\n\n[Azure Metrics Advisor]: https://learn.microsoft.com/azure/ai-services/metrics-advisor/\n[managed identity]: https://learn.microsoft.com/azure/active-directory/managed-identities-azure-resources/\n[Azure Identity documentation]: https://learn.microsoft.com/java/api/overview/azure/identity-readme"
metadata: {}
package: "com.azure.ai.metricsadvisor"
artifact: com.azure:azure-ai-metricsadvisor:1.2.1