|
|
||
|---|---|---|
| alertmanager | ||
| grafana | ||
| prometheus | ||
| .gitignore | ||
| Readme.md | ||
| docker-compose.yml | ||
Readme.md
Stack prometheus
Composants
- Prometheus
- Grafana
- sflow
- alertmanager
- cadvisor
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.ymlpour configurer le pull des exporter - Editer le fichier
prometheus/alert.rulespour 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"]