Skip to content

Commit

Permalink
Merge pull request #10 from bakraw/testing
Browse files Browse the repository at this point in the history
Testing - 2024-04-25 09:35
  • Loading branch information
bakraw authored Apr 25, 2024
2 parents 777db0c + a94783d commit 2f39a75
Show file tree
Hide file tree
Showing 7 changed files with 19 additions and 16 deletions.
3 changes: 1 addition & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
src/outil-cli/go.sum
src/api-json/go.sum
src/mikromap-api/go.sum
20 changes: 12 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,17 @@

### Code et fichiers de configuration pour la supervision de routeurs Mikrotik via Grafana, Prometheus, SNMP Exporter.

*src* contient *outil-cli* qui permet d'ajouter un nouveau routeur à tous les fichiers nécessaires, et *api-json*, un serveur HTTP qui transmet les informations au panel Geomap de Grafana.
*src* contient *mikromap-cli* qui permet d'ajouter un nouveau routeur à tous les fichiers nécessaires, et *mikromap-api*, un serveur HTTP qui transmet les informations au panel Geomap de Grafana.

*conf* contient les fichiers de configuration utilisés par les composants.

Le dashboard est une version modifiée de [Mikrotik monitoring](https://grafana.com/grafana/dashboards/14420-mikrotik-monitoring/) par *igorkha*.

## Mise en place

### Téléchargement

Télécharger les binaires stand-alone de [Grafana](https://grafana.com/get/?tab=self-managed), [Prometheus](https://prometheus.io/download/), [SNMP-Exporter](https://github.com/prometheus/snmp_exporter/releases) et de [ce dépôt](https://github.com/bakraw/mikrotik-grafana/releases).
Télécharger les binaires stand-alone de [Grafana](https://grafana.com/get/?tab=self-managed), [Prometheus](https://prometheus.io/download/), [SNMP-Exporter](https://github.com/prometheus/snmp_exporter/releases) et de [ce dépôt](https://github.com/bakraw/mikrotik-grafana/releases) (ou le clôner et le build).

Depuis le dossier où ils ont été téléchargés, placer dans le répertoire personnel et extraire:
```bash
Expand All @@ -22,14 +24,16 @@ rm -rf *.tar.gz

### Lancement

> N. B.- Ajouter des services *systemd* pour chaque exécutable est recommandé pour éviter d'avoir à les relancer manuellement à chaque redémarrage.
Lancer Prometheus:
```bash
~/prometheus*/prometheus --config.file=$HOME/mikrotik-grafana-release/fichiers-config/prometheus_config.yml
~/prometheus*/prometheus --config.file=$HOME/mikrotik-grafana/conf/prometheus_config.yml
```

Lancer SNMP Exporter:
```bash
~/snmp_exporter*/snmp_exporter --config.file=$HOME/mikrotik-grafana-release/fichiers-config/snmp_config.yml
~/snmp_exporter*/snmp_exporter --config.file=$HOME/mikrotik-grafana/conf/snmp_config.yml
```

Lancer Grafana:
Expand All @@ -41,7 +45,7 @@ cd ~/grafana*/bin/
Lancer l'API pour la carte:
```bash
cd ~/mikrotik-grafana/bin/
sudo ./api-json
sudo ./mikromap-api
```

> N. B.- L'API doit obligatoirement être lancée en sudo pour que les pings fonctionnent.
Expand Down Expand Up @@ -70,7 +74,7 @@ Ajouter deux sources de données:
![Config data source Prometheus](https://github.com/bakraw/mikrotik-grafana/assets/161661948/cd5f8abe-a194-4a92-9e77-a2ad1b673a86)

Dans la barre latérale: *Dashboards*, puis *New* > N. B.- *Import* > *Upload dashboard JSON file* , et choisir ```~/mikrotik-grafana/fichiers-config/grafana_dashboard.json```.
Dans la barre latérale: *Dashboards*, puis *New* > *Import* > *Upload dashboard JSON file* , et choisir ```~/mikrotik-grafana/conf/grafana_dashboard.json```.

## Ajout et supression de routeur

Expand All @@ -79,7 +83,7 @@ Dans la barre latérale: *Dashboards*, puis *New* > N. B.- *Import* > *Upload da
L'ajout de routeur à la supervision se fait via *outil-cli*:
```bash
cd ~/mikrotik-grafana/bin/
./outil-cli
./mikromap-cli
```

> N. B.- L'adresse entrée n'a pas besoin d'être parfaitement écrite (pas besoin d'accents, tirets, etc.) mais veiller à inclure un minimum d'informations pour que l'API renvoie les bonnes coordonnées (ex: *1 rue leclerc st etienne* suffit à obtenir *1 Rue du Général Leclerc 42100 Saint-Étienne*)
Expand Down Expand Up @@ -125,4 +129,4 @@ Ex: si l'on souhaite supprimer le routeur *8.8.8.8*, tout supprimer entre les li
]
}
]
```
```
2 changes: 1 addition & 1 deletion src/api-json/go.mod → src/mikromap-api/go.mod
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
module api-json
module mikromap-api

go 1.19

Expand Down
2 changes: 1 addition & 1 deletion src/api-json/main.go → src/mikromap-api/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ func readJSON() []Router {
// Lecture du fichier
content, err := os.ReadFile(getPath())
if err != nil {
log.Fatalf("--- Erreur lors de la lecture du fichier JSON:\n%s", err)
log.Fatalf("--- Erreur lors de la lecture du fichier JSON (vérifier que l'exécutable a bien été lancé en sudo):\n%s", err)
}

// Traitement des données
Expand Down
3 changes: 3 additions & 0 deletions src/mikromap-cli/go.mod
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
module mikromap-cli

go 1.19
2 changes: 1 addition & 1 deletion src/outil-cli/main.go → src/mikromap-cli/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,7 @@ func addRouter() {
func main() {

var n int
fmt.Print(">>> Nombre de routeurs à ajouter: ")
fmt.Print("Nombre de routeurs à ajouter >>> ")
n, err := fmt.Scanln(&n)
if err != nil {
log.Fatalf("--- Erreur lors de la récupération de la saisie:\n%s", err)
Expand Down
3 changes: 0 additions & 3 deletions src/outil-cli/go.mod

This file was deleted.

0 comments on commit 2f39a75

Please sign in to comment.