Prometheus

Prometheus est disponible dans les dépôts Debian avec forcément un décalage avec la dernière version.

Installation via les packets

Actuellement, Prometheus est en version 2.7.1.

apt install -y prometheus prometheus-node-exporter
Prometheus

Contrôle du service

systemctl status prometheus
● prometheus.service - Monitoring system and time series database
   Loaded: loaded (/lib/systemd/system/prometheus.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2020-06-13 18:45:04 CEST; 1min 39s ago
     Docs: https://prometheus.io/docs/introduction/overview/
 Main PID: 2259 (prometheus)
    Tasks: 10 (limit: 2330)
   Memory: 28.9M
   CGroup: /system.slice/prometheus.service
           └─2259 /usr/bin/prometheus

juin 13 18:45:04 grafana prometheus[2259]: level=info ts=2020-06-13T16:45:04.263785211Z caller=main.go:302 host_details="(Linux 4.19.0-9-amd64 #1 SMP Debian 4.19.118-2+deb10u1 (2020-06-07) x86_64 grafana (none))"
juin 13 18:45:04 grafana prometheus[2259]: level=info ts=2020-06-13T16:45:04.26395904Z caller=main.go:303 fd_limits="(soft=8192, hard=8192)"
juin 13 18:45:04 grafana prometheus[2259]: level=info ts=2020-06-13T16:45:04.264134173Z caller=main.go:304 vm_limits="(soft=unlimited, hard=unlimited)"
juin 13 18:45:04 grafana prometheus[2259]: level=info ts=2020-06-13T16:45:04.265086335Z caller=main.go:618 msg="Starting TSDB ..."
juin 13 18:45:04 grafana prometheus[2259]: level=info ts=2020-06-13T16:45:04.265651345Z caller=web.go:411 component=web msg="Start listening for connections" address=0.0.0.0:9090
juin 13 18:45:04 grafana prometheus[2259]: level=info ts=2020-06-13T16:45:04.274234991Z caller=main.go:633 msg="TSDB started"
juin 13 18:45:04 grafana prometheus[2259]: level=info ts=2020-06-13T16:45:04.275447813Z caller=main.go:693 msg="Loading configuration file" filename=/etc/prometheus/prometheus.yml
juin 13 18:45:04 grafana prometheus[2259]: level=info ts=2020-06-13T16:45:04.276361825Z caller=main.go:720 msg="Completed loading of configuration file" filename=/etc/prometheus/prometheus.yml
juin 13 18:45:04 grafana prometheus[2259]: level=info ts=2020-06-13T16:45:04.276671785Z caller=main.go:587 msg="Server is ready to receive web requests."
juin 13 18:45:09 grafana prometheus[2259]: level=error ts=2020-06-13T16:45:09.26766491Z caller=notifier.go:481 component=notifier alertmanager=http://localhost:9093/api/v1/alerts count=0 msg="Error sending alert" err="Post http://localh

Accès web

http://xx.xx.xx.xx:9090

Prometheus0.png

Node Exporter

Prometheus n'est rien sans Node Exporter. Car c'est Node Exporter qui collecte les données.

vi /etc/prometheus/prometheus.yml

De base,le fichier de configuration ce suffit à lui même. J'ai juste rajouté le cas avec un second Node Exporter.

scrape_configs:
  - job_name: 'prometheus'

    scrape_interval: 5s
    scrape_timeout: 5s

    static_configs:
      - targets: ['localhost:9090']

  - job_name: 'node'
    static_configs:
      - targets: ['monserveur:9100','second_serveur:9100']

Pour voir si Node Exporter est bien connecter avec Prometheus : aller dans dans Status > Targets

Prometheus1.png

Prometheus comme source pour Grafana

grafana_prometheus_1.png

grafana_prometheus_2.png

grafana_prometheus_3.png

grafana_prometheus_4.png

grafana_prometheus_5.png

grafana_prometheus_6.png

grafana_prometheus_7.png

grafana_prometheus_8.png

Installation via les binaires pré-compilés

Pour être certains d'avoir la version la plus récente, on va passer par le dépot GIT

Pré-requis

apt install -y wget curl
groupadd --system prometheus
useradd -s /sbin/nologin --system -g prometheus prometheus
mkdir /var/lib/prometheus

Téléchargement et installation

mkdir -p /tmp/prometheus && cd /tmp/prometheus
curl -s https://api.github.com/repos/prometheus/prometheus/releases/latest | grep browser_download_url | grep linux-amd64 | cut -d '"' -f 4 | wget -qi -
tar xvf prometheus*.tar.gz
# cd prometheus*/
# mv prometheus promtool /usr/local/bin/

Contrôle que Prometheus est bien installer et savoir sa version

# prometheus --version
prometheus, version 2.19.0 (branch: HEAD, revision: 5d7e3e970602c755855340cb190a972cebdd2ebf)
  build user:       [email protected]
  build date:       20200609-10:29:59
  go version:       go1.14.4
# promtool --version
promtool, version 2.19.0 (branch: HEAD, revision: 5d7e3e970602c755855340cb190a972cebdd2ebf)
  build user:       [email protected]
  build date:       20200609-10:29:59
  go version:       go1.14.4