Skip to main content

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:       root@d4cf5c7e268d
  build date:       20200609-10:29:59
  go version:       go1.14.4
# promtool --version
promtool, version 2.19.0 (branch: HEAD, revision: 5d7e3e970602c755855340cb190a972cebdd2ebf)
  build user:       root@d4cf5c7e268d
  build date:       20200609-10:29:59
  go version:       go1.14.4