all:bibles:linux:serveur:prometheus
Table des matières
Prometheus
Installation sur Ubuntu 18.04
Installation
sudo -s export RELEASE="2.16.0" wget https://github.com/prometheus/prometheus/releases/download/v${RELEASE}/prometheus-${RELEASE}.linux-amd64.tar.gz tar xvf prometheus-${RELEASE}.linux-amd64.tar.gz cd prometheus-${RELEASE}.linux-amd64 groupadd --system prometheus useradd -s /sbin/nologin -r -g prometheus prometheus mkdir -p /etc/prometheus/{rules,rules.d,files_sd} /var/lib/prometheus cp prometheus.yml /etc/prometheus/ chown -R prometheus:prometheus /etc/prometheus /var/lib/prometheus chmod -R 775 /etc/prometheus /var/lib/prometheus cp prometheus promtool /usr/local/bin/ cp -r consoles/ console_libraries/ /etc/prometheus/
Création service
Création du fichier de configuration du service /etc/systemd/system/prometheus.service
- prometheus.service
[Unit] Description=Prometheus systemd service unit Wants=network-online.target After=network-online.target [Service] Type=simple User=prometheus Group=prometheus ExecReload=/bin/kill -HUP $MAINPID 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 \ --web.listen-address=0.0.0.0:9090 SyslogIdentifier=prometheus Restart=always [Install] WantedBy=multi-user.target
Changer le 0.0.0.0:9090 avec l'adresse IP d'une interface pour limiter l'accès à un réseau particulier. 127.0.0.1:9090 pour limiter l'accès en local.
Fichier de configuration
Plus d'informations sur la configuration du fichier /etc/prometheus/prometheus.yml sur le site https://prometheus.io/docs/prometheus/latest/configuration/configuration/
Démarrage et activation
Vérifications
Etat du service
systemctl status prometheus
Port à l'écoute
netstat -tlnap | grep 9090 ss -tlnap | grep 9090 telnet 127.0.0.1 9090
Si nécessaire vérifier qu'un firewall ne bloque pas le port.
Exporters
La liste des exporters est disponible sur le site https://prometheus.io/docs/instrumenting/exporters/
Prérequis
Installer git
sudo apt-get install git
Installer go
Télécharger la dernière version disponible sur le site https://go.dev/dl/
wget https://dl.google.com/go/go1.14.linux-amd64.tar.gz tar zxvf go1.14.linux-amd64.tar.gz sudo mv go /opt chown -R root:root /opt/go mkdir ~/go
La variable $GOPATH ne doit pas être positionnée dans le répertoire d'installation. Il faut pointer ailleurs. Par défaut c'est dans le répertoire $HOME/go
Installer exporter
Monitoring de l'OS (Linux)
https://github.com/prometheus/node_exporter
/opt/go/bin/go get github.com/prometheus/node_exporter ~/go/bin/node_exporter &
Monitoring d'une instance apache2
/opt/go/bin/go get github.com/neezgee/apache_exporter ~/go/bin/apache_exporter &
Monitoring d'une base de données MySQL
- Récupérez sur le GITHUB de prometheus la dernière version de l'exporter mysqld: https://github.com/prometheus/mysqld_exporter/releases.
- Décompressez l'archive précédemment téléchargée sur votre serveur hébergeant votre base de donnée MySQL.
- Connectez-vous sur votre base de donnée et lancez les deux requêtes suivantes.
CREATE USER 'exporter'@'localhost' IDENTIFIED BY 'passwordexporter' WITH MAX_USER_CONNECTIONS 3; GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'localhost'; FLUSH PRIVILEGES;
- Alimentez la variable d'environnement avec les identifiants du user exporter précédemment créés.
export DATA_SOURCE_NAME='exporter:<motdepasseduuserexporter'@(hostname:3306)/'
- Lancez l'exporter mysqld.
export DATA_SOURCE_NAME='exporter:toto@(hostname:3306)/'
MariaBD
MongoDB
Fichier de configuration prometheus
Ajouter les lignes suivantes au fichier de configuration /etc/prometheus/prometheus.yml
Monitoring de l'OS (Linux)
- job_name: LinuxServer scrape_interval: 5s static_configs: - targets: ['<ip de votre machine>:9100']
Monitoring d'une instance apache2
- job_name: ApacheServer scrape_interval: 5s static_configs: - targets: ['<ip de votre machine>:9117']
Monitoring d'une base de données MySQL
- job_name: MySQL scrape_interval: 5s static_configs: - targets: ['<ip de votre machine>:9104']
Interface Web Prometheus
Lancer l'interface graphique avec l'url http://adresseIP:9090
Choisir le menu « Status / Target » et vérifier que les nodes apparaissent bien dans l'interface web.
Dépannage
Le service ne démarre pas
- Vérifier les droits des répertoires /etc/prometheus et /var/lib/prometheus
- Consulter les log dans le fichier /var/log/syslog
Sources
all/bibles/linux/serveur/prometheus.txt · Dernière modification : de 127.0.0.1

