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 du fichier de configuration du service /etc/systemd/system/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
Plus d'informations sur la configuration du fichier /etc/prometheus/prometheus.yml sur le site https://prometheus.io/docs/prometheus/latest/configuration/configuration/
systemctl status prometheus
netstat -tlnap | grep 9090 ss -tlnap | grep 9090 telnet 127.0.0.1 9090
La liste des exporters est disponible sur le site https://prometheus.io/docs/instrumenting/exporters/
sudo apt-get install git
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
https://github.com/prometheus/node_exporter
/opt/go/bin/go get github.com/prometheus/node_exporter ~/go/bin/node_exporter &
/opt/go/bin/go get github.com/neezgee/apache_exporter ~/go/bin/apache_exporter &
CREATE USER 'exporter'@'localhost' IDENTIFIED BY 'passwordexporter' WITH MAX_USER_CONNECTIONS 3; GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'localhost'; FLUSH PRIVILEGES;
export DATA_SOURCE_NAME='exporter:<motdepasseduuserexporter'@(hostname:3306)/'
export DATA_SOURCE_NAME='exporter:toto@(hostname:3306)/'
Ajouter les lignes suivantes au fichier de configuration /etc/prometheus/prometheus.yml
- job_name: LinuxServer scrape_interval: 5s static_configs: - targets: ['<ip de votre machine>:9100']
- job_name: ApacheServer scrape_interval: 5s static_configs: - targets: ['<ip de votre machine>:9117']
- job_name: MySQL scrape_interval: 5s static_configs: - targets: ['<ip de votre machine>:9104']
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.