Commit c14e9de2 authored by k.elaammari's avatar k.elaammari
Browse files

readme

parent 1f58e728
......@@ -12,7 +12,7 @@ Mithilfe dieses Workflows können Sie mit Vagrant eine vollständige Monitoring-
Es ist auf jeder dieser virtuellen Maschinen (VMs) der Prometheus-node-exporter für das Bereitstellen der zu erfassenden Metriken installiert.
![Infrastruktur](./docu/inkscape/infrastruktur.png)
![Infrastruktur](./docu/inkscape/infrastruktur_s.png)
## Voraussetzungen
......@@ -70,6 +70,130 @@ Da die Dienste Grafana und Chronograf ein signiertes TLS-Zertifikat besitzen, k
./scripts/openssl_fingerprint.sh
```
## Vagrant Kommandos
* ```vagrant up <vm>```
Startet und erstellt falls nötig die Maschine. Wird die Maschine zum ersten Mal gestartet, wird auch die Provision ausgeführt, andernfalls muss mit der Option "--provision" die Provisionierung explizit gefordert werden.
* ```vagrant destroy <vm>```
Zerstört die Maschine unwiderruflich.
* ```vagrant provision <vm>```
Mit diesem Befehl führen Sie bei einer laufenden Maschine die Provisionierung neu aus. Dabei werden die Befehle aus der Vagrantfile (%vm_name%.vm.provision) in absteigender Reihenfolge nacheinander ausgeführt. Das bedeutet, als erstes werden mit dem File-Provisionierer die aktuellen Dateien aus dem Projektverzeichnis erneut auf die VM kopiert und anschließend die Inline-Skripte ausgeführt.
* ```vagrant ssh <vm>```
Baut eine SSH Verbindung mit dem von Vagrant hinzugefügten Key auf.
## Klassifizierung von Dateien
Um eine überschaubare Umgebung zu schaffen, wird versucht die hier verwendeten Daten und Dateien in drei Kategorien zu unterteilt.
### 1. Executable
In die Kategorie Executable fallen alle Binären oder Ausführbaren Dateien. In diesem Projekt werden alle Programme von den jeweiligen Paketmanagern installiert, lediglich Skripte, wie z.B. die für den Backup- und Restore-Workflow werden mit dem File-Provisionierer kopiert. Zusätzlich gelten Unit- und Timer-Dateien in diesem Projekt auch in die Kategorie Executable, die auch je nach VM mit dem File-Provisionierer kopiert werden.
```shell
.vagrant-prometheus/
./provision
./chronograf
./config
./chronograf.service
./grafana
./setup_grafana.sh
./influx
./backup
./backup_call.sh
./backup.sh
./restore.sh
./config
./backup.service
./backup.timer
./setup_influx.sh
./node
./config
./stress.service
./prometheus
./config
./prom.service
./scripts
./influx_backup.sh
./influx_restore.sh
./node_start_stress.sh
./node_stop_stress.sh
./openssl_fingerprint.sh
./openssl_generate.sh
./openssl_node.sh
```
### 2. Konfigurations-Daten
Konfigurationsdateien werden beim Start der Executables gebraucht. Hierrunter fallen z.B. Ini- oder Conf-Dateien. Einen Sonderfall in diesem Projekt haben die Text- und JSON-Dateien, diese enthalten Daten, die nicht direkt von den Executables interpretiert werden. Sondern werden z.B. die JSON-Dateien mittels CURL an die HTTP-API von Grafana gesendet, um einen Zustand zu erzeugen. Da der Workflow für Openssl bzw. Zertifikate in einer anderen Sektion beschrieben wird, übergehen wir hier diese Dateien.
```shell
.vagrant-prometheus/
./openssl
./config/*.cnf # Zertifikat Konfigurationen
./provision
./grafana
./config
./dashboards/*.json # Grfana Dashboards
./datasources/*.json # Grafana Datasources
./users/*.json # Grafana Benutzer
./graf_conf.ini # Konfigurationsdatei
./request_token.json # API-Token
./influx
./config
./influxdb.conf # Konfigurationsdatei
./setup.queries # Queries die auf der Influxdb ausgeführt werden müssen
./setup_influx.sh # Sonderfall, da hier die Standardwerte für den Admin-Benutzer stehen
./prometheus
./config
./prom.yml # Konfigurationsdatei
```
### 3. Benutzer-Daten
Hiermit sind alle Daten gemeint, die bei Inbetriebnahme und während dem Betrieb entstehen. Im Projektverzeichnis enthalten folgende Ordner Benutzerdaten:
```shell
.vagrant-prometheus/
./backup
./openssl/data
```
Weiter Benutzerdaten befinden sich auf den VMs.
* Chronograf
```shell
/var/lib/chronograf/chronograf-v1.db
```
* Grafana
```shell
/var/lib/grafana/
./grafana.db
./token/apitoken.json
```
* Influxdb
```shell
/var/lib/influxdb/
./data
./meta
./wal
```
* Prometheus
```shell
/var/lib/prometheus/data
```
## Backup- und Restore-Workflow
### Backup
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment