Coleta de Syslog com Insights de Contêiner

Os Insights de Contêiner oferecem a capacidade de coletar os eventos de Syslog dos nós do Linux nos clusters do AKS (Azure Kubernetes Service). Isso inclui a capacidade de coletar logs de componentes do plano de controle, como kubelet. Os clientes podem também usar o Syslog para monitorar os eventos de segurança e integridade, normalmente ingerindo syslog em sistemas SIEM como o Microsoft Sentinel.

Pré-requisitos

Como ativar o Syslog

No portal do Azure

Navegue até o cluster AKS. Abra a guia Insights do cluster. Abra o painel Configurações do Monitor. Clique em Editar configurações de coleção e marque a caixa Habilitar coleção Syslog

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

Usando comandos da CLI do Azure

Use o comando a seguir na CLI do Azure para habilitar a coleta de syslog ao criar um cluster do 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 de Syslog em um cluster do AKS existente.

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

Usando modelos do ARM

Você também pode usar modelos do ARM para habilitar a coleção syslog

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

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

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

    • aksResourceId: use os valores para na página Visão Geral do AKS para o cluster do AKS.
    • aksResourceLocation: use os valores para na página Visão Geral do AKS para o cluster do AKS.
    • workspaceResourceId: use a ID do recurso do seu workspace do Log Analytics.
    • resourceTagValues: corresponda os valores de marca especificados para a DCR (regra de coleta de dados) da extensão de Insights do contêiner do cluster e o nome da DCR. O nome será MSCI-<clusterName>-<clusterRegion> e esse recurso será criado em um grupo de recursos de cluster do AKS. Se essa for a primeira integração, você poderá definir os valores arbitrários da marca.
    • enableSyslog: Definido como True
    • syslogLevels: Matriz de níveis de syslog para coleta. O padrão coleta todos os níveis.
    • syslogFacilities: Matriz de instalações de syslog para coleta. O padrão coleta todas as instalações

Observação

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

Implantar o modelo

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

Implantar com o Azure PowerShell

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

A alteração da configuração pode levar alguns minutos para ser concluída. Quando terminar, uma mensagem semelhante ao seguinte exemplo incluirá este resultado:

provisioningState       : Succeeded

Implantar 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 da configuração pode levar alguns minutos para ser concluída. Quando terminar, uma mensagem semelhante ao seguinte exemplo incluirá este resultado:

provisioningState       : Succeeded

Como acessar os dados de Syslog

Acesso usando pastas de trabalho internas

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

Opção 1 – a guia Relatórios nos Insights do contêiner. Navegue até o cluster AKS. Abra a guia Insights do cluster. Abra a guia Relatórios e procure a pasta de trabalho do 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 do Syslog.

Video of Syslog workbook being accessed from cluster workbooks tab.

Acesso usando um painel do Grafana

Os clientes podem usar nosso painel do Syslog para Grafana para obter uma visão geral de seus dados do 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 os que executam sua própria instância podem importar o painel do Syslog do Marketplace do Grafana.

Observação

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

Screenshot of Syslog Grafana dashboard.

Acessar usando consultas de log

Os dados de Syslog são armazenados na tabela Syslog no workspace do Log Analytics. Você pode criar suas próprias consultas de log no Log Analytics para analisar esses dados ou usar uma das consultas predefinidas.

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

Você pode abrir o Log Analytics no menu Logs e, depois, no menu Monitor para acessar os dados de Syslog para todos os clusters ou no menu do cluster do AKS para acessar os dados de Syslog apenas para esse cluster.

Screenshot of Query editor with Syslog query.

Consultas de exemplo

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

Consulta Descrição
Syslog Todos os Syslogs
Syslog | where SeverityLevel == "error" Todos os registros do Syslog com a severidade de erro
Syslog | summarize AggregatedValue = count() by Computer Contagem de registros do Syslog por computador
Syslog | summarize AggregatedValue = count() by Facility Contagem de registros do Syslog por recurso
Syslog | where ProcessName == "kubelet" Todos os registros do Syslog do processo kubelet
Syslog | where ProcessName == "kubelet" and SeverityLevel == "error" Registros do Syslog do processo kubelet com erros

Editar as configurações de coleta de Syslog

Para modificar a configuração de coleta de Syslog, modifique a DCR (regra de coleta de dados) 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 a DCR e, em seguida, Exibir fontes de dados. Selecione a fonte de dados do Syslog do Linux para exibir os detalhes da coleta de Syslog.

Observação

Uma DCR é criada automaticamente quando você habilita o syslog. A DCR segue a convenção de nomenclatura MSCI-<WorkspaceRegion>-<ClusterName>.

Screenshot of Data Sources tab for Syslog data collection rule.

Selecione o nível mínimo de log para cada instalação que você quer coletar.

Screenshot of Configuration panel for Syslog data collection rule.

Próximas etapas

Depois de configurar, os clientes podem começar a enviar dados do Syslog para as ferramentas de sua escolha

Leia mais

Compartilhe seus comentários sobre esse recurso aqui: https://forms.office.com/r/BBvCjjDLTS