Sugerencia
Este tutorial se aplica a la integración de Kubernetes v3 instalada con Helm. Para obtener instrucciones sobre cómo hacer esto en v2 usando helm, consulte esta sección. Para comprobar cómo configurar servicios además del manifiesto simple, consulte esta otra página.
Si tiene un servicio ejecutándose en Kubernetes y es un servicio que admitimos, puede habilitar el monitoreo de ese servicio agregando una sección de configuración para esa integración a la configuración de la integración de Kubernetes.
Este tutorial muestra cómo habilitar el monitoreo de un servicio Redis que se ejecuta en el libro de visitas PHP de Kubernetes. Para conocer el procedimiento general, consulte Supervisar un servicio que ejecuta Kubernetes.
Que necesitas
- Consulte los requisitos generales para esta característica, incluidos los servicios compatibles.
- La herramienta
kubectl
línea de comando debe estar configurada para comunicarse con su clúster. Si no tiene un clúster, puede crear uno usando Minikube.
Paso 1: configurar una aplicación Redis de ejemplo
Este tutorial se basa en el tutorial Kubernetes para implementar una aplicación de libro de visitas PHP con Redis. Omita el tutorial de Kubernetes y ejecute el siguiente comando para configurar la aplicación necesaria para nuestro tutorial:
$kubectl create -f https://raw.githubusercontent.com/kubernetes/examples/master/guestbook/all-in-one/guestbook-all-in-one.yaml
Si primero desea completar el tutorial de Kubernetes, siga las instrucciones del tutorial, pero no siga las instrucciones de la sección Cleaning up .
Paso 2: Habilitar el monitoreo de la instancia Redis
La aplicación PHP Guestbook tiene tres instancias Redis : una instancia maestra y dos instancias de réplica. Cada instancia está etiquetada con una etiqueta donde app=redis
. Para este ejemplo, usamos nuestra integración de monitoreo de Redis. Puede monitor tanto la instancia maestra como la réplica de Redis, por lo que no tenemos que distinguir entre ellas.
En el archivo
values-newrelic.yaml
YAML de nuestro gráfico de timón , debe actualizar la secciónnewrelic-infrastructure.integrations
. De la lista de configuraciones de integración, obtenga el YAML de integración de Redis y agréguelo a la configuración de Kubernetes. La configuración específica de Redis está contenida en la claveredis-config.yml:
:newrelic-infrastructure:integrations:redis-config.yml:# Run auto discovery to find pods with label "app=redis"# https://docs.newrelic.com/docs/integrations/host-integrations/installation/container-auto-discoverydiscovery:command:# Run discovery for Kubernetes. Use the following optional arguments:# --namespaces: Comma separated list of namespaces to discover pods on# --tls: Use secure (TLS) connection# --port: Port used to connect to the kubelet. Default is 10255exec: /var/db/newrelic-infra/nri-discovery-kubernetes --tls --port 10250match:label.app: redisintegrations:- name: nri-redisenv:# using the discovered IP as the hostname addressHOSTNAME: ${discovery.ip}PORT: 6379KEYS: '{"0":["<KEY_1>"],"1":["<KEY_2>"]}'labels:env: productionDesplegar el servicio actualizado:
bash$helm upgrade --install newrelic newrelic/nri-bundle \>--namespace newrelic --create-namespace \>-f values-newrelic.yaml \>--develDebería poder ver lo siguiente en el registro del pod
nrk8s-kubelet
que está programado en el mismo nodo que el servicio que desea monitor:bash$kubectl logs -n newrelic newrelic-nrk8s-kubelet-xxxxx agenttime="2019-12-23T17:37:07Z" level=info msg="Integration health check starting" instance=redis-metrics integration=com.newrelic.redis prefix=integration/com.newrelic.redis working-dir=/var/db/newrelic-infra/newrelic-integrationstime="2019-12-23T17:37:07Z" level=info msg="Integration health check finished with success" instance=redis-metrics integration=com.newrelic.redis prefix=integration/com.newrelic.redis working-dir=/var/db/newrelic-infra/newrelic-integrations
Si no hay errores, debería ver los datos Redis en la UI de infraestructura. Para encontrar el panel Redis , vaya a one.newrelic.com > All capabilities > Infrastructure > Third party services y seleccione el dashboard Redis.
Para conocer el procedimiento general sobre cómo monitor los servicios que se ejecutan en Kubernetes, incluidos más detalles sobre cómo funciona la configuración, consulte monitor un servicio en ejecución Kubernetes.