lab_prometheus/Readme.md

2.3 KiB

Stack prometheus

Composant

  • Prometheus
  • Grafana
  • sflow
  • alertmanager

Installation

Creer un fichier .env a la racine du projet au format suivant

GRAFANA_ADMIN=<login admin>
GRAFANA_PASSWORD=<passwoed admin>

Ces avec ce login/pwd que vous pourrez vous connecter a l'interface Grafana

Note: Le docker compose utilise Traefik, penser à adapter les labels du docker-compose.yml .

Creer le reseau supervision

docker network create supervision

Creer le stockage suivant

docker volume create prom_data
docker volume create sflow-rt_data

Configuration prometheus

  • Editer le fichier prometheus/prometheus.yml pour configurer le pull des exporter
  • Editer le fichier prometheus/alert.rules pour configurer vos alarmes

Configuration Grafana

Editer le fichier grafana/conf/grafana.ini pour adapter l'url publique d'acces

...
...
###################### Server ####################
[server]
...
root_url = <Votre url d'acces>
...
...

Note:

L'acces a prometheus est interne au stack docker inutile de modifier le fichier grafana/datasource/datasource.yml si vous ne modifier pas le hostname du service prometheus

Lancement de l'application

docker compose up -d

Préparation de la configuration des open vswitch pour envoi des flux sflow

Exemple avec 2 openvswitdh

  • ovsbr0
  • ovsbr1

Sur le host docker:

ovs-vsctl -- --id=@sflow create sflow agent=enp2s0 target="\"addresse_sflow:6343\""  header=128 sampling=64 polling=10 -- set bridge ovsbr0  sflow=@sflow
ovs-vsctl -- --id=@sflow create sflow agent=enp2s0 target="\"addresse_sflow:6343\""  header=128 sampling=64 polling=10 -- set bridge ovsbr1  sflow=@sflow

ou addresse sflow correspond a l'addresse du host docker

Vérification:

ovs-vsctl list sflow
_uuid               : d110f5c1-3b58-457e-8d7e-ba2c35ec302d
agent               : enp2s0
external_ids        : {}
header              : 128
polling             : 10
sampling            : 64
targets             : ["192.168.200.21:6343"]

_uuid               : 36ef3b15-c3c2-4159-86a9-f0a1d8e877a1
agent               : enp2s0
external_ids        : {}
header              : 128
polling             : 10
sampling            : 64
targets             : ["192.168.200.21:6343"]