Partilhar via


Recolha do Syslog com as Informações do Contentor

O Container Insights oferece a capacidade de coletar eventos Syslog de nós Linux em seus clusters do Serviço Kubernetes (AKS) do Azure. Isto inclui a capacidade de recolher registos de componentes do plano de controlo, como kubelet. Os clientes também podem usar o Syslog para monitorar eventos de segurança e integridade, geralmente ingerindo syslog em um sistema SIEM como o Microsoft Sentinel.

Pré-requisitos

  • Você precisa ter a autenticação de identidade gerenciada habilitada no cluster. Para habilitar, consulte migrar seu cluster AKS para autenticação de identidade gerenciada. Nota: Habilitar a Identidade Gerenciada criará uma nova Regra de Coleta de Dados (DCR) chamada MSCI-<WorkspaceRegion>-<ClusterName>
  • A porta 28330 deve estar disponível no nó do host.
  • Versões mínimas dos componentes do Azure

Como ativar o Syslog

No portal do Azure

Navegue até o cluster. Abra a guia Insights do cluster. Abra o painel Configurações do monitor. Clique em Editar configurações de coleção e, em seguida, marque a caixa para Ativar coleção Syslog

Screen recording of syslog being enabled from the Azure portal through the Monitor Settings panel in Container Insights.

Utilizando comandos da CLI do Azure

Use o seguinte comando na CLI do Azure para habilitar a coleta syslog ao criar um novo cluster AKS.

az aks create -g syslog-rg -n new-cluster --enable-managed-identity --node-count 1 --enable-addons monitoring --enable-msi-auth-for-monitoring --enable-syslog --generate-ssh-key

Use o seguinte comando na CLI do Azure para habilitar a coleta syslog em um cluster AKS existente.

az aks enable-addons -a monitoring --enable-msi-auth-for-monitoring --enable-syslog -g syslog-rg -n existing-cluster

Utilizar modelos do ARM

Você também pode usar modelos ARM para habilitar a coleta de syslog

  1. Baixe o modelo no arquivo de conteúdo do GitHub e salve-o como existingClusterOnboarding.json.

  2. Baixe o arquivo de parâmetros no arquivo de conteúdo do GitHub e salve-o como existingClusterParam.json.

  3. Edite os valores no arquivo de parâmetro:

    • aksResourceId: Use os valores na página Visão geral do AKS para o cluster AKS.
    • aksResourceLocation: Use os valores na página Visão geral do AKS para o cluster AKS.
    • workspaceResourceId: use o ID do recurso do seu espaço de trabalho do Log Analytics.
    • resourceTagValues: Corresponder aos valores de tag existentes especificados para a DCR (regra de coleta de dados de extensão de informações de contêiner) existente do cluster e o nome do DCR. O nome será MSCI-clusterName-clusterRegion<><> e este recurso será criado num grupo de recursos de clusters AKS. Se esta for a primeira vez na integração, você poderá definir os valores de tag arbitrários.
    • enableSyslog: Definir como true
    • syslogLevels: Matriz de níveis de syslog a serem coletados. O padrão coleta todos os níveis.
    • syslogFacilities: Matriz de recursos syslog para coletar. O padrão coleta todos os recursos

Nota

Atualmente, a personalização do nível do Syslog e das instalações só está disponível por meio de modelos ARM.

Implementar o modelo

Implante o modelo com o arquivo de parâmetro usando qualquer método válido para implantar modelos do Gerenciador de Recursos. Para obter exemplos de métodos diferentes, consulte Implantar os modelos de exemplo.

Implementar com o Azure PowerShell

New-AzResourceGroupDeployment -Name OnboardCluster -ResourceGroupName <ResourceGroupName> -TemplateFile .\existingClusterOnboarding.json -TemplateParameterFile .\existingClusterParam.json

A alteração de configuração pode levar alguns minutos para ser concluída. Quando terminar, uma mensagem semelhante ao exemplo a seguir inclui esse resultado:

provisioningState       : Succeeded

Implementar com a CLI do Azure

az login
az account set --subscription "Subscription Name"
az deployment group create --resource-group <ResourceGroupName> --template-file ./existingClusterOnboarding.json --parameters @./existingClusterParam.json

A alteração de configuração pode levar alguns minutos para ser concluída. Quando terminar, uma mensagem semelhante ao exemplo a seguir inclui esse resultado:

provisioningState       : Succeeded

Como acessar os dados do Syslog

Acesso usando pastas de trabalho internas

Para obter um instantâneo rápido de seus dados syslog, os clientes podem usar nossa pasta de trabalho Syslog integrada. Há duas maneiras de acessar a pasta de trabalho interna.

Opção 1 - A guia Relatórios no Container Insights. Navegue até o cluster. Abra a guia Insights do cluster. Abra a guia Relatórios e procure a pasta de trabalho Syslog.

Video of Syslog workbook being accessed from Container Insights Reports tab.

Opção 2 - A guia Pastas de trabalho no AKS Navegue até o cluster. Abra a guia Pastas de trabalho do cluster e procure a pasta de trabalho Syslog.

Video of Syslog workbook being accessed from cluster workbooks tab.

Acesso usando um painel do Grafana

Os clientes podem usar nosso painel Syslog para Grafana para obter uma visão geral de seus dados Syslog. Os clientes que criarem uma nova instância do Grafana gerenciada pelo Azure terão esse painel disponível por padrão. Os clientes com instâncias existentes ou aqueles que executam sua própria instância podem importar o painel Syslog do mercado Grafana.

Nota

Você precisará ter a função Leitor de Monitoramento na Assinatura que contém a instância do Azure Managed Grafana para acessar o syslog do Container Insights.

Screenshot of Syslog Grafana dashboard.

Acesso usando consultas de log

Os dados do Syslog são armazenados na tabela Syslog no espaço de trabalho do Log Analytics. Você pode criar suas próprias consultas de log no Log Analytics para analisar esses dados ou usar qualquer uma das consultas pré-criadas.

Screenshot of Syslog query loaded in the query editor in the Azure Monitor Portal UI.

Você pode abrir o Log Analytics no menu Logs no menu Monitor para acessar os dados do Syslog para todos os clusters ou no menu do cluster AKs para acessar os dados do Syslog somente para esse cluster.

Screenshot of Query editor with Syslog query.

Consultas de amostra

A tabela a seguir fornece diferentes exemplos de consultas de log que recuperam registros Syslog.

Query Description
Syslog Todos os Syslogs
Syslog | where SeverityLevel == "error" Todos os registos Syslog com gravidade de erro
Syslog | summarize AggregatedValue = count() by Computer Contagem de registros Syslog por computador
Syslog | summarize AggregatedValue = count() by Facility Contagem de registros Syslog por instalação
Syslog | where ProcessName == "kubelet" Todos os registros Syslog do processo kubelet
Syslog | where ProcessName == "kubelet" and SeverityLevel == "error" Registros Syslog do processo kubelet com erros

Editando as configurações da coleção Syslog

Para modificar a configuração para sua coleção Syslog, modifique a regra de coleta de dados (DCR) que foi criada quando você a habilitou.

Selecione Regras de Coleta de Dados no menu Monitor no portal do Azure.

Screenshot of Data Collection Rules tab in the Azure Monitor portal UI.

Selecione o DCR e, em seguida, Exibir fontes de dados. Selecione a fonte de dados Linux Syslog para visualizar os detalhes da coleção Syslog .

Nota

Um DCR é criado automaticamente quando você ativa o syslog. O DCR segue a convenção MSCI-<WorkspaceRegion>-<ClusterName>de nomenclatura.

Screenshot of Data Sources tab for Syslog data collection rule.

Selecione o nível mínimo de log para cada recurso que você deseja coletar.

Screenshot of Configuration panel for Syslog data collection rule.

Próximos passos

Após a configuração, os clientes podem começar a enviar dados do Syslog para as ferramentas de sua escolha

Mais informações

Partilhe os seus comentários sobre esta funcionalidade aqui: https://forms.office.com/r/BBvCjjDLTS