Monitor Azure AI Video Indexer

When you have critical applications and business processes relying on Azure resources, you want to monitor those resources for their availability, performance, and operation.

This article describes the monitoring data generated by Azure AI Video Indexer. Azure AI Video Indexer uses Azure Monitor. If you're unfamiliar with the features of Azure Monitor common to all Azure services that use it, read Monitoring Azure resources with Azure Monitor.

Some services in Azure have a special focused prebuilt monitoring dashboard in the Azure portal that provides a starting point for monitoring your service. These special dashboards are called "insights."

Note

The monitoring feature is not available for trial accounts. To update to an ARM account, see the Update your Azure AI Video Indexer account.

Monitoring data

Azure AI Video Indexer collects the same kinds of monitoring data as other Azure resources that are described in Monitoring data from Azure resources.

See Monitoring Azure AI Video Indexer data reference for detailed information on the metrics and logs metrics created by Azure AI Video Indexer.

Collection and routing

Activity logs are collected and stored automatically, but can be routed to other locations by using a diagnostic setting.

Resource Logs aren't collected and stored until you create a diagnostic setting and route them to one or more locations.

See Create diagnostic setting to collect platform logs and metrics in Azure for the detailed process for creating a diagnostic setting using the Azure portal, CLI, or PowerShell. When you create a diagnostic setting, you specify which categories of logs to collect. The categories for Azure AI Video Indexer are listed in Azure AI Video Indexer monitoring data reference.

Category Description
Audit Read/Write operations
Indexing Logs Monitor the indexing process from upload to indexing and Reindexing when needed

Screenshot of diagnostic settings.

Screenshot of where to send lots.

The metrics and logs you can collect are discussed in the following sections.

Analyzing metrics

Currently Azure AI Video Indexer doesn't support monitoring of metrics.

Analyzing logs

Data in Azure Monitor Logs is stored in tables where each table has its own set of unique properties.

All resource logs in Azure Monitor have the same fields followed by service-specific fields. The common schema is outlined in Azure Monitor resource log schema The schema for Azure AI Video Indexer resource logs is found in the Azure AI Video Indexer Data Reference

The Activity log is a type of platform sign-in Azure that provides insight into subscription-level events. You can view it independently or route it to Azure Monitor Logs, where you can do much more complex queries using Log Analytics.

For a list of the types of resource logs collected for Azure AI Video Indexer, see Monitoring Azure AI Video Indexer data reference

Sample Kusto queries

Important

When you select Logs from the Azure AI Video Indexer account menu, Log Analytics is opened with the query scope set to the current Azure AI Video Indexer account. This means that log queries will only include data from that resource. If you want to run a query that includes data from other Azure AI Video Indexer account or data from other Azure services, select Logs from the Azure Monitor menu. See Log query scope and time range in Azure Monitor Log Analytics for details.

Following are queries that you can use to help you monitor your Azure AI Video Indexer account.

// Project failures summarized by operationName and Upn, aggregated in 30m windows.
VIAudit
| where Status == "Failure"
| summarize count() by OperationName, bin(TimeGenerated, 30m), Upn
| render timechart  
// Project failures with detailed error message.
VIAudit
| where  Status == "Failure"
| parse Description with "ErrorType: " ErrorType ". Message: " ErrorMessage ". Trace" *
| project TimeGenerated, OperationName, ErrorMessage, ErrorType, CorrelationId, _ResourceId
// Display Video Indexer Account logs of all failed indexing operations. 
VIIndexing
// | where AccountId == "<AccountId>"  // to filter on a specific accountId, uncomment this line
| where Status == "Failure"
| summarize count() by bin(TimeGenerated, 1d)
| render columnchart
// Video Indexer top 10 users by operations 
// Render timechart of top 10 users by operations, with an optional account id for filtering. 
// Trend of top 10 active Upn's
VIIndexing
// | where AccountId == "<AccountId>"  // to filter on a specific accountId, uncomment this line
| where OperationName in ("IndexingStarted", "ReindexingStarted")
| summarize count() by Upn
| top 10 by count_ desc
| project Upn
| join (VIIndexing
| where TimeGenerated > ago(30d)
| where OperationName in ("IndexingStarted", "ReindexingStarted")
| summarize count() by Upn, bin(TimeGenerated,1d)) on Upn
| project TimeGenerated, Upn, count_
| render timechart

Alerts

Azure Monitor alerts proactively notify you when important conditions are found in your monitoring data. They allow you to identify and address issues in your system before your customers notice them. You can set alerts on metrics, logs, and the activity log. Different types of alerts have benefits and drawbacks.

The following table lists common and recommended alert rules for Azure AI Video Indexer.

Alert type Condition Description
Log Alert Failed operation Send an alert when an upload failed
//All failed uploads, aggregated in one hour window.
VIAudit
| where OperationName == "Upload-Video" and Status == "Failure"
| summarize count() by bin(TimeGenerated, 1h)