Este documento descreve como o GKE na AWS se integra ao Cloud Logging e mostra como acessar seus logs.
Visão geral
O GKE na AWS oferece suporte ao Cloud Logging para cargas de trabalho e para componentes do sistema em execução no plano de controle e nos nós do pool de nós.
O GKE na AWS inclui um agente de registro baseado em Fluentbit . Nos nós do plano de controle, o agente de registro é executado como um componente do sistema; nos nós do pool de nós, ele é executado como um Daemonset. Os dados coletados pelos agentes de registro podem ser gerenciados e excluídos como quaisquer outras métricas e dados de registro, conforme descrito na documentação do Cloud Logging .
Quais dados são coletados
O GKE na AWS registra as seguintes informações:
- Logs para componentes do sistema em cada réplica do plano de controle.
- Logs para serviços do sistema em cada um dos nós do pool de nós.
- Opcionalmente, logs para cargas de trabalho
Habilitar registro de carga de trabalho
Para habilitar o registro de carga de trabalho, você deve criar um novo cluster do Kubernetes, versão 1.22 ou posterior.
Por padrão, ao criar um cluster, o GKE na AWS habilita o registro em log do sistema. Para habilitar o registro em log de carga de trabalho, você precisa criar um cluster com o sinalizador --logging
. Você pode optar por habilitar o registro em log para componentes do sistema, cargas de trabalho ou ambos.
Por exemplo, para habilitar o registro do sistema e da carga de trabalho em um novo cluster, siga as instruções para criar um cluster , mas inclua o sinalizador --logging
no seu comando gcloud
:
gcloud container aws clusters create CLUSTER_NAME ... --logging=SYSTEM,WORKLOAD
ou para atualizar um cluster existente :
gcloud container aws clusters update CLUSTER_NAME ... --logging=SYSTEM,WORKLOAD
Acesse seus registros
Há várias maneiras de acessar seus logs do GKE na AWS no Cloud Logging:
Logs Explorer – Você pode ver seus logs diretamente do Logs Explorer usando os filtros de log para selecionar os recursos do Kubernetes, como cluster, nó, namespace, pod ou logs de contêiner.
Google Cloud CLI – Usando o comando
gcloud logging read
, selecione os logs de cluster, nó, pod e contêiner apropriados.
Compreendendo seus registros
Um log no Cloud Logging é uma coleção de entradas de log , e cada entrada de log se aplica a um determinado tipo de recurso de log .
Tipos de recursos
Estes são os tipos de recursos específicos do GKE na AWS:
Tipo de recurso | Nome de exibição |
---|---|
k8s_control_plane_component | Logs de componentes do plano de controle |
k8s_node | Registros do pool de nós |
k8s_container | Logs do contêiner de carga de trabalho |
Quando o GKE na AWS grava os logs do seu cluster, cada entrada de log inclui o tipo de recurso. Entender onde os logs aparecem facilita a localização deles quando você precisa deles.
Registros do plano de controle
Os logs do plano de controle usam o tipo de recurso k8s_control_plane_component
. Eles incluem logs de componentes do sistema em execução nas réplicas do plano de controle, como kube-apiserver
.
Registros de nós
Os logs de nós se enquadram no tipo de recurso k8s_node
. Incluem logs de componentes críticos do sistema em execução nos nós de trabalho, como kubelet
e containerd
.
Registros de aplicativos do sistema
Os logs de aplicativos do sistema se enquadram no tipo de recurso k8s_container
. Eles incluem logs de pods instalados nos nós de trabalho pelo GKE na AWS. Especificamente, contêineres em execução nos seguintes namespaces estão incluídos:
-
kube-system
-
gke-connect
-
gke-system
-
gmp-system
-
asm-user-auth
-
cnrm-system
-
config-management-system
-
gatekeeper-system
-
gmp-public
-
istio-system
-
knative-serving
Encontre seus logs na interface do usuário do Cloud Logging
Você pode visualizar seus logs usando o Logs Explorer na interface do usuário do Cloud Logging.
Explorador de Logs
Usando o Construtor de Consultas, você pode criar uma consulta adicionando parâmetros de consulta manualmente. Por exemplo, se quiser explorar logs de cargas de trabalho do sistema, você pode começar selecionando ou pesquisando o tipo de recurso k8s_container
e, em seguida, selecionar o local e o nome do cluster. Você pode refinar sua pesquisa filtrando os nomes dos contêineres ou pods.
O Explorador de Logs oferece uma maneira adicional de criar suas consultas de pesquisa usando o Explorador de Campos de Logs . Ele mostra a contagem de entradas de log, classificadas em ordem decrescente de contagem, para o campo de log fornecido. Usar o Explorador de Campos de Logs é particularmente útil para logs do GKE na AWS, pois fornece uma maneira fácil de selecionar os valores do Kubernetes para seus recursos. Por exemplo, você pode selecionar logs para um cluster, namespace, nome de pod e nome de contêiner específicos.
Para obter mais informações, consulte Usando o Logs Explorer .
Consultas de exemplo
Esta seção inclui exemplos de consultas que você pode fazer no Logs Explorer.
Exemplo 1: Obtenha os logs do kube-apiserver
nos nós do plano de controle para um cluster AWS CLUSTER_NAME :
resource.type="k8s_control_plane_component"
resource.labels.cluster_name="awsClusters/CLUSTER_NAME"
resource.labels.component_name="apiserver"
Exemplo 2: Obtenha os logs do kubelet
nos nós de trabalho de um cluster AWS CLUSTER_NAME :
resource.type="k8s_node"
resource.labels.cluster_name="awsClusters/CLUSTER_NAME"
log_name="projects/PROJECT_ID/logs/kubelet"
Exemplo 3: Obtenha os logs do contêiner cilium-agent
para um cluster AWS CLUSTER_NAME :
resource.type="k8s_container"
resource.labels.cluster_name="awsClusters/CLUSTER_NAME"
resource.labels.container_name="cilium-agent"
O que vem a seguir
- Visão geral do Cloud Logging
- Usando o Logs Explorer
- Criando consultas para Cloud Logging
- Crie métricas baseadas em logs