Compartilhar via


Assinar eventos gerados pelas Notificações de Recursos do Azure – Tópico do sistema de Recursos de Eventos do ContainerService (versão prévia)

Este artigo explica as etapas necessárias para assinar eventos publicados por Notificações de Recursos do Azure – Recursos de Eventos do ContainerService. Para obter informações detalhadas sobre esses eventos, consulte Notificações de Recursos do Azure – Recursos de Eventos do ContainerService.

Criar tópico do sistema de Recursos de Integridade

  1. Defina a conta para a assinatura do Azure em que você deseja criar o tópico do sistema.

    az account set –s AZURESUBSCRIPTIONID
    
  2. Crie um tópico do sistema do tipo microsoft.resourcenotifications.containerserviceeventresources usando o comando az eventgrid system-topic create.

    az eventgrid system-topic create --name SYSTEMTOPICNAME --resource-group RESOURCEGROUPNAME --source /subscriptions/AZURESUBSCRIPTIONID --topic-type microsoft.resourcenotifications.containerserviceeventresources --location Global        
    

Assinar eventos

Crie uma assinatura de evento para o tópico acima usando o comando az eventgrid system-topic event-subscription create.

O comando de exemplo a seguir cria uma assinatura de evento para o evento ScheduledEventEmitted.

az eventgrid system-topic event-subscription create --name EVENTSUBSCRIPTIONNAME --resource-group RESOURCEGROUPNAME --system-topic-name SYSTEMTOPICNAME –included-event-types Microsoft.ResourceNotifications.ContainerServiceEventResources.ScheduledEventEmitted --endpoint /subscriptions/AZURESUBSCRIPTIONID/resourceGroups/RESOURCEGROUPNAME/providers/Microsoft.EventHub/namespaces/MYEVENTHUBSNAMESPACE/eventhubs/MYEVENTHUB --endpoint-type eventhub        

Se você não especificar included-event-types, todos os tipos de evento serão incluídos por padrão.

Para filtrar eventos de um recurso específico, use o parâmetro --subject-begins-with. O exemplo mostra como assinar eventos ScheduledEventsEmitted para recursos em um grupo de recursos especificado.

az eventgrid system-topic event-subscription create --name EVENTSUBSCRIPTIONNAME --resource-group RESOURCEGROUPNAME --system-topic-name SYSTEMTOPICNAME –included-event-types Microsoft.ResourceNotifications.ContainerServiceEventResources.ScheduledEventEmitted --endpoint /subscriptions/AZURESUBSCRIPTIONID/resourceGroups/RESOURCEGROUPNAME/providers/Microsoft.EventHub/namespaces/MYEVENTHUBSNAMESPACE/eventhubs/MYEVENTHUB --endpoint-type eventhub --subject-begins-with /subscriptions/AZURESUBSCRIPTIONID/resourceGroups/SOURCERESOURCEGROUP/  

Excluir assinatura de evento e tópico do sistema

Para excluir a assinatura de evento, use o comando az eventgrid system-topic event-subscription delete. Veja um exemplo:

az eventgrid system-topic event-subscription delete --name EVENTSUBSCRIPTIONNAME --resourcegroup RESOURCEGROUPNAME --system-topic-name SYSTEMTOPICNAME

Para excluir o tópico do sistema, use o comando az eventgrid system-topic delete. Veja um exemplo:

az eventgrid system-topic delete --name SYSTEMTOPICNAME --resource-group RESOURCEGROUPNAME

Exemplos de filtragem

Assinar eventos agendados do cluster de Kubernetes do Azure por um cluster específico

Talvez você queira filtrar os Eventos Agendados do Cluster de Kubernetes do Azure por um cluster específico no final do assinante. Essa filtragem ajuda a garantir que você receba apenas notificações de clusters que são de seu interesse.

az eventgrid system-topic event-subscription create \
 --name EVENTSUBSCRIPTIONNAME \
 --resource-group RESOURCEGROUPNAME \
 --system-topic-name SYSTEMTOPICNAME \
 --included-event-types Microsoft.ResourceNotifications.ContainerServiceEventResources.ScheduledEventEmitted \
 --endpoint /subscriptions/000000000-0000-0000-0000-0000000000000/resourceGroups/RESOURCEGROUPNAME/providers/Microsoft.EventHub/namespaces/EVENTHUBNAMESPACE/eventhubs/EVENTHUBNAME \
 --endpoint-type evenhub \
 --advanced-filter data.resourceInfo.properties.resources StringContains clusterName

Assinar eventos agendados do cluster de Kubernetes do Azure por status de evento "Concluído"

Talvez você queira filtrar os Eventos Agendados do Cluster de Kubernetes do Azure por um status específico, por exemplo, "Concluído" no final do assinante. Essa filtragem ajuda a garantir que você receba apenas notificações de eventos de seu interesse.

az eventgrid system-topic event-subscription create \
 --name EVENTSUBSCRIPTIONNAME \
 --resource-group RESOURCEGROUPNAME \
 --system-topic-name SYSTEMTOPICNAME \
 --included-event-types Microsoft.ResourceNotifications.ContainerServiceEventResources.ScheduledEventEmitted \
 --endpoint /subscriptions/000000000-0000-0000-0000-0000000000000/resourceGroups/RESOURCEGROUPNAME/providers/Microsoft.EventHub/namespaces/EVENTHUBNAMESPACE/eventhubs/EVENTHUBNAME \
 --endpoint-type evenhub \
 --advanced-filter data.resourceInfo.properties.eventStatus StringContains Completed

Fale conosco

Se você tiver dúvidas ou comentários sobre esse recursos, não hesite em nos contatar em arnsupport@microsoft.com.

Para ajudar você melhor com comentários específicos sobre um determinado evento, forneça as seguintes informações:

Para eventos ausentes:

  • Nome do tipo de tópico do sistema
  • Carimbo de data/hora aproximado em UTC quando a operação foi executada
  • ID do recurso base para a qual a notificação foi gerada
  • Navegue até o recurso no portal do Azure e selecione o modo de exibição JSON no canto superior direito. A ID do recurso é o primeiro campo na página de exibição JSON.
  • Tipo de evento esperado
  • Operação executada (por exemplo, VM iniciada ou interrompida, conta de armazenamento criada etc.)
  • Descrição do problema encontrado (por exemplo, VM iniciada e nenhum evento Microsoft.ResourceNotifications.HealthResources.AvailabilityStatusChanged gerado)
  • Se possível, forneça a ID de correlação da operação executada

Para o evento que foi atrasado ou tem conteúdo inesperado

  • Nome do tipo de tópico do sistema
  • Conteúdo inteiro da notificação excluindo data.resourceInfo.properties
  • Descrição do problema encontrado e valores de campo afetados

Verifique se você não está fornecendo informações identificáveis do usuário final enquanto compartilha esses dados.

Próximas etapas

Para obter informações detalhadas sobre esses eventos, consulte Notificações de Recursos do Azure – Eventos do ContainerService.