Collecter des métriques d'instances Public Cloud avec Prometheus sur un Managed Kubernetes Service OVHcloud
Découvrez comment collecter des métriques depuis des VPS, des instances Public Cloud ou des serveurs dédiés avec Prometheus sur un Managed Kubernetes Service OVHcloud
Objectif
Ce tutoriel vous montre comment configurer l'opérateur Prometheus pour monitorer un exporter statique, des VPS OVHcloud, des serveurs dédiés OVHcloud ou des instances Public Cloud OpenStack.
Avant de commencer
Ce tutoriel suppose que :
- Vous disposez déjà d'un opérateur Prometheus fonctionnel sur un cluster Managed Kubernetes OVHcloud. Pour en savoir plus sur ces sujets, consultez le tutoriel Monitorer des applications avec Prometheus et Grafana sur un Managed Kubernetes Service OVHcloud.
- Vous avez récupéré le fichier
kubeconfig.ymlcorrespondant à votre cluster Kubernetes. - Vous avez exporté la variable d'environnement KUBECONFIG vers votre fichier
kubeconfig.yml. - Un agent node exporter écoute sur les instances que vous souhaitez monitorer, sur l'IP publique et le port 9100.
Information importante :
- Ce processus node exporter doit être sécurisé ; cela ne fait pas l'objet de ce tutoriel.
Information importante :
- Utilisez au minimum la version
0.75.1de l'opérateur Prometheus prometheus-community/kube-prometheus-stack. Vous pouvez utiliser l'option--set prometheusOperator.image.tag="v0.75.1"lors de l'installation du chart pour la définir.
Ce tutoriel utilise à titre d'exemple un nœud-exporter à scraper, mais il peut être adapté à n'importe quel exporter, en ajustant l'IP et le port d'écoute.
À l'étape suivante, vous avez besoin du nom de release de votre chart. Pour l'obtenir, utilisez simplement la commande suivante :
Ici, le nom de release est kube-prometheus-stack-1720169205, référencé dans les étapes suivantes sous la forme <release_name>.
En pratique
Générer la configuration pour un exporter statique
Supposons que vous souhaitiez scraper l'exporter suivant : prometheus.demo.do.prometheus.io:9090.
Créez un fichier nommé static.yaml avec le contenu suivant :
Appliquez cette ressource personnalisée (CR) avec la commande suivante :
Le rechargement automatique de la configuration Prometheus peut prendre quelques minutes.
Après quelques minutes, en vérifiant l'interface HTTP des cibles Prometheus, vous devriez pouvoir observer quelque chose comme ceci dans l'interface utilisateur (UI) de Prometheus :
Générer la configuration pour OpenStack
Créez un utilisateur dédié dans votre projet Public Cloud avec le rôle Infrastructure Supervisor :
- Connectez-vous à l', rendez-vous dans la section Public Cloud, puis sélectionnez votre projet.
- Dans le menu de gauche, cliquez sur Utilisateurs & Rôles.
- Cliquez sur Ajouter un utilisateur, renseignez un nom d'utilisateur et une description facultative, puis cliquez sur Confirmer.
- Une fois l'utilisateur créé, cliquez sur le bouton ... situé à côté de celui-ci, puis sélectionnez Modifier les rôles.
- Activez le rôle Infrastructure Supervisor, puis enregistrez.
Créez un fichier openstack_user_password.yaml avec le contenu suivant :
Appliquez ce secret à votre namespace Prometheus dans votre cluster Kubernetes avec la commande suivante :
Récupérez les informations de votre utilisateur OpenStack depuis l'outil en ligne de commande (consultez le guide Configurer les variables d'environnement OpenStack) pour la région que vous souhaitez scraper.
Cet exemple utilise la région GRA11.
Pour télécharger le fichier OpenRC, rendez-vous dans Utilisateurs & Rôles de votre projet Public Cloud, cliquez sur le bouton ... situé à côté de l'utilisateur, puis sélectionnez Télécharger le fichier RC OpenStack. Dans la fenêtre qui s'affiche, choisissez la région que vous souhaitez scraper (cet exemple utilise la région GRA11), puis confirmez le téléchargement.
L'id est utilisé comme userid dans le openstack_sd_config.
Créez un fichier nommé openstack.yaml avec le contenu suivant :
Pour plus d'informations, consultez la documentation officielle de Prometheus.
Appliquez cette CR avec la commande suivante :
Le rechargement automatique de la configuration Prometheus peut prendre quelques minutes.
Après quelques minutes, en vérifiant l'interface HTTP des cibles Prometheus, vous devriez pouvoir observer quelque chose comme ceci dans l'UI de Prometheus :
Générer la configuration pour les VPS OVHcloud
Créez des identifiants de script dédiés (comme décrit ici). Suivez notre tutoriel Premiers pas avec les API OVHcloud pour les générer via la , puis notez l'Application Key, l'Application Secret et la Consumer Key : vous en aurez besoin à l'étape suivante.
Information importante :
Ce sujet n'est pas couvert par ce tutoriel, mais vous devez restreindre les routes API auxquelles le token a accès.
Créez un fichier nommé ovhcloud_api_credentials.yaml contenant vos secrets API :
Appliquez ce secret à votre namespace Prometheus dans votre cluster Kubernetes avec la commande suivante :
Créez un fichier nommé ovhcloud.yaml avec le contenu suivant :
Pour plus d'informations, consultez la documentation officielle de Prometheus.
Appliquez cette CR avec la commande suivante :
Le rechargement automatique de la configuration Prometheus peut prendre quelques minutes.
Après quelques minutes, en vérifiant l'interface HTTP des cibles Prometheus, vous devriez pouvoir observer quelque chose comme ceci dans l'UI de Prometheus :
Aller plus loin
Pour plus d'informations, consultez les liens suivants :
- Documentation de la ressource personnalisée Scrape configuration
- Référence API ScrapeConfig de l'opérateur Prometheus
- Référence API StaticConfig de l'opérateur Prometheus
- Référence API OpenStackSDConfig de l'opérateur Prometheus
- Référence API OVHCloudSDConfig de l'opérateur Prometheus
Pour une formation ou une assistance technique sur la mise en œuvre de nos solutions, contactez votre commercial ou consultez la page Professional Services pour obtenir un devis et faire analyser votre projet par nos experts.
Échangez avec notre communauté d'utilisateurs.