lab_prometheus/Readme.md

84 lines
2.3 KiB
Markdown

# 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"]
```