A partir do marco 77, o Container-Optimized OS inclui o agente Detector de problemas de nós. Você pode usar esse recurso para monitorar a integridade do sistema de instâncias do COS. O Node Problem Detector monitora a integridade da instância e informa métricas relacionadas à saúde para o Cloud Monitoring, incluindo métricas de capacidade e erro que podem ser visualizadas com painéis do Google Cloud Observability. As métricas coletadas da configuração padrão são gratuitas. O Google usará métricas agregadas para entender problemas de nós e melhorar a confiabilidade do Container-Optimized OS.
O agente é pré-configurado com o conjunto de métricas a serem exportadas. No momento, não há suporte para a personalização de métricas informadas para o agente integrado. O Detector de problemas de nós é um software de código aberto. Você pode analisar código-fonte e configurações nos respectivos repositórios de origem.
Como ativar o monitoramento de integridade
O agente do detector de problemas de nós fica desativado por padrão no momento da inicialização. Para ativar esse recurso, use:
Como usar um script de inicialização
Ative o Detector de problemas de nós usando um script de inicialização.
Como usar o cloud-init
O exemplo cloud-init
explica os conceitos básicos de configuração de uma instância do Container-Optimized OS. Use o cloud-init
para ativar o monitoramento de integridade com o seguinte exemplo cloud-config
:
#cloud-config
runcmd:
- systemctl start node-problem-detector
Uso de metadados
No Container-Optimized OS Marco 88 e posterior, também é possível ativar o detector de problemas de nós
definindo o valor de google-monitoring-enabled
como true
na
seção de metadados personalizados.
Para ativar o monitoramento ao criar uma instância:
gcloud compute instances create VM_NAME \ --image=IMAGE \ --image-project=cos-cloud \ --metadata=google-monitoring-enabled=true
Substitua:
VM_NAME
: nome da nova VMIMAGE
: uma versão específica de uma imagem pública do Container-Optimized OS. Por exemplo,--image=cos-113-18244-85-29
.
Para ativar o monitoramento em uma instância atual:
gcloud compute instances add-metadata VM_NAME \ --metadata=google-monitoring-enabled=true
Substitua VM_NAME
pelo nome da VM.
A partir do marco 97, o monitoramento pode ser ativado nos metadados do projeto:
gcloud compute project-info add-metadata \
--metadata google-monitoring-enabled=true
Após a execução, o serviço de detecção de problemas de nós será ativado.
Como usar políticas de convidado definidas pelo usuário
O SO otimizado para contêiner inclui o agente de configuração do SO, que usa utilitários do sistema para manter o estado da VM especificada na política de convidado. Para detalhes sobre políticas de convidado, consulte Ativar agente de configuração do SO e Criar uma política de convidado. A política de convidado a seguir ativa o agente do detector de problemas do nó em todas as instâncias.
recipes:
- name: recipe-enable-npd
desiredState: INSTALLED
installSteps:
- scriptRun:
interpreter: SHELL
script: |-
#!/bin/bash
systemctl start node-problem-detector
Como visualizar as métricas coletadas
O Detector de problemas de nós relata uma lista de métricas em relação a um recurso monitorado de
instância do Compute Engine.
As métricas são documentadas na
lista de métricas do Monitoring, com o prefixo
compute.googleapis.com/guest/
. É possível visualizar as métricas coletadas
usando o
Monitoring Metrics Explorer:
No Console do Google Cloud, acesse Monitoring ou use o seguinte botão:
No painel de navegação do Monitoring, clique em Metrics Explorer.
Para o tipo de recurso, selecione Instância de VM do Compute Engine.
Selecione uma métrica, por exemplo, "Contagem de problemas".
Você verá gráficos e estatísticas no lado direito. Para ver o resultado de uma instância específica do Container-Optimized OS, defina o filtro como
"instance_id=[INSTANCE_ID]"
, substituindo [INSTANCE_ID] pelo ID da instância que você quer ver.
Como desativar o monitoramento de integridade
Para desativar o serviço que já foi ativado pelo cloud-config
ou pelo script de inicialização,
remova a etapa systemctl start node-problem-detector
. e reinicie a
instância do Container-Optimized OS. Se ativado por metadados, verifique se a
chave google-monitoring-enabled
está definida como false
.