MetricsAdvisorClient Class
Represents an client that calls restful API of Azure Metrics Advisor service.
- Inheritance
-
builtins.objectMetricsAdvisorClient
Constructor
MetricsAdvisorClient(endpoint: str, credential: MetricsAdvisorKeyCredential, **kwargs: Any)
Parameters
- endpoint
- str
Supported Cognitive Services endpoints (protocol and hostname,
for example: https://<resource-name>.cognitiveservices.azure.com).
- credential
- MetricsAdvisorKeyCredential or TokenCredential
An instance of ~azure.ai.metricsadvisor.MetricsAdvisorKeyCredential. which requires both subscription key and API key. Or an object which can provide an access token for the vault, such as a credential from identity
Methods
| add_feedback |
Create a new metric feedback. |
| close |
Close the MetricsAdvisorClient session. |
| get_feedback |
Get a metric feedback by its id. |
| list_alerts |
Query alerts under anomaly alert configuration. |
| list_anomalies |
Query anomalies under a specific alert or detection configuration. |
| list_anomaly_dimension_values |
Query dimension values of anomalies. |
| list_feedback |
List feedback on the given metric. |
| list_incident_root_causes |
Query root cause for incident. |
| list_incidents |
Query incidents under a specific alert or detection configuration. |
| list_metric_dimension_values |
List dimension from certain metric. |
| list_metric_enriched_series_data |
Query series enriched by anomaly detection. |
| list_metric_enrichment_status |
Query anomaly detection status. |
| list_metric_series_data |
Get time series data from metric. |
| list_metric_series_definitions |
List series (dimension combinations) from metric. |
add_feedback
Create a new metric feedback.
add_feedback(feedback: Union[azure.ai.metricsadvisor.models._models.AnomalyFeedback, azure.ai.metricsadvisor.models._models.ChangePointFeedback, azure.ai.metricsadvisor.models._models.CommentFeedback, azure.ai.metricsadvisor.models._models.PeriodFeedback], **kwargs: Any) -> None
Parameters
- feedback
- AnomalyFeedback or ChangePointFeedback or CommentFeedback or PeriodFeedback
metric feedback.
Exceptions
Examples
Add new feedback.
from azure.ai.metricsadvisor import MetricsAdvisorKeyCredential, MetricsAdvisorClient
from azure.ai.metricsadvisor.models import AnomalyFeedback, ChangePointFeedback, CommentFeedback, PeriodFeedback
service_endpoint = os.getenv("METRICS_ADVISOR_ENDPOINT")
subscription_key = os.getenv("METRICS_ADVISOR_SUBSCRIPTION_KEY")
api_key = os.getenv("METRICS_ADVISOR_API_KEY")
metric_id = os.getenv("METRICS_ADVISOR_METRIC_ID")
client = MetricsAdvisorClient(service_endpoint,
MetricsAdvisorKeyCredential(subscription_key, api_key))
anomaly_feedback = AnomalyFeedback(metric_id=metric_id,
dimension_key={"Dim1": "Common Lime"},
start_time=datetime.datetime(2020, 8, 5),
end_time=datetime.datetime(2020, 8, 7),
value="NotAnomaly")
client.add_feedback(anomaly_feedback)
change_point_feedback = ChangePointFeedback(metric_id=metric_id,
dimension_key={"Dim1": "Common Lime"},
start_time=datetime.datetime(2020, 8, 5),
end_time=datetime.datetime(2020, 8, 7),
value="NotChangePoint")
client.add_feedback(change_point_feedback)
comment_feedback = CommentFeedback(metric_id=metric_id,
dimension_key={"Dim1": "Common Lime"},
start_time=datetime.datetime(2020, 8, 5),
end_time=datetime.datetime(2020, 8, 7),
value="comment")
client.add_feedback(comment_feedback)
period_feedback = PeriodFeedback(metric_id=metric_id,
dimension_key={"Dim1": "Common Lime"},
start_time=datetime.datetime(2020, 8, 5),
end_time=datetime.datetime(2020, 8, 7),
period_type="AssignValue",
value=2)
client.add_feedback(period_feedback)
close
get_feedback
Get a metric feedback by its id.
get_feedback(feedback_id: str, **kwargs: Any) -> Union[MetricFeedback, FeedbackUnion]
Parameters
Returns
The feedback object
Return type
Exceptions
Examples
Get a metric feedback by its id.
from azure.ai.metricsadvisor import MetricsAdvisorKeyCredential, MetricsAdvisorClient
service_endpoint = os.getenv("METRICS_ADVISOR_ENDPOINT")
subscription_key = os.getenv("METRICS_ADVISOR_SUBSCRIPTION_KEY")
api_key = os.getenv("METRICS_ADVISOR_API_KEY")
feedback_id = os.getenv("METRICS_ADVISOR_FEEDBACK_ID")
client = MetricsAdvisorClient(service_endpoint,
MetricsAdvisorKeyCredential(subscription_key, api_key))
result = client.get_feedback(feedback_id=feedback_id)
print("Type: {}; Id: {}".format(result.feedback_type, result.id))
list_alerts
Query alerts under anomaly alert configuration.
list_alerts(alert_configuration_id: str, start_time: datetime.datetime, end_time: datetime.datetime, time_mode: Union[str, AlertQueryTimeMode], **kwargs: Any) -> ItemPaged[AnomalyAlert]
Parameters
- datetime.datetime] start_time
- <xref:Union>[<xref:str,>
start time.
- datetime.datetime] end_time
- <xref:Union>[<xref:str,>
end time.
- time_mode
- str or <xref:azure.ai.metricsadvisor.models.AlertQueryTimeMode>
time mode. Possible values include: "AnomalyTime", "CreatedTime", "ModifiedTime".
- skip
- int
Returns
AnomalyAlerts under anomaly alert configuration.
Return type
Exceptions
Examples
Query anomaly detection results.
import datetime
from azure.ai.metricsadvisor import MetricsAdvisorKeyCredential, MetricsAdvisorClient
service_endpoint = os.getenv("METRICS_ADVISOR_ENDPOINT")
subscription_key = os.getenv("METRICS_ADVISOR_SUBSCRIPTION_KEY")
api_key = os.getenv("METRICS_ADVISOR_API_KEY")
client = MetricsAdvisorClient(service_endpoint,
MetricsAdvisorKeyCredential(subscription_key, api_key))
results = client.list_alerts(
alert_configuration_id=alert_config_id,
start_time=datetime.datetime(2020, 1, 1),
end_time=datetime.datetime(2020, 9, 9),
time_mode="AnomalyTime",
)
tolist = []
for result in results:
tolist.append(result)
print("Alert id: {}".format(result.id))
print("Create time: {}".format(result.created_time))
return tolist
list_anomalies
Query anomalies under a specific alert or detection configuration.
list_anomalies(alert_configuration_id, alert_id, **kwargs)
Parameters
- alert_configuration_id
- str
anomaly alert configuration unique id.
- alert_id
- str
alert id.
- detection_configuration_id
- str
anomaly detection configuration unique id.
- datetime.datetime] start_time
- <xref:Union>[<xref:str,>
start time filter under chosen time mode.
- datetime.datetime] end_time
- <xref:Union>[<xref:str,>
end time filter under chosen time mode.
- skip
- int
Returns
Anomalies under a specific alert or detection configuration.
Return type
Exceptions
list_anomaly_dimension_values
Query dimension values of anomalies.
list_anomaly_dimension_values(detection_configuration_id: str, dimension_name: str, start_time: Union[str, datetime.datetime], end_time: Union[str, datetime.datetime], **kwargs: Any) -> ItemPaged[str]
Parameters
- datetime.datetime] start_time
- <xref:Union>[<xref:str,>
start time filter under chosen time mode.
- datetime.datetime] end_time
- <xref:Union>[<xref:str,>
end time filter under chosen time mode.
- skip
- int
- str] dimension_filter
- <xref:Dict>[<xref:str,>
filter specfic dimension name and values.
Returns
Dimension values of anomalies.
Return type
Exceptions
Examples
Query dimension values.
import datetime
from azure.ai.metricsadvisor import MetricsAdvisorKeyCredential, MetricsAdvisorClient
service_endpoint = os.getenv("METRICS_ADVISOR_ENDPOINT")
subscription_key = os.getenv("METRICS_ADVISOR_SUBSCRIPTION_KEY")
api_key = os.getenv("METRICS_ADVISOR_API_KEY")
detection_configuration_id = os.getenv("METRICS_ADVISOR_DETECTION_CONFIGURATION_ID")
dimension_name = "city"
client = MetricsAdvisorClient(service_endpoint,
MetricsAdvisorKeyCredential(subscription_key, api_key))
results = client.list_anomaly_dimension_values(
detection_configuration_id=detection_configuration_id,
dimension_name=dimension_name,
start_time=datetime.datetime(2020, 1, 1),
end_time=datetime.datetime(2020, 10, 21),
)
for result in results:
print(str(result))
list_feedback
List feedback on the given metric.
list_feedback(metric_id: str, **kwargs: Any) -> ItemPaged[Union[MetricFeedback, FeedbackUnion]]
Parameters
- skip
- int
- feedback_type
- str or FeedbackType
filter feedbacks by type. Possible values include: "Anomaly", "ChangePoint", "Period", "Comment".
- datetime.datetime] start_time
- <xref:Union>[<xref:str,>
start time filter under chosen time mode.
- datetime.datetime] end_time
- <xref:Union>[<xref:str,>
end time filter under chosen time mode.
- time_mode
- str or FeedbackQueryTimeMode
time mode to filter feedback. Possible values include: "MetricTimestamp", "FeedbackCreatedTime".
Returns
Pageable list of MetricFeedback
Return type
Exceptions
Examples
List feedback on the given metric.
from azure.ai.metricsadvisor import MetricsAdvisorKeyCredential, MetricsAdvisorClient
service_endpoint = os.getenv("METRICS_ADVISOR_ENDPOINT")
subscription_key = os.getenv("METRICS_ADVISOR_SUBSCRIPTION_KEY")
api_key = os.getenv("METRICS_ADVISOR_API_KEY")
metric_id = os.getenv("METRICS_ADVISOR_METRIC_ID")
client = MetricsAdvisorClient(service_endpoint,
MetricsAdvisorKeyCredential(subscription_key, api_key))
results = client.list_feedback(metric_id=metric_id)
for result in results:
print("Type: {}; Id: {}".format(result.feedback_type, result.id))
list_incident_root_causes
Query root cause for incident.
list_incident_root_causes(detection_configuration_id: str, incident_id: str, **kwargs: Any) -> ItemPaged[IncidentRootCause]
Parameters
Returns
Pageable of root cause for incident
Return type
Exceptions
Examples
Query incident root causes.
from azure.ai.metricsadvisor import MetricsAdvisorKeyCredential, MetricsAdvisorClient
service_endpoint = os.getenv("METRICS_ADVISOR_ENDPOINT")
subscription_key = os.getenv("METRICS_ADVISOR_SUBSCRIPTION_KEY")
api_key = os.getenv("METRICS_ADVISOR_API_KEY")
detection_configuration_id = os.getenv("METRICS_ADVISOR_DETECTION_CONFIGURATION_ID")
incident_id = os.getenv("METRICS_ADVISOR_INCIDENT_ID")
client = MetricsAdvisorClient(service_endpoint,
MetricsAdvisorKeyCredential(subscription_key, api_key))
results = client.list_incident_root_causes(
detection_configuration_id=detection_configuration_id,
incident_id=incident_id,
)
for result in results:
print("Score: {}".format(result.score))
print("Description: {}".format(result.description))
list_incidents
Query incidents under a specific alert or detection configuration.
list_incidents(alert_configuration_id, alert_id, **kwargs)
Parameters
- alert_configuration_id
- str
anomaly alerting configuration unique id.
- alert_id
- str
alert id.
- detection_configuration_id
- str
anomaly detection configuration unique id.
- datetime.datetime] start_time
- <xref:Union>[<xref:str,>
start time filter under chosen time mode.
- datetime.datetime] end_time
- <xref:Union>[<xref:str,>
end time filter under chosen time mode.
- skip
- int
Returns
AnomalyIncidents under a specific alert or detection configuration.
Return type
Exceptions
list_metric_dimension_values
List dimension from certain metric.
list_metric_dimension_values(metric_id: str, dimension_name: str, **kwargs: Any) -> ItemPaged[str]
Parameters
- skip
- int
- dimension_value_filter
- str
dimension value to be filtered.
Returns
Dimension from certain metric.
Return type
Exceptions
Examples
Query metric dimension values.
from azure.ai.metricsadvisor import MetricsAdvisorKeyCredential, MetricsAdvisorClient
service_endpoint = os.getenv("METRICS_ADVISOR_ENDPOINT")
subscription_key = os.getenv("METRICS_ADVISOR_SUBSCRIPTION_KEY")
api_key = os.getenv("METRICS_ADVISOR_API_KEY")
metric_id = os.getenv("METRICS_ADVISOR_METRIC_ID")
dimension_name = "city"
client = MetricsAdvisorClient(service_endpoint,
MetricsAdvisorKeyCredential(subscription_key, api_key))
results = client.list_metric_dimension_values(
metric_id=metric_id,
dimension_name=dimension_name,
)
for result in results:
print(str(result))
list_metric_enriched_series_data
Query series enriched by anomaly detection.
list_metric_enriched_series_data(detection_configuration_id: str, series: Union[List[SeriesIdentity], List[Dict[str, str]]], start_time: Union[str, datetime.datetime], end_time: Union[str, datetime.datetime], **kwargs: Any) -> ItemPaged[MetricEnrichedSeriesData]
Parameters
- datetime.datetime] start_time
- <xref:Union>[<xref:str,>
start time filter under chosen time mode.
- datetime.datetime] end_time
- <xref:Union>[<xref:str,>
end time filter under chosen time mode.
Returns
Pageable of MetricEnrichedSeriesData
Return type
Exceptions
Examples
Query metric enriched series data.
import datetime
from azure.ai.metricsadvisor import MetricsAdvisorKeyCredential, MetricsAdvisorClient
service_endpoint = os.getenv("METRICS_ADVISOR_ENDPOINT")
subscription_key = os.getenv("METRICS_ADVISOR_SUBSCRIPTION_KEY")
api_key = os.getenv("METRICS_ADVISOR_API_KEY")
detection_configuration_id = os.getenv("METRICS_ADVISOR_DETECTION_CONFIGURATION_ID")
series_identity = {"city": "Los Angeles"}
client = MetricsAdvisorClient(service_endpoint,
MetricsAdvisorKeyCredential(subscription_key, api_key))
results = client.list_metric_enriched_series_data(
detection_configuration_id=detection_configuration_id,
start_time=datetime.datetime(2020, 9, 1),
end_time=datetime.datetime(2020, 11, 1),
series=[series_identity]
)
for result in results:
print(str(result))
list_metric_enrichment_status
Query anomaly detection status.
list_metric_enrichment_status(metric_id: str, start_time: Union[str, datetime.datetime], end_time: Union[str, datetime.datetime], **kwargs: Any) -> ItemPaged[EnrichmentStatus]
Parameters
- datetime.datetime] start_time
- <xref:Union>[<xref:str,>
start time filter under chosen time mode.
- datetime.datetime] end_time
- <xref:Union>[<xref:str,>
end time filter under chosen time mode.
- skip
- int
Returns
Anomaly detection status.
Return type
Exceptions
Examples
Query metric enrichment status.
import datetime
from azure.ai.metricsadvisor import MetricsAdvisorKeyCredential, MetricsAdvisorClient
service_endpoint = os.getenv("METRICS_ADVISOR_ENDPOINT")
subscription_key = os.getenv("METRICS_ADVISOR_SUBSCRIPTION_KEY")
api_key = os.getenv("METRICS_ADVISOR_API_KEY")
metric_id = os.getenv("METRICS_ADVISOR_METRIC_ID")
client = MetricsAdvisorClient(service_endpoint,
MetricsAdvisorKeyCredential(subscription_key, api_key))
results = client.list_metric_enrichment_status(
metric_id=metric_id,
start_time=datetime.datetime(2020, 1, 1),
end_time=datetime.datetime(2020, 10, 21),
)
for result in results:
print(str(result))
list_metric_series_data
Get time series data from metric.
list_metric_series_data(metric_id: str, series_keys: List[Dict[str, str]], start_time: Union[str, datetime.datetime], end_time: Union[str, datetime.datetime], **kwargs: Any) -> ItemPaged[MetricSeriesData]
Parameters
- datetime.datetime] start_time
- <xref:Union>[<xref:str,>
start time filter under chosen time mode.
- datetime.datetime] end_time
- <xref:Union>[<xref:str,>
end time filter under chosen time mode.
Returns
Time series data from metric.
Return type
Exceptions
Examples
Query metrics series data.
import datetime
from azure.ai.metricsadvisor import MetricsAdvisorKeyCredential, MetricsAdvisorClient
service_endpoint = os.getenv("METRICS_ADVISOR_ENDPOINT")
subscription_key = os.getenv("METRICS_ADVISOR_SUBSCRIPTION_KEY")
api_key = os.getenv("METRICS_ADVISOR_API_KEY")
metric_id = os.getenv("METRICS_ADVISOR_METRIC_ID")
client = MetricsAdvisorClient(service_endpoint,
MetricsAdvisorKeyCredential(subscription_key, api_key))
results = client.list_metric_series_data(
metric_id=metric_id,
start_time=datetime.datetime(2020, 1, 1),
end_time=datetime.datetime(2020, 10, 21),
series_keys=[
{"city": "Los Angeles", "category": "Homemade"}
]
)
for result in results:
print(str(result))
list_metric_series_definitions
List series (dimension combinations) from metric.
list_metric_series_definitions(metric_id: str, active_since: datetime.datetime, **kwargs: Any) -> ItemPaged[MetricSeriesDefinition]
Parameters
- active_since
- datetime
Required. query series ingested after this time, the format should be yyyy-MM-ddTHH:mm:ssZ.
- skip
- int
Returns
Series (dimension combinations) from metric.
Return type
Exceptions
Examples
Query metric series definitions.
import datetime
from azure.ai.metricsadvisor import MetricsAdvisorKeyCredential, MetricsAdvisorClient
service_endpoint = os.getenv("METRICS_ADVISOR_ENDPOINT")
subscription_key = os.getenv("METRICS_ADVISOR_SUBSCRIPTION_KEY")
api_key = os.getenv("METRICS_ADVISOR_API_KEY")
metric_id = os.getenv("METRICS_ADVISOR_METRIC_ID")
client = MetricsAdvisorClient(service_endpoint,
MetricsAdvisorKeyCredential(subscription_key, api_key))
results = client.list_metric_series_definitions(
metric_id=metric_id,
active_since=datetime.datetime(2020, 1, 1),
)
for result in results:
print(str(result))
Feedback
Submit and view feedback for