Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Importante
As funcionalidades em versão preliminar do AKS estão disponíveis de forma optativa e por autoatendimento. As versões prévias são fornecidas “no estado em que se encontram” e “conforme disponíveis” e são excluídas dos contratos de nível de serviço e da garantia limitada. As versões prévias do AKS são parcialmente cobertas pelo suporte ao cliente em uma base de melhor esforço. Dessa forma, esses recursos não são destinados ao uso em produção. Para obter mais informações, consulte os seguintes artigos:
A Rede de Aplicativos Kubernetes do Azure oferece dois tipos de logs que você pode configurar com base em seus requisitos de monitoramento e solução de problemas: logs do plano de dados e do plano de controle.
-
Logs do plano de dados: incluem logs de cargas de trabalho do aplicativo,
applink-systemcomponentes de namespace e logs de acesso de proxy Envoy. - Logs do plano de controle: incluem logs Istiod dos componentes do plano de controle da Rede de Aplicativos do Kubernetes do Azure.
Por padrão, o registro em log da Rede de Aplicativos do Kubernetes do Azure está desabilitado. Este artigo descreve como habilitar os dois tipos de registro em log e exibi-los no Azure Monitor.
Definir variáveis de ambiente
Defina variáveis de ambiente para o fluxo de trabalho selecionado usando os seguintes comandos:
# Set if specifying an existing or creating a new Log Analytics workspace export LAW_NAME=<log-analytics-workspace-name> # Set for resource group, location, and AKS cluster name export AKS_RG=<aks-resource-group> export LOCATION=<location> export CLUSTER_NAME=<aks-cluster-name> # Set for Azure Kubernetes Application Network member resource group, name, and member name export APPNET_RG=<appnet-resource-group> export APPNET_NAME=<appnet-name> export APPNET_MEMBER_NAME=<appnet-member-name>
Habilitar logs do plano de dados
Os logs do plano de dados incluem logs de suas cargas de trabalho/aplicativos e cargas de trabalho do applink-system (Ztunnel e CNI Istio). O complemento do Azure Container Insights é a maneira preferida de habilitar e exibir logs para solução de problemas.
Ao habilitar os logs do plano de dados, você tem a opção de especificar um workspace existente do Log Analytics, usar o workspace padrão para o grupo de recursos ou criar um novo workspace.
Criar um novo workspace do Log Analytics
Se estiver criando um novo workspace do Log Analytics, use o
az monitor log-analytics workspace createcomando:az monitor log-analytics workspace create \ --resource-group $AKS_RG \ --workspace-name $LAW_NAME \ --location $LOCATION
Habilitar o complemento do Container Insights em seu cluster do AKS
Habilite o complemento do Container Insights para o cluster de membros da Rede de Aplicativos do Kubernetes do Azure (opcionalmente omitindo a ID do workspace) usando o
az aks enable-addonscomando.az aks enable-addons \ --addon monitoring \ --name $CLUSTER_NAME \ --resource-group $AKS_RG \ --workspace-resource-id /subscriptions/$SUBSCRIPTION/resourcegroups/$AKS_RG/providers/microsoft.operationalinsights/workspaces/$LAW_NAME
Exibir logs
Exiba os logs navegando até o workspace do Log Analytics e executando a seguinte consulta:
ContainerLogV2 | where PodNamespace == "applink-system"
Logs de acesso do Envoy
Em alguns casos, talvez seja necessário examinar os logs de acesso do Envoy quando o tráfego é gerado para seus aplicativos/cargas de trabalho. Para habilitar os logs de acesso do Envoy, use a API de telemetria.
No YAML abaixo, especifique o namespace no qual você deseja habilitar o log de acesso do Envoy. Para logs de acesso do Envoy em toda a malha, remova o namespace dos metadados.
cat <<EOF | kubectl apply -n default -f - apiVersion: telemetry.istio.io/v1 kind: Telemetry metadata: name: mesh-logging-default namespace: default spec: accessLogging: - providers: - name: envoy EOFOs logs de acesso do Envoy estarão disponíveis no workspace do Log Analytics onde o complemento do Container Insights foi habilitado.
Exiba os logs de acesso do Envoy navegando até o workspace do Log Analytics e executando a seguinte consulta:
ContainerLogV2 | where TimeGenerated > ago(45m) | where PodName contains "gateway" | take 10
Habilitar registros do plano de controle
Para habilitar os logs do plano de controle, você deve criar uma configuração de diagnóstico e enviar os logs para o espaço de trabalho do Log Analytics.
Defina uma variável de ambiente para o nome da configuração de diagnóstico usando o seguinte comando:
export DS_NAME=<diagnostic-settings-name>Crie uma configuração de diagnóstico para o recurso de membro da Rede de Aplicativos do Kubernetes do Azure e especifique o espaço de trabalho do Log Analytics como o destino usando o comando
az monitor diagnostic-settings create.az monitor diagnostic-settings create \ --resource /subscriptions/$SUBSCRIPTION/resourceGroups/$APPNET_RG/providers/Microsoft.AppLink/appLinks/$APPNET_NAME/appLinkMembers/$APPNET_MEMBER_NAME \ --workspace /subscriptions/$SUBSCRIPTION/resourcegroups/$AKS_RG/providers/microsoft.operationalinsights/workspaces/$LAW_NAME \ --logs "[{category:istiod,enabled:true}]" \ --name $DS_NAMEDepois de habilitado, navegue até o workspace do Log Analytics e execute a seguinte consulta:
Observação
$appnet_member_resourceIddeve estar no formato:/subscriptions/$subscription/resourceGroups/$appnet_rg/providers/microsoft.applink/applinks/$appnet_name/applinkmembers/$appnet_member_name.MeshControlPlane | where TimeGenerated > ago(1h) | where _ResourceId == $appnet_member_resourceId // appnet member resourceId
Tabelas de log e esquema
As tabelas a seguir contêm logs da Rede de Aplicações do Kubernetes do Azure em seu espaço de trabalho do Log Analytics.
| Tabela de log | Descrição |
|---|---|
ContainerLogV2 |
Contém seus logs de aplicativo/carga de trabalho |
MeshControlPlane |
Contém logs do Istiod |
Schema
Para localizar o ContainerLogV2 esquema, consulte Colunas ContainerLogV2.
MeshControlPlane é uma tabela personalizada com o seguinte esquema:
| # | Nome da coluna | Tipo |
|---|---|---|
| 0 | ID do Inquilino (TenantId) | cadeia |
| 1 | TimeGenerated | datetime |
| 2 | Categoria | cadeia |
| 3 | Nível | cadeia |
| 4 | Mensagem | cadeia |
| 5 | Contêiner | cadeia |
| 6 | PodName | cadeia |
| 7 | Sistema de origem | cadeia |
| 8 | Tipo | cadeia |
| 9 | _IdentificadorDeRecurso | cadeia |
Exemplos de consultas
Filtrar logs pela ID do recurso de cluster do AKS
Filtre logs com base na ID do recurso de cluster gerenciado do AKS na tabela ContainerLogV2 usando a seguinte consulta:
ContainerLogV2 | where TimeGenerated > ago(45m) | where _ResourceId == $aks_cluster_resource_id // managed cluster resourceId
Filtrar logs pela ID do recurso associado da Rede de Aplicativos do Kubernetes do Azure
Filtre logs com base no ID do recurso de membro da Rede de Aplicativos do Kubernetes do Azure na tabela MeshControlPlane para logs de plano de controle usando a seguinte consulta:
MeshControlPlane | where TimeGenerated > ago(45m) | where Level == "ERROR" | where _ResourceId == $appnet_member_resourceId // appnet member resourceIdA captura de tela a seguir mostra um exemplo dos erros do Application Network Istiod nos Logs do Azure Monitor.
Conteúdo relacionado
Para obter mais informações sobre a observabilidade e o monitoramento da Rede de Aplicativos kubernetes do Azure, consulte os seguintes artigos: