HCP (plataforma Hashicorp Cloud) Consul é uma versão do Consul em que o plano de controle é gerenciado pela plataforma HashiCorp Cloud. HCP Consul é uma solução de malha de serviço e descoberta de serviço fornecida pela Hashicorp. Ele permite que os operadores de plataforma implantem rapidamente uma malha de serviço totalmente gerenciada e segura por padrão, ajudando os desenvolvedores a descobrir e conectar com segurança qualquer aplicativo em qualquer tempo de execução, incluindo Kubernetes, Nomad e Amazon ECS.
Manter seu cluster Consul íntegro pode ajudar a otimizar os tempos de consulta SQL, resolução de problemas, tempo de resposta HTTP lento e alerta de tempo real sobre tempo de inatividade para seu cluster Hashicorp. O monitoramento da métrica do seu cluster Hashicorp é fundamental para manter seus serviços mesh Hashicorp operando em plena capacidade.
Dica
Também temos uma integração HashiCorp Consul para instância Consul não no HCP.
Monitor HCP Consul métrica com New Relic
Existem diversas formas e ambientes em que o HCP Consul é instalado. Nos exemplos abaixo trabalharemos com o Quick Start do HCP instalado via Terraform.
New Relic suporta monitoramento de métricas HCP Consul e Envoy através do plug-in integração StatsD. O plug-in StatsD agrega todas as métricas expostas pelo HCP Consul e as envia para o New Relic para visualização de dados e alertas.
Gere o arquivo de implantação do Terraform
Gere o arquivo de implantação do Terraform na página Overview da sua conta do Portal HCP.
Implantar o cluster Cônsul
Implantar o cluster Consul seguindo os passos para o ambiente apropriado na visão geral ponta a ponta. Important: Certifique-se de seguir Consul CLI configuration na parte inferior da página Deploy .
gostatsd
Copie deploy-gostatsd.yaml
e rbac-gostatsd.yaml
para seu cliente Kubernetes local.
Editar deploy-gstatsd.yaml
- Substitua
YOUR_NEW_RELIC_ACCOUNT_ID
pelo ID da sua conta New Relic. - Substitua
YOUR_NEW_RELIC_LICENSE_KEY
pela sua New Relic . - Ajuste URLs para contas da UE ou FedRAMP, se necessário (ver comentários no arquivo).
Implantar gostatsd
Execute os seguintes comandos em seu cliente local do Kubernetes:
$kubectl apply -f deploy-gostatsd.yaml$kubectl apply -f rbac-gostatsd.yaml
Configurar os clientes Consul para reportar métricas
Editar mapa consul-client-config
Adicione a configuração de telemetria Consul editando o ConfigMap do Cliente Consul:
$kubectl edit cm consul-client-config
Adicione o seguinte em data
:
telemetry-config.json: |- { "telemetry": { "disable_hostname": false, "disable_compat_1.9": true, "dogstatsd_addr": "gostatsd.default.svc.cluster.local:8125", "dogstatsd_tags": ["consul.source.datacenter:YOUR_CONSUL_DATACENTER_NAME_HERE"] } }
O resultado deve ser algo assim:
apiVersion: v1data: central-config.json: |- { "enable_central_service_config": true } config.json: |- { "check_update_interval": "0s" } extra-from-values.json: '{}' telemetry-config.json: |- { "telemetry": { "disable_hostname": false, "disable_compat_1.9": true, "dogstatsd_addr": "gostatsd.default.svc.cluster.local:8125", "dogstatsd_tags": ["consul.source.datacenter:YOUR_CONSUL_DATACENTER_NAME_HERE"] } }
Notas:
- Usamos
dogstatsd_addr
aqui para poder adicionar a tagconsul.source.datacenter
a cada métrica. Isso permite filtrar seu painel por Consul Datacenter. - Certifique-se de substituir
YOUR_CONSUL_DATACENTER_NAME_HERE
pelo nome do seu Consul Datacenter. - Consulte Opções de configuração de telemetria Consul.
Editar implantação do consul-connect-injector
Habilite a Consul métrica na implantação editando a implantação:
$kubectl edit deploy consul-connect-injector
Procure por default-enable-metrics
e defina-o como true
:
$-default-enable-metrics=true \
Restart Consul client pods
Os clientes Consul podem ou não reiniciar após as alterações na configuração. Caso contrário, reinicie cada pod do cliente Consul:
$kubectl delete pod consul-client-<POD_ID> -n <NAMESPACE>
Procure Cônsul métrica em New Relic
Para ver os dados do seu HCP Consul no New Relic, navegue até criador de consulta.
Então, utilize a consulta abaixo para ver as métricas do HCP Consul:
SELECT * FROM Metric WHERE metricName LIKE 'consul.%' SINCE 1 minute ago
Instale o dashboard
Comece em minutos com um dashboard pré-construído para ver as principais métricas do HCP Consul sobre seus clientes, redes, tempo de execução, servo e Envoy.
Acesse o HCP Consul início rápido em New Relic Instant observabilidade e clique em + Install now.
Resolução de problemas
Para um pod que trava na inicialização:
$kubectl logs PODNAME -c consul-connect-inject-init
Para um pod em execução:
$kubectl logs PODNAME -c DEPLOYMENTNAME
Trecho kubectl útil
Excluir todos os pods:
$kubectl get pods | grep PODNAMEPREFIX | cut -f 1 -d ' ' | xargs kubectl delete pods
Exclua uma implantação e pod ela gera:
$kubectl delete deployment DEPLOYMENTNAME -n default