Prometheus

De Le Wiki de Lug
Aller à la navigation Aller à la recherche

Serveur

36 % partie serveur Prometheus terminé

   

LXC Alpine 3.12 Prometheus

Installation serveur de base

# apk update && apk upgrade
# apk add prometheus
# rc-update add prometheus default
# service prometheus start

On test en se rendant sur l'adresse http://IP_PROMETHEUS:9090 :

Le serveur fonctionne!

Facile!

(Optionnel) Securisation serveur

source autre source

On installe un proxy local pour sécuriser le flux :

# apk add nginx
# rc-update add nginx default
# service nginx start

On crée un .htpasswd pour l'utilsateur "admin" et son mot de passe :

# apk add apache2-utils
# htpasswd -c /etc/nginx/.htpasswd admin
New password:

On prépare le cryptage (self signed) :

# apk add openssl
# mkdir -p /root/certs/prometheus/ && cd /root/certs/prometheus
# openssl req \
    -x509 \
    -newkey rsa:4096 \
    -nodes \
    -keyout prometheus.key \
    -out prometheus.crt

On configure le vhost :

# vi /etc/nginx/conf.d/prometheus.conf
server {
        listen              9191 ssl;
        ssl_certificate     /root/certs/prometheus/prometheus.crt;
        ssl_certificate_key /root/certs/prometheus/prometheus.key;

        location / {
        auth_basic           "Prometheus";
        auth_basic_user_file /etc/nginx/.htpasswd;

        proxy_pass http://localhost:9090/;

       }
   }
# service nginx status

On configure prometheus en rajoutant ces trois lignes :

# vi /etc/init.d/prometheus
...
command_args="--config.file=$prometheus_config_file \
       --web.listen-address="127.0.0.1:9090" \
       --web.external-url=https://127.0.0.1:9191 \
       --web.route-prefix="/" \
       --storage.tsdb.path=$prometheus_storage_path \
...
# service prometheus restart
* Caching service dependencies ... [ ok ]
* Starting prometheus ... [ ok ]

Grafana LCX Alpine 3.12

Importation Serveur Prometheus Distant (self signed)

Pag d'importation

Export

ProxMox

Prometheus Node Exporter

ProxMox

ProxMox:~# apt install prometheus-node-exporter

On crée un fichier de configuration avec l'adresse et port d'écoute :

ProxMox:~# echo 'ARGS=--web.listen-address=12.34.56.789:9100' > /etc/prometheus.conf

On active le fichier de configuration en modifiant le script :

ProxMox:~# vi /lib/systemd/system/prometheus-node-exporter.service
EnvironmentFile=/etc/prometheus.conf
ProxMox:~# systemctl daemon-reload
ProxMox:~# service prometheus-node-exporter restart

Import Serveur Prometheus

Prometheus:~# vi /etc/prometheus/prometheus.yml
...
  - job_name: node
    static_configs:
    - targets: [192.168.13.200:9100]
Prometheus:~# service prometheus restart

On vérifie que l'exporter est "up" en se rendant sur son serveur Prometheus dans "Status" -> "Targets"

Menu "targets"

Prometheus PVE Exporter

source en français de qualitay

Export Nvidia

docker run --name NVexport -p IP_EXPOSE:9445:9445 -d --restart=always -e LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/libnvidia-ml.so.1 --volume /usr/lib/x86_64-linux-gnu/libnvidia-ml.so.1:/usr/lib/x86_64-linux-gnu/libnvidia-ml.so.1 --privileged mindprince/nvidia_gpu_prometheus_exporter:0.1