Ce document explique comment configurer le déploiement de Google Kubernetes Engine afin de pouvoir collecter des métriques à partir de l'exportateur Kibana en utilisant Google Cloud Managed Service pour Prometheus. Ce document vous explique comment :
- configurer l'exportateur Kibana afin de générer des rapports sur les métriques ;
- configurer une ressource PodMonitoring pour Managed Service pour Prometheus afin de collecter les métriques exportées ;
- accéder à un tableau de bord dans Cloud Monitoring pour consulter les métriques ;
- configurer des règles d'alerte pour surveiller les métriques.
Ces instructions ne s'appliquent que si vous utilisez une collecte gérée avec Managed Service pour Prometheus. Si vous utilisez une collecte auto-déployée, consultez la documentation de Kibana pour obtenir des informations sur l'installation.
Ces instructions sont fournies à titre d'exemple et devraient fonctionner dans la plupart des environnements Kubernetes. Si vous rencontrez des difficultés pour installer une application ou un exportateur en raison de règles de sécurité ou d'organisation restrictives, nous vous recommandons de consulter la documentation Open Source pour obtenir de l'aide.
Pour en savoir plus sur Kibana, consultez la page Kibana.
Prérequis
Pour collecter des métriques à partir de l'exportateur Kibana en utilisant Managed Service pour Prometheus et la collecte gérée, votre déploiement doit répondre aux exigences suivantes :
- Votre cluster doit exécuter Google Kubernetes Engine version 1.21.4-gke.300 ou ultérieure.
- Vous devez exécuter Managed Service pour Prometheus en ayant activé la collecte gérée. Pour en savoir plus, consultez la page Premiers pas avec la collecte gérée.
- Pour utiliser les tableaux de bord disponibles dans Cloud Monitoring pour l'intégration de Kibana, vous devez utiliser
kibana-prometheus-exporter
version 8.0.0 ou ultérieure.Pour en savoir plus sur les tableaux de bord disponibles, consultez Afficher les tableaux de bord.
Le processus d'installation nécessite l'utilisation de bin/kibana-plugin install PLUGIN
. Pour installer le plug-in, vous pouvez définir une image Docker Kibana personnalisée. Consultez l'exemple suivant :
FROM kibana:KIBANA_VERSION
RUN bin/kibana-plugin install https://github.com/pjhampton/kibana-prometheus-exporter/releases/download/PLUGIN_VERSION/kibanaPrometheusExporter-PLUGIN_VERSION.zip
Après avoir créé l'image et l'avoir transférée dans un dépôt distant, vous pouvez l'utiliser dans le déploiement Kubernetes. Exemple :
apiVersion: v1
kind: ConfigMap
metadata:
name: kibana
data:
kibana.yml: |
server.name: kibana
server.host: "0.0.0.0"
# Update this with credentials to match your Elasticsearch instance
elasticsearch.hosts: http://username:password@elasticsearch-service-name:9200
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: kibana
labels:
app.kubernetes.io/name: kibana
spec:
...
template:
...
spec:
containers:
- name: kibana
image: CUSTOM_IMAGE
ports:
- containerPort: 5601
name: kibana
protocol: TCP
volumeMounts:
- mountPath: /usr/share/kibana/config/kibana.yml
subPath: kibana.yml
name: kibana
volumes:
- name: kibana
configMap:
name: kibana
items:
- key: kibana.yml
path: kibana.yml
Pour vérifier que l'exportateur Kibana émet des métriques sur les points de terminaison attendus, procédez comme suit :
Configurez le transfert de port à l'aide de la commande suivante :
kubectl -n NAMESPACE_NAME port-forward POD_NAME 5601
Accédez au point de terminaison
localhost:5601/_prometheus/metrics
à l'aide du navigateur ou de l'utilitairecurl
dans une autre session de terminal.
Définir une ressource PodMonitoring
Pour la découverte des cibles, l'opérateur Managed Service pour Prometheus doit disposer d'une ressource PodMonitoring correspondant à l'exportateur Kibana dans le même espace de noms.
Vous pouvez utiliser la configuration PodMonitoring suivante :
Pour appliquer les modifications de configuration à partir d'un fichier local, exécutez la commande suivante :
kubectl apply -n NAMESPACE_NAME -f FILE_NAME
Vous pouvez également utiliser Terraform pour gérer vos configurations.
Définir des règles et des alertes
Vous pouvez utiliser la configuration Rules
suivante pour définir des alertes sur vos métriques Kibana :
Pour appliquer les modifications de configuration à partir d'un fichier local, exécutez la commande suivante :
kubectl apply -n NAMESPACE_NAME -f FILE_NAME
Vous pouvez également utiliser Terraform pour gérer vos configurations.
Pour en savoir plus sur l'application de règles à votre cluster, consultez Évaluation des règles et alertes gérées.
Vous pouvez ajuster les seuils d'alerte en fonction de votre application.Vérifier la configuration
Vous pouvez utiliser l'explorateur de métriques pour vérifier que vous avez correctement configuré l'exportateur Kibana. L'ingestion de vos métriques par Cloud Monitoring peut prendre une ou deux minutes.
Procédez comme suit pour vérifier que les métriques ont bien été ingérées :
-
Dans la console Google Cloud, accédez à la page leaderboard Explorateur de métriques :
Accéder à l'explorateur de métriques
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.
- Dans la barre d'outils du volet de création de requêtes, sélectionnez le bouton nommé code MQL ou code PromQL.
- Vérifiez que PromQL est sélectionné dans le bouton d'activation Langage. Le bouton de langage se trouve dans la barre d'outils qui vous permet de mettre en forme votre requête.
- Saisissez et exécutez la requête suivante :
up{job="kibana", cluster="CLUSTER_NAME", namespace="NAMESPACE_NAME"}
Afficher les tableaux de bord
L'intégration à Cloud Monitoring comprend le tableau de bord Présentation de Kibana-Prometheus. Les tableaux de bord sont installés automatiquement lorsque vous configurez l'intégration. Vous pouvez également afficher des aperçus statiques de tableaux de bord sans installer l'intégration.
Pour afficher un tableau de bord installé, procédez comme suit :
-
Dans la console Google Cloud, accédez à la page Tableaux de bord .
Accéder à la page Tableaux de bord
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.
- Sélectionnez l'onglet Liste des tableaux de bord.
- Choisissez la catégorie Intégrations.
- Cliquez sur le nom du tableau de bord, par exemple Présentation de Kibana-Prometheus.
Pour afficher un aperçu statique du tableau de bord, procédez comme suit :
-
Dans la console Google Cloud, accédez à la page Intégrations :
Accéder à la page Intégrations
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.
- Cliquez sur le filtre de plate-forme de déploiement Kubernetes Engine.
- Recherchez l'intégration Kibana et cliquez sur Afficher les détails.
- Sélectionnez l'onglet Tableaux de bord.
Dépannage
Pour en savoir plus sur la résolution des problèmes d'ingestion de métriques, consultez la section Problèmes liés à la collecte par les exportateurs dans la section Résoudre les problèmes côté ingestion.