Compartilhar via


Tutorial: Monitorar os contêineres do Windows no Service Fabric usando logs do Azure Monitor

Essa é a parte três de um tutorial e explica como configurar os logs do Azure Monitor para monitorar seus contêineres do Windows organizados no Service Fabric.

Neste tutorial, você aprenderá como:

  • Configurar logs do Azure Monitor para seu cluster do Service Fabric
  • Usar um espaço de trabalho do Log Analytics para exibir e consultar logs dos seus contêineres e nós
  • Configurar o agente do Log Analytics para selecionar métricas de contêiner e de nó

Pré-requisitos

Antes de iniciar este tutorial, você deverá:

Configurando os logs do Azure Monitor com o cluster no modelo do Resource Manager

Caso você tenha usado o modelo fornecido na primeira parte deste tutorial, ele deverá incluir as seguintes adições a um modelo genérico do Azure Resource Manager do Service Fabric. Caso você tenha um cluster próprio que deseja configurar para monitorar contêineres com logs do Azure Monitor:

  • Faça as seguintes alterações em seu modelo do Resource Manager.
  • Implante-o usando o PowerShell para atualizar seu cluster implantando o modelo. O Azure Resource Manager detecta que o recurso existe, então ele o lançará como uma atualização.

Adição de logs do Azure Monitor para o modelo de cluster

Faça as seguintes alterações no seu template.json:

  1. Adicione o local do espaço de trabalho do Log Analytics e um nome à sua seção parâmetros:

    "omsWorkspacename": {
      "type": "string",
      "defaultValue": "[toLower(concat('sf',uniqueString(resourceGroup().id)))]",
      "metadata": {
        "description": "Name of your Log Analytics Workspace"
      }
    },
    "omsRegion": {
      "type": "string",
      "defaultValue": "East US",
      "allowedValues": [
        "West Europe",
        "East US",
        "Southeast Asia"
      ],
      "metadata": {
        "description": "Specify the Azure Region for your Log Analytics workspace"
      }
    }
    

    Para alterar o valor usado para qualquer um, adicione os mesmos parâmetros ao seu template.parameters.json e altere os valores usados lá.

  2. Adicione o nome da solução e a solução às suas variáveis:

    "omsSolutionName": "[Concat('ServiceFabric', '(', parameters('omsWorkspacename'), ')')]",
    "omsSolution": "ServiceFabric"
    
  3. Adicione o Microsoft Monitoring Agent como uma extensão da máquina virtual. Encontre recursos de conjuntos de dimensionamento de máquinas virtuais: recursos>"apiVersion": "[variables('vmssApiVersion')]". Em propriedades>virtualMachineProfile>extensionProfile>extensões, adicione a seguinte descrição de extensão na extensão ServiceFabricNode:

    {
        "name": "[concat(variables('vmNodeType0Name'),'OMS')]",
        "properties": {
            "publisher": "Microsoft.EnterpriseCloud.Monitoring",
            "type": "MicrosoftMonitoringAgent",
            "typeHandlerVersion": "1.0",
            "autoUpgradeMinorVersion": true,
            "settings": {
                "workspaceId": "[reference(resourceId('Microsoft.OperationalInsights/workspaces/', parameters('omsWorkspacename')), '2015-11-01-preview').customerId]"
            },
            "protectedSettings": {
                "workspaceKey": "[listKeys(resourceId('Microsoft.OperationalInsights/workspaces/', parameters('omsWorkspacename')),'2015-11-01-preview').primarySharedKey]"
            }
        }
    },
    
  4. Adicione o espaço de trabalho do Log Analytics como um recurso individual. Em recursos, depois do recurso dos conjuntos de dimensionamento de máquinas virtuais, adicione o seguinte:

    {
        "apiVersion": "2015-11-01-preview",
        "location": "[parameters('omsRegion')]",
        "name": "[parameters('omsWorkspacename')]",
        "type": "Microsoft.OperationalInsights/workspaces",
        "properties": {
            "sku": {
                "name": "Free"
            }
        },
        "resources": [
            {
                "apiVersion": "2015-11-01-preview",
                "name": "[concat(variables('applicationDiagnosticsStorageAccountName'),parameters('omsWorkspacename'))]",
                "type": "storageinsightconfigs",
                "dependsOn": [
                    "[concat('Microsoft.OperationalInsights/workspaces/', parameters('omsWorkspacename'))]",
                    "[concat('Microsoft.Storage/storageAccounts/', variables('applicationDiagnosticsStorageAccountName'))]"
                ],
                "properties": {
                    "containers": [ ],
                    "tables": [
                        "WADServiceFabric*EventTable",
                        "WADWindowsEventLogsTable",
                        "WADETWEventTable"
                    ],
                    "storageAccount": {
                        "id": "[resourceId('Microsoft.Storage/storageaccounts/', variables('applicationDiagnosticsStorageAccountName'))]",
                        "key": "[listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('applicationDiagnosticsStorageAccountName')),'2015-06-15').key1]"
                    }
                }
            },
            {
                "apiVersion": "2015-11-01-preview",
                "name": "System",
                "type": "datasources",
                "dependsOn": [
                    "[concat('Microsoft.OperationalInsights/workspaces/', parameters('omsWorkspacename'))]"
                ],
                "kind": "WindowsEvent",
                "properties": {
                    "eventLogName": "System",
                    "eventTypes": [
                        {
                            "eventType": "Error"
                        },
                        {
                            "eventType": "Warning"
                        },
                        {
                            "eventType": "Information"
                        }
                    ]
                }
            }
        ]
    },
    {
        "apiVersion": "2015-11-01-preview",
        "location": "[parameters('omsRegion')]",
        "name": "[variables('omsSolutionName')]",
        "type": "Microsoft.OperationsManagement/solutions",
        "dependsOn": [
            "[concat('Microsoft.OperationalInsights/workspaces/', parameters('OMSWorkspacename'))]"
        ],
        "properties": {
            "workspaceResourceId": "[resourceId('Microsoft.OperationalInsights/workspaces/', parameters('omsWorkspacename'))]"
        },
        "plan": {
            "name": "[variables('omsSolutionName')]",
            "publisher": "Microsoft",
            "product": "[Concat('OMSGallery/', variables('omsSolution'))]",
            "promotionCode": ""
        }
    },
    

Veja um modelo de exemplo (usado na parte um deste tutorial) que tem todas essas alterações que você pode referenciar conforme necessário. Essas alterações adicionam um espaço de trabalho Log Analytics ao seu grupo de recursos. O espaço de trabalho está configurado para coletar eventos da plataforma Service Fabric das tabelas de armazenamento configuradas com o agente Windows Azure Diagnostics. O agente do Log Analytics (Microsoft Monitoring Agent) também foi adicionado a cada nó no cluster como uma extensão de máquina virtual – isso significa que, enquanto você dimensiona seu cluster, o agente é configurado automaticamente em cada computador e conectado ao mesmo workspace.

Implante o modelo com suas novas alterações para atualizar seu cluster atual. Você poderá ver os recursos do Log Analytics no seu grupo de recursos quando tiver terminado. Quando o cluster estiver pronto, implante seu aplicativo em contêiner nele. Na próxima etapa, configuramos o monitoramento dos contêineres.

Adicione a Solução de monitoramento de contêiner ao seu espaço de trabalho do Log Analytics

Para configurar a solução de contêiner no workspace, pesquise Solução de monitoramento de contêiner e crie um recurso de contêineres (na categoria Monitoramento + gerenciamento).

Adicionando a solução de Contêineres

Quando o workspace do Log Analytics for solicitado, selecione o espaço de trabalho que foi criado no seu grupo de recursos e selecione Criar. Isso adiciona uma Solução de Monitoramento de Contêiner ao seu workspace, iniciando o agente do Log Analytics implantado pelo modelo para começar a coletar estatísticas e logs do Docker.

Navegue de volta para seu grupo de recursos, em que você deverá ver a solução de monitoramento recém-adicionada. Se você selecioná-la, a página de aterrissagem deverá mostrar o número de imagens de contêiner que você tem em execução.

Observe que executamos cinco instâncias do contêiner fabrikam da parte dois do tutorial

Página de aterrissagem da solução do contêiner

Selecionar a Solução Container Monitor leva você a um painel mais detalhado, que permite rolar por vários painéis, bem como executar consultas nos logs do Azure Monitor.

Como o agente está selecionando logs do Docker, o padrão é definido como mostrar stdout e stderr. Se você rolar horizontalmente, verá inventário de imagens de contêiner, status, métricas e exemplos de consultas que podem ser executadas para obter dados mais úteis.

Painel da solução do contêiner

A seleção de qualquer um desses painéis leva você à consulta Kusto que está gerando o valor exibido. Altere a consulta para * para ver todos os diferentes tipos de logs estão sendo selecionados. Aqui é possível consultar ou filtrar o desempenho do contêiner, os logs ou examinar os eventos de plataforma do Service Fabric. Seus agentes também estarão constantemente emitindo uma pulsação em cada nó que você poderá examinar para se certificar de que os dados estejam sendo coletados de todos os seus computadores se a configuração do seu cluster for alterada.

Consulta do contêiner

Configurar o agente do Log Analytics para selecionar os contadores de desempenho

Outro benefício de usar o agente do Log Analytics é a capacidade de alterar os contadores de desempenho que você deseja selecionar por meio da experiência de interface do usuário do Log Analytics em vez de ter que configurar o agente de diagnóstico do Azure e fazer uma atualização baseada no modelo do Resource Manager todas as vezes. Para fazer isso, selecione Workspace do OMS na página de aterrissagem de sua solução de Monitoramento de Contêiner (ou do Service Fabric).

Isso leva-o ao seu espaço de trabalho Log Analytics, onde pode visualizar as suas soluções, criar dashboards personalizados, bem como configurar o agente Log Analytics.

  • Selecione Configurações Avançadas para abrir o menu Configurações Avançadas.
  • Selecione Fontes Conectadas>Servidores Windows para verificar se você tem 5 Computadores Windows conectados.
  • Selecione Dados>Contadores de Desempenho do Windows para pesquisar e adicionar novos contadores de desempenho. Aqui você verá uma lista de recomendações dos logs do Azure Monitor para contadores de desempenho que você pode coletar, bem como a opção de procurar outros contadores. Verifique se os contadores Processador(_Total) Tempo de Processador e Memória(*)\MBytes Disponíveis estão sendo coletados.

Atualize sua solução de monitoramento de contêiner em alguns minutos e você deverá começar a ver os dados de desempenho do computador chegando. Isso ajuda você a entender como seus recursos estão sendo usados. Também é possível usar essas métricas para tomar decisões apropriadas sobre como dimensionar seu cluster ou para confirmar se um cluster está balanceando a carga conforme o esperado.

Observação: certifique-se de que os filtros de tempo estão definidos adequadamente para você consumir essas métricas.

Contadores de desempenho 2

Próximas etapas

Neste tutorial, você aprendeu a:

  • Configurar logs do Azure Monitor para seu cluster do Service Fabric
  • Usar um espaço de trabalho do Log Analytics para exibir e consultar logs dos seus contêineres e nós
  • Configurar o agente do Log Analytics para selecionar métricas de contêiner e de nó

Agora que você configurou o monitoramento para seu aplicativo em contêineres, experimente:

  • Configurar os logs do Azure Monitor para um cluster do Linux, seguindo etapas semelhantes que as deste tutorial. Referencie este modelo para fazer alterações no seu modelo do Resource Manager.
  • Configure os logs do Azure Monitor para definir alertas automatizados para auxiliar na detecção e no diagnóstico.
  • Explorar a lista de contadores de desempenho recomendados do Service Fabric a serem configurados para seus clusters.
  • Familiarize-se com os recursos de pesquisa e consulta de logs oferecidos como parte dos logs do Azure Monitor.