2023-08-25 11:01:20 +02:00
2023-08-25 11:00:11 +02:00
2023-06-06 16:38:17 +02:00
2023-08-25 11:00:11 +02:00

PROMETHEUS & GRAFANA

Ce projet vise à monitorer des serveurs via prometheus pour centraliser le scraping, node exporter pour les host metrics, cadvisor pour les metrics des conteneurs docker et grafana pour afficher les metrics sous forme de dashboards

PROM

CONFIGURATION

  • Configuration de la boîte mail pour les alertes:
nano alertmanager/alertmanager.yml
  • Configuration des alertes:
nano alertmanager/alert.rules
  • Configuration des alertes:
nano alertmanager/alert.rules

Grafana est accessible via l'adresse: http://:3000

NODE EXPORTER TLS

  • Créer un enregistrement DNS pointant vers votre serveur
  • Créer une configuration serveur pointant le DNS vers 127.0.0.1:9100 (port exposé par node exporter) exemple pour nginx

NODE EXPORTER HOST

  • Create certs:
openssl req -new -newkey rsa:4096 -days 365 -nodes -x509 -keyout gn-prod.key -out gn-prod.crt -subj "/C=FR/ST=PARIS/L=GarageNum/O=prom/CN=legaragenumerique.fr" -addext "subjectAltName = DNS:gnprod"
  • Create password:
htpasswd -nBC 10 "" | tr -d ':\n'; echo
  • Node exporter web.yml (/etc/node-exporter/web.yml):
tls_server_config:
  cert_file: gn-prod.crt
  key_file: gn-prod.key
basic_auth_users:
  prometheus: <the-output-value-of-htpasswd>
  • Copy certs to prometheus host

PROMETHEUS HOST

  • Config prometheus.yml (/etc/prometheus/prometheus.yml):
scrape_configs:
  - job_name: 'node-exporter-tls'
    scheme: https
    basic_auth:
      username: prometheus
      password: <the-plain-text-password>
    tls_config:
      ca_file: gn-prod.crt
      insecure_skip_verify: true
    static_configs:
    - targets: ['node-exporter-ip:9100']
      labels:
        instance: friendly-instance-name

TO DO

  • node exporter
  • node exporter -> prometheus via https
  • dashboard for Grafana amd64:
    • host metrics
    • cadvisor for docker
Description
Prometheus / Grafana deployed via docker-compose
Readme MIT 287 KiB