Conseil
Ce tutoriel s'applique à l' intégration Kubernetes v3 installée à l'aide de Helm. Pour obtenir des instructions sur la façon de procéder sur la version 2 à l'aide de Helm, veuillez consulter cette section. Pour vérifier comment configurer les services sur un manifeste simple, consultez cette autre page.
Si vous disposez d'un service exécuté sur Kubernetes et que nous le prenons en charge, vous pouvez activer monitoring de ce service en ajoutant une section configuration pour cette intégration à la configuration de l'intégration Kubernetes .
Ce tutoriel montre comment activer monitoring d'un service Redis exécuté sur le livre d'or PHP Kubernetes . Pour la procédure générale, voir monitorer un service exécutant Kubernetes.
Ce dont vous avez besoin
- Consultez les exigences générales pour cette fonctionnalité, y compris les services pris en charge.
- L'outil de ligne de commande
kubectl
doit être configuré pour communiquer avec votre cluster. Si vous n'avez pas de cluster, vous pouvez en créer un à l'aide de Minikube.
Étape 1 : Configurer un exemple d’application Redis
Ce tutoriel s'appuie sur le tutoriel Kubernetes déployé une application PHP Guestbook avec Redis. Ignorez le didacticiel Kubernetes et exécutez la commande suivante pour configurer l’application nécessaire à notre didacticiel :
$kubectl create -f https://raw.githubusercontent.com/kubernetes/examples/master/guestbook/all-in-one/guestbook-all-in-one.yaml
Si vous souhaitez d'abord terminer le didacticiel Kubernetes, suivez leurs instructions, mais ne suivez pas les instructions de la section Cleaning up .
Étape 2 : Activer monitoring de l’instance Redis
L'application PHP Guestbook dispose de trois instances Redis : une instance maître et deux instances de réplique. Chaque instance est étiquetée avec une étiquette où app=redis
. Pour cet exemple, nous utilisons notre intégration de monitoring Redis. Il peut monitorer à la fois l'instance maître et l'instance de réplique de Redis, nous n'avons donc pas besoin de faire de distinction entre elles.
Dans le fichier YAML
values-newrelic.yaml
de notre graphique de barre, vous devez mettre à jour la sectionnewrelic-infrastructure.integrations
. Dans la liste des configurations d’intégration, récupérez le YAML d’intégration Redis et ajoutez-le à la configuration Kubernetes. La configuration spécifique à Redis est contenue sous la cléredis-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: productiondéployer le service mis à jour :
bash$helm upgrade --install newrelic newrelic/nri-bundle \>--namespace newrelic --create-namespace \>-f values-newrelic.yaml \>--develVous devriez pouvoir voir ce qui suit dans le log du pod
nrk8s-kubelet
planifié dans le même nœud que le service que vous souhaitez monitorer :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
S’il n’y a pas d’erreurs, vous devriez voir les données Redis dans l’interface utilisateur de l’infrastructure. Pour trouver le dashboard Redis , accédez à one.newrelic.com > All capabilities > Infrastructure > Third party services et sélectionnez le dashboard Redis.
Pour connaître la procédure générale de monitoring des services exécutés sur Kubernetes, y compris plus de détails sur le fonctionnement de configuration , consultez Monitorer un service exécuté Kubernetes.