HCP (Hashicorp Cloud plataforma) Consul es una versión de Consul en la que el plano de control es gestionado por HashiCorp Cloud plataforma. HCP Consul es una solución de descubrimiento de servicios y malla de servicios proporcionada por Hashicorp. Permite a los operadores de plataformas implementar rápidamente una malla de servicios completamente administrada y segura por defecto, lo que ayuda a los desarrolladores a descubrir y conectar de forma segura cualquier aplicación en cualquier tiempo de ejecución, incluidos Kubernetes, Nomad y Amazon ECS.
Mantener su clúster Consul saludable puede ayudar a optimizar los tiempos de consulta SQL, la resolución de problemas de tiempo de respuesta HTTP lento y las alertas de tiempo real sobre el tiempo de inactividad de su clúster Hashicorp. El monitoreo de su clúster métrico Hashicorp es fundamental para mantener sus servicios de malla Hashicorp operando a plena capacidad.
Sugerencia
También tenemos una integración de HashiCorp Consul para instancias de Consul que no están en HCP.
Monitor HCP Cónsul métrica con New Relic
Hay varias formas y entornos en los que se instala HCP Consul. En los ejemplos siguientes, trabajaremos con el Inicio rápido de HCP instalado a través de Terraform.
New Relic soporta el monitoreo de HCP Consul y Envoy métrica a través de la integración del complemento StatsD. El complemento StatsD agrega todas las métricas expuestas por HCP Consul y las envía a New Relic para visualización de datos y alertas.
Generar el archivo desplegar Terraform
Genere el archivo desplegable Terraform desde la página Overview de su cuenta del Portal HCP.
Desplegar el clúster Cónsul
Implementar el clúster Consul siguiendo los pasos para el entorno apropiado en la descripción general de un extremo a otro. Important: Asegúrese de seguir el Consul CLI configuration en la parte inferior de la página Deploy .
gostatsd
Copie deploy-gostatsd.yaml
y rbac-gostatsd.yaml
a su cliente Kubernetes local.
Editar deploy-gstatsd.yaml
- Reemplace
YOUR_NEW_RELIC_ACCOUNT_ID
con su ID de cuenta de New Relic. - Reemplaza
YOUR_NEW_RELIC_LICENSE_KEY
con tu New Relic . - Ajuste las URL para cuentas de la UE o FedRAMP si es necesario (consulte los comentarios en el archivo).
Desplegar gostatsd
Ejecute los siguientes comandos en su cliente Kubernetes local:
$kubectl apply -f deploy-gostatsd.yaml$kubectl apply -f rbac-gostatsd.yaml
Configurar los clientes de Cónsul para reportar métrica
Editar el mapa de consul-client-config
Agregue la configuración de telemetría de Consul editando el ConfigMap del cliente de Consul:
$kubectl edit cm consul-client-config
Agregue lo siguiente debajo de 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"] } }
El resultado debería verse así:
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
aquí para poder agregar la etiquetaconsul.source.datacenter
a cada métrica. Esto le permite filtrar su panel por Consul Datacenter. - Asegúrese de reemplazar
YOUR_CONSUL_DATACENTER_NAME_HERE
con el nombre de su Consul Datacenter. - Ver opciones de configuración de telemetría de Consul.
Editar despliegue cónsul-connect-injector
Habilite Cónsul métrica en el despliegue editando el despliegue:
$kubectl edit deploy consul-connect-injector
Busque default-enable-metrics
y configúrelo en true
:
$-default-enable-metrics=true \
Restart Consul client pods
Los clientes de Consul pueden reiniciarse o no después de que cambie la configuración. Si no es así, reinicie cada pod de cliente de Consul:
$kubectl delete pod consul-client-<POD_ID> -n <NAMESPACE>
Explorar Cónsul métrica en New Relic
Para ver los datos de su HCP Consul en New Relic, navegue hasta el generador de consultas.
Luego, utilice la consulta a continuación para ver HCP Consul métrica:
SELECT * FROM Metric WHERE metricName LIKE 'consul.%' SINCE 1 minute ago
Instalar el dashboard
Comience en minutos con un dashboard prediseñado para ver métricas clave de HCP Consul sobre sus clientes, redes, tiempo de ejecución, siervo y Envoy.
Vaya al inicio rápido de HCP Consul en New Relic Instant observabilidad y haga clic en + Install now.
Resolución de problemas
Para un pod que falla al inicio:
$kubectl logs PODNAME -c consul-connect-inject-init
Para una pod para correr:
$kubectl logs PODNAME -c DEPLOYMENTNAME
Fragmento útil de kubectl
Eliminar todos los pods:
$kubectl get pods | grep PODNAMEPREFIX | cut -f 1 -d ' ' | xargs kubectl delete pods
Elimina un despliegue y pod genera:
$kubectl delete deployment DEPLOYMENTNAME -n default