Compartilhar via


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

Esta é a terceira parte de um tutorial e orienta você na configuração dos logs do Azure Monitor para monitorar seus contêineres do Windows orquestrados no Service Fabric.

Neste tutorial, irá aprender a:

  • Configurar logs do Azure Monitor para seu cluster do Service Fabric
  • Utilizar uma área de trabalho do Log Analytics para ver e consultar os registos de contentores e nós
  • Configurar o agente do Log Analytics para recolher métricas de contentores e nós

Pré-requisitos

Antes de começar este tutorial, tem de:

Configurar os logs do Azure Monitor com seu cluster no modelo do Gerenciador de Recursos

Caso tenha utilizado o modelo disponibilizado na primeira parte deste tutorial, o mesmo deveria incluir as adições seguintes aos modelos do Azure Resource Manager genéricos 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 alterações seguintes ao modelo do Resource Manager.
  • Implemente-o com o PowerShell para atualizar o cluster mediante a implementação do modelo. O Azure Resource Manager apercebe-se de que o recurso existe, pelo que o implementa como uma atualização.

Adicionando logs do Azure Monitor ao seu modelo de cluster

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

  1. Adicione a localização e o nome da área de trabalho do Log Analytics à secção parameters:

    "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 um dos dois valores utilizados, adicione os mesmos parâmetros ao template.parameters.json e altere os valores utilizados aí.

  2. Adicione o nome da solução e a solução a variables:

    "omsSolutionName": "[Concat('ServiceFabric', '(', parameters('omsWorkspacename'), ')')]",
    "omsSolution": "ServiceFabric"
    
  3. Adicione o Microsoft Monitoring Agent como uma extensão da máquina virtual. Encontre conjuntos de escala de máquina virtual resource: resources>"apiVersion": "[variables('vmssApiVersion')]". Em properties>virtualMachineProfile>extensionProfile>extensions, adicione a descrição de extensão seguinte 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 a área de trabalho do Log Analytics como recurso individual. Em resources, a seguir ao recurso de 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": ""
        }
    },
    

Está disponível aqui um modelo de exemplo (utilizado na primeira parte do tutorial) que tem todas estas alterações e que pode consultar sempre que necessário. Essas alterações adicionam um espaço de trabalho do Log Analytics ao seu grupo de recursos. O espaço de trabalho é configurado para coletar eventos da plataforma Service Fabric das tabelas de armazenamento configuradas com o agente de Diagnóstico do Windows Azure. O agente do Log Analytics (Microsoft Monitoring Agent) também foi adicionado a cada nó do seu cluster como extensão de máquina virtual, o que significa que, à medida que dimensiona o cluster, o agente é configurado automaticamente em cada máquina e ligado à mesma área de trabalho.

Implemente o modelo com as alterações novas para atualizar o seu cluster atual. Você verá os recursos de análise de log em seu grupo de recursos assim que isso for concluído. Quando o cluster estiver pronto, implemente a aplicação contentorizada no mesmo. Na etapa seguinte, configuramos o monitoramento dos contêineres.

Adicionar a solução de Monitorização de Contentores à sua área de trabalho do Log Analytics

Para configurar a solução de Contentores na sua área de trabalho, procure Solução de Monitorização de Contentores e crie um recurso Contentores (na categoria Monitorização + Gestão).

Adicionar a solução de Contentores

Quando solicitado para o espaço de trabalho do Log Analytics, 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 espaço de trabalho, iniciando o agente do Log Analytics implantado pelo modelo para começar a coletar logs e estatísticas do docker.

Navegue de volta para o grupo de recursos, onde deverá ver agora a solução de monitorização acabada de adicionar. Se você selecioná-lo, a página de destino deve 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 destino da solução de contentor

A seleção da Solução de Monitor de Contêiner leva você a um painel mais detalhado, que permite percorrer vários painéis, bem como executar consultas nos logs do Azure Monitor.

Uma vez que o agente recolhe registos do Docker, mostra stdout e stderr como predefinição. Se você rolar horizontalmente, verá o inventário de imagens de contêiner, status, métricas e consultas de exemplo que você poderia executar para obter dados mais úteis.

Dashboard da solução de Contentores

A seleção de qualquer um desses painéis leva você à consulta Kusto que está gerando o valor exibido. Altere a consulta para * de modo a ver todos os diferentes tipos de registos que estão a ser recolhidos. Aqui, pode consultar ou filtrar por desempenho do contentor ou por registos ou ver eventos da plataforma do Service Fabric. Os agentes também estão constantemente a emitir um heartbeat de cada nó e que pode ver para confirmar que ainda estão a ser recolhidos dados das suas máquinas, caso a configuração do seu cluster se altere.

Consulta do contentor

Configurar o agente do Log Analytics para recolher contadores de desempenho

Outro benefício de usar o agente do Log Analytics é a capacidade de alterar os contadores de desempenho que você deseja obter por meio da experiência da interface do usuário de análise de log, em vez de ter que configurar o agente de diagnóstico do Azure e fazer uma atualização baseada em modelo do Resource Manager a cada vez. Para fazer isso, selecione no Espaço de trabalho do OMS na página inicial da sua solução de monitoramento de contêiner (ou Service Fabric).

Isso leva você ao seu espaço de trabalho do Log Analytics, onde você pode visualizar suas soluções, criar painéis personalizados, bem como configurar o agente do Log Analytics.

  • Selecione Configurações avançadas para abrir o menu Configurações avançadas.
  • Selecione Servidores Windows de Fontes Conectadas>para verificar se você tem 5 Computadores Windows Conectados.
  • Selecione Contadores de Desempenho do Windows de Dados>para procurar 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 pesquisar outros contadores. Verifique se os contadores Processor(_Total)% Processor Time and Memory(*)\Available MBytes estão sendo coletados.

Atualize sua Solução de Monitoramento de Contêiner em alguns minutos e você deve 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 pode utilizar estas métricas para tomar decisões adequadas relativamente ao dimensionamento do seu cluster ou para confirmar se um cluster está a balancear a sua carga conforme esperado.

Nota: certifique-se de que os seus filtros de hora estão definidos corretamente para poder consumir estas métricas.

Contadores de desempenho 2

Próximos passos

Neste tutorial, ficou a saber como:

  • Configurar logs do Azure Monitor para seu cluster do Service Fabric
  • Utilizar uma área de trabalho do Log Analytics para ver e consultar os registos de contentores e nós
  • Configurar o agente do Log Analytics para recolher métricas de contentores e nós

Agora que você configurou o monitoramento para seu aplicativo em contêiner, tente:

  • Configurar os logs do Azure Monitor para um cluster Linux, seguindo etapas semelhantes a este tutorial. Veja este modelo para fazer alterações ao seu modelo do Resource Manager.
  • Configure os logs do Azure Monitor para configurar alertas automatizados para ajudar na deteção e diagnóstico.
  • Explorar a lista de contadores de desempenho recomendados do Service Fabric a configurar para os seus clusters.
  • Familiarize-se com os recursos de pesquisa e consulta de log oferecidos como parte dos logs do Azure Monitor.