Prometheus est un système de surveillance et d'alerte open-source qui permet de collecter et de surveiller les métriques en temps réel. Il est largement utilisé pour la surveillance des performances des applications, des infrastructures et des services. Prometheus est particulièrement utile pour les équipes de développement et d'opérations qui souhaitent surveiller et analyser les métriques de leurs environnements.
Présentation de Prometheus
Qu'est-ce que Prometheus ?
Prometheus est un système de surveillance et d'alerte qui vous permet de :
- Collecter des métriques : Recueillir des données de performance et de diagnostic à partir de vos ressources.
- Stocker des métriques : Stocker les métriques dans une base de données de séries temporelles.
- Analyser les métriques : Utiliser des requêtes pour analyser les métriques.
- Générer des alertes : Configurer des alertes basées sur des conditions spécifiques.
- Intégrer avec d'autres outils : Intégrer avec des outils de visualisation comme Grafana pour créer des tableaux de bord interactifs.
Installation de Prometheus
Pour installer Prometheus, vous pouvez télécharger les binaires depuis le site officiel de Prometheus.
Télécharger et Installer Prometheus
- Télécharger Prometheus :
wget https://github.com/prometheus/prometheus/releases/download/v2.30.0/prometheus-2.30.0.linux-amd64.tar.gz
- Décompresser l'archive :
tar -xvf prometheus-2.30.0.linux-amd64.tar.gz
- Déplacer les binaires Prometheus dans un répertoire accessible :
sudo mv prometheus-2.30.0.linux-amd64/prometheus /usr/local/bin/
sudo mv prometheus-2.30.0.linux-amd64/promtool /usr/local/bin/
- Créer un répertoire pour les données Prometheus :
sudo mkdir /var/lib/prometheus
- Créer un fichier de configuration Prometheus :
sudo nano /etc/prometheus/prometheus.yml
Ajoutez la configuration suivante dans le fichier prometheus.yml
:
global: scrape_interval: 15s scrape_configs: - job_name: 'prometheus' static_configs: - targets: ['localhost:9090']
- Créer un service systemd pour Prometheus :
sudo nano /etc/systemd/system/prometheus.service
Ajoutez la configuration suivante dans le fichier prometheus.service
:
[Unit] Description=Prometheus Wants=network-online.target After=network-online.target [Service] User=prometheus Group=prometheus Type=simple ExecStart=/usr/local/bin/prometheus \ --config.file /etc/prometheus/prometheus.yml \ --storage.tsdb.path /var/lib/prometheus/ \ --web.console.templates=/etc/prometheus/consoles \ --web.console.libraries=/etc/prometheus/console_libraries [Install] WantedBy=multi-user.target
- Créer un utilisateur et un groupe pour Prometheus :
sudo useradd --no-create-home --shell /bin/false prometheus
sudo mkdir /etc/prometheus
sudo chown prometheus:prometheus /etc/prometheus
- Démarrer et activer le service Prometheus :
sudo systemctl daemon-reload
sudo systemctl start prometheus
sudo systemctl enable prometheus
Exemples de Ligne de Commande
Voici quelques exemples de commandes avancées pour utiliser Prometheus.
Démarrer Prometheus
Pour démarrer Prometheus :
sudo systemctl start prometheus
Arrêter Prometheus
Pour arrêter Prometheus :
sudo systemctl stop prometheus
Redémarrer Prometheus
Pour redémarrer Prometheus :
sudo systemctl restart prometheus
Vérifier le Statut de Prometheus
Pour vérifier le statut de Prometheus :
sudo systemctl status prometheus
Accéder à l'Interface Web de Prometheus
Pour accéder à l'interface web de Prometheus, ouvrez un navigateur web et accédez à http://localhost:9090
.
Configurer une Alerte
Pour configurer une alerte, vous pouvez ajouter une section alerting
dans votre fichier de configuration prometheus.yml
:
alerting: alertmanagers: - static_configs: - targets: ['localhost:9093'] rule_files: - "alerts.yml"
Ensuite, créez un fichier alerts.yml
avec les règles d'alerte :
groups: - name: example rules: - alert: InstanceDown expr: up == 0 for: 5m labels: severity: page annotations: summary: "Instance {{ $labels.instance }} down" description: "{{ $labels.instance }} of job {{ $labels.job }} has been down for more than 5 minutes."
Intégrer Prometheus avec Grafana
Pour intégrer Prometheus avec Grafana, suivez les étapes suivantes :
- Accédez à l'interface web de Grafana.
- Allez dans "Configuration" > "Data Sources".
- Cliquez sur "Add data source".
- Sélectionnez "Prometheus" et configurez les paramètres de connexion.
Intégrer Prometheus dans un Pipeline CI/CD
Pour intégrer Prometheus dans un pipeline CI/CD, vous pouvez ajouter une étape de surveillance et d'alerte dans votre fichier de configuration CI/CD. Par exemple, pour GitHub Actions, vous pouvez ajouter une étape comme suit :
name: Prometheus Monitoring on: [push, pull_request] jobs: prometheus: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Set up Prometheus run: | wget https://github.com/prometheus/prometheus/releases/download/v2.30.0/prometheus-2.30.0.linux-amd64.tar.gz tar -xvf prometheus-2.30.0.linux-amd64.tar.gz sudo mv prometheus-2.30.0.linux-amd64/prometheus /usr/local/bin/ sudo mv prometheus-2.30.0.linux-amd64/promtool /usr/local/bin/ sudo mkdir /var/lib/prometheus sudo nano /etc/prometheus/prometheus.yml sudo nano /etc/systemd/system/prometheus.service sudo useradd --no-create-home --shell /bin/false prometheus sudo mkdir /etc/prometheus sudo chown prometheus:prometheus /etc/prometheus sudo systemctl daemon-reload sudo systemctl start prometheus sudo systemctl enable prometheus
Conclusion
Prometheus est un outil puissant pour la surveillance et l'analyse des métriques en temps réel. En utilisant Prometheus, vous pouvez collecter, stocker, analyser et générer des alertes basées sur les métriques de vos environnements. Ces exemples de commandes et de configurations vous donnent un bon point de départ pour commencer à utiliser Prometheus.