MetricsAdvisorClient Class
Represents an client that calls restful API of Azure Metrics Advisor service.
- Inheritance
-
builtins.objectMetricsAdvisorClient
Constructor
MetricsAdvisorClient(endpoint: str, credential: Union[MetricsAdvisorKeyCredential, AsyncTokenCredential], **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.
async add_feedback(feedback: FeedbackUnion, **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
from azure.ai.metricsadvisor.aio import 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")
await 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")
await 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")
await 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)
await client.add_feedback(period_feedback)
close
get_feedback
Get a metric feedback by its id.
async 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
from azure.ai.metricsadvisor.aio import 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 = await 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: Union[str, datetime.datetime], end_time: Union[str, datetime.datetime], time_mode: Union[str, azure.ai.metricsadvisor._generated.models._microsoft_azure_metrics_advisor_restapi_open_ap_iv2_enums.TimeMode], **kwargs: Any) -> azure.core.async_paging.AsyncItemPaged[azure.ai.metricsadvisor.models._models.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
from azure.ai.metricsadvisor.aio import 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))
async with client:
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 = []
async 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: str, alert_id: str, **kwargs: Any) -> AsyncItemPaged[DataPointAnomaly]
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) -> azure.core.async_paging.AsyncItemPaged[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
from azure.ai.metricsadvisor.aio import 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))
async with client:
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),
)
async for result in results:
print(str(result))
list_feedback
List feedback on the given metric.
list_feedback(metric_id: str, **kwargs: Any) -> AsyncItemPaged[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
from azure.ai.metricsadvisor.aio import 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)
async 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) -> azure.core.async_paging.AsyncItemPaged[azure.ai.metricsadvisor.models._models.IncidentRootCause]
Parameters
Returns
Pageable of root cause for incident
Return type
Exceptions
Examples
Query incident root causes.
from azure.ai.metricsadvisor import MetricsAdvisorKeyCredential
from azure.ai.metricsadvisor.aio import 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))
async with client:
results = client.list_incident_root_causes(
detection_configuration_id=detection_configuration_id,
incident_id=incident_id,
)
async 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: str, alert_id: str, **kwargs: Any) -> AsyncItemPaged[AnomalyIncident]
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.
Return type
Exceptions
list_metric_dimension_values
List dimension from certain metric.
list_metric_dimension_values(metric_id: str, dimension_name: str, **kwargs: Any) -> azure.core.async_paging.AsyncItemPaged[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
from azure.ai.metricsadvisor.aio import 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))
async with client:
results = client.list_metric_dimension_values(
metric_id=metric_id,
dimension_name=dimension_name,
)
async 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[azure.ai.metricsadvisor._generated.models._models_py3.SeriesIdentity], List[Dict[str, str]]], start_time: Union[str, datetime.datetime], end_time: Union[str, datetime.datetime], **kwargs: Any) -> azure.core.async_paging.AsyncItemPaged[azure.ai.metricsadvisor.models._models.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
from azure.ai.metricsadvisor.aio import 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))
async with client:
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]
)
async 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) -> AsyncItemPaged[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
from azure.ai.metricsadvisor.aio import 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))
async with client:
results = client.list_metric_enrichment_status(
metric_id=metric_id,
start_time=datetime.datetime(2020, 1, 1),
end_time=datetime.datetime(2020, 10, 21),
)
async 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) -> azure.core.async_paging.AsyncItemPaged[azure.ai.metricsadvisor.models._models.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
from azure.ai.metricsadvisor.aio import 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))
async with client:
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"}
]
)
async 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) -> AsyncItemPaged[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
from azure.ai.metricsadvisor.aio import 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))
async with client:
results = client.list_metric_series_definitions(
metric_id=metric_id,
active_since=datetime.datetime(2020, 1, 1),
)
async for result in results:
print(str(result))
Feedback
Submit and view feedback for