Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:icinga2_-_graphite

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
tachtler:icinga2_-_graphite [2016/10/07 05:10] klaustachtler:icinga2_-_graphite [2022/03/24 07:55] (aktuell) – [Konfiguration: graphite-web] klaus
Zeile 1811: Zeile 1811:
  
 Nachfolgende Konfigurationsdatei  Nachfolgende Konfigurationsdatei 
-  * ''/etc/carbon/carbon.conf''+  * ''/etc/carbon/storage-schemas.conf''
 beinhaltete die Konfigurationen, damit die Aggregation der Daten in ''carbon'' funktioniert. Hier müssen in der Konfigurationsdatei die Intervalle und Vorhaltezeiten eingetragen werden, nach denen ''carbon'' arbeiten soll. beinhaltete die Konfigurationen, damit die Aggregation der Daten in ''carbon'' funktioniert. Hier müssen in der Konfigurationsdatei die Intervalle und Vorhaltezeiten eingetragen werden, nach denen ''carbon'' arbeiten soll.
  
Zeile 1838: Zeile 1838:
 # intervals like PNP4Nagios uses them per default # intervals like PNP4Nagios uses them per default
 pattern = ^icinga2\. pattern = ^icinga2\.
-retentions = 1m:2d,5m:10d,30m:90d,360m:4y+retentions = 1m:2d,5m:10d,15m:30d,30m:90d,360m:4y
  
 [default_1min_for_1day] [default_1min_for_1day]
Zeile 1850: Zeile 1850:
 # intervals like PNP4Nagios uses them per default # intervals like PNP4Nagios uses them per default
 pattern = ^icinga2\. pattern = ^icinga2\.
-retentions = 1m:2d,5m:10d,30m:90d,360m:4y</code>+retentions = 1m:2d,5m:10d,15m:30d,30m:90d,360m:4y 
 +</code>
  
 Die Daten können aus der [[https://www.icinga.org/|Icinga]]-Dokumentation entnommen werden. Die Daten können aus der [[https://www.icinga.org/|Icinga]]-Dokumentation entnommen werden.
Zeile 1908: Zeile 1909:
  
 :!: **HINWEIS** - Noch bevor die Tabellen für die Datenbank eingerichtet werden können, ist die ''graphite-web'' Web-Anwendung einzurichten, da sonst die Anzeige der Daten und die Konfiguration von ''whisper'' unvollständig ist. :!: **HINWEIS** - Noch bevor die Tabellen für die Datenbank eingerichtet werden können, ist die ''graphite-web'' Web-Anwendung einzurichten, da sonst die Anzeige der Daten und die Konfiguration von ''whisper'' unvollständig ist.
 +
 +==== /etc/graphite-web/graphTemplates.conf ====
 +
 +Um für Icinga2 **ab Version 2.10.x** ein **dunkles**-Standard-Theme zur Verfügung zu stellen, muss nachfolgende mitgelieferte Konfigurationsdatei aus dem Verzeichnis
 +  * ''/usr/share/doc/graphite-web-0.9.16/graphTemplates.conf.example''
 +nach
 +  * ''/etc/graphite-web/graphTemplates.conf''
 +**__kopiert__** und **__umbenannt__** werden, was mit nachfolgendem Befehl durchgeführt werden kann:
 +<code>
 +# cp -a /usr/share/doc/graphite-web-0.9.16/graphTemplates.conf.example /etc/graphite-web/graphTemplates.conf
 +</code>
  
 ==== /etc/graphite-web/local_settings.py ==== ==== /etc/graphite-web/local_settings.py ====
Zeile 2601: Zeile 2613:
  
 Nachfolgende Schritte zeigen, wie dies eingerichtet werden kann. Nachfolgende Schritte zeigen, wie dies eingerichtet werden kann.
 +
 +==== carbon-cache: RAM-Disk - Server stoppen ====
 +
 +Der [[http://graphite.wikidot.com/|Graphite]] **carbon-cache**-Server kann mit nachfolgendem Befehle gestoppt werden:
 +<code>
 +# systemctl stop carbon-cache
 +</code>
 +
 +==== carbon-cache: RAM-Disk - Verzeichnisse ====
 +
 +Nachdem der [[http://graphite.wikidot.com/|Graphite]] **carbon-cache**-Server gestoppt ist, sollte ein neues Verzeichnis mit nachfolgendem Befehl angelegt werden:
 +<code>
 +# mkdir -p /var/lib/carbon/whisper.persistent
 +</code>
 +
 +:!: **HINWEIS** - Das so **neu entstandene Verzeichnis**, stellt die **dauerhafte Kopie auf der Fetsplatte dar.**
 +
 +Anschließend kann der Inhalt des bisherigen Verzeichnisses und des zukünftigen **Mount**-Points der **RAM-Disk** in das neue Verzeichnis verschoben werden, was mit nachfolgendem Befehl durchgeführt werden kann:
 +<code>
 +# mv /var/lib/carbon/whisper/* /var/lib/carbon/whisper.persistent/
 +</code>
 +
 +:!: **HINWEIS** - Anschließend sollte nun das **bishergige Verzeichnis** - **leer** sein!
  
 ==== carbon-cache: RAM-Disk - anlegen ==== ==== carbon-cache: RAM-Disk - anlegen ====
Zeile 2611: Zeile 2646:
 <code> <code>
 ... ...
-tmpfs /var/lib/carbon/whisper tmpfs defaults,size=512m,mode=750,uid=394,gid=391 0 0+tmpfs /var/lib/carbon/whisper  tmpfs defaults,size=512m,mode=750,uid=394,gid=391 0 0
 ... ...
 </code> </code>
  
 Die vorhergehende Zeile bewirkt, dass Die vorhergehende Zeile bewirkt, dass
-  * das Verzeichnis ''/var/lib/carbon/whisper'' als **RAN-Disk** "gemountet" wird+  * das Verzeichnis ''/var/lib/carbon/whisper'' als **RAM-Disk** "gemountet" wird
   * das "Dateisystem" ist hier ''tmpfs''   * das "Dateisystem" ist hier ''tmpfs''
   * es gelten die ''defaults'' und weitere Angaben wie   * es gelten die ''defaults'' und weitere Angaben wie
-    * Größe der **RAN-Disk**, hier **512 MB**+    * Größe der **RAM-Disk**, hier **512 MB**
     * Die **Datei**rechte sollen **750** lauten     * Die **Datei**rechte sollen **750** lauten
     * Der **Benutzer** hat die **ID des Benutzers: ''carbon''**     * Der **Benutzer** hat die **ID des Benutzers: ''carbon''**
Zeile 2625: Zeile 2660:
     * Weitere mount/sync Angaben ''0 0''     * Weitere mount/sync Angaben ''0 0''
  
-==== carbon-cache: RAM-Disk - Server stoppen ====+Abschließend kann nun, durch nachfolgenden Befehl, die **RAM-Disk** tatsächlich "gemounted" werden.: 
 +<code> 
 +# mount -
 +</code>
  
-Der [[http://graphite.wikidot.com/|Graphite]] **carbon-cache**-Server kann mit nachfolgendem Befehle gestartet werden:+Nachfolgende **RAM-Disk** - ''/var/lib/carbon/whisper'' sollte nun zu sehen sein, was mit nachfolgendem Befehl überprüft werden kann:
 <code> <code>
-systemctl stop carbon-cache+df -h | grep /var/lib/carbon/whisper 
 +tmpfs                         512M      512M   0% /var/lib/carbon/whisper
 </code> </code>
  
 +==== carbon-cache: RAM-Disk - systemd-Daemon anpassen ====
 +
 +Damit beim **Neustart** oder **Herunterfahren** des Servers die Daten aus der **RAM-Disk** nicht verloren gehen, soll beim **Starten und Stoppen** des [[http://graphite.wikidot.com/|Graphite]] **carbon-cache**-Servers, die **RAM-Disk** entsprechend beim
 +  * Start - einlesen der Daten von der Festplatte in die **RAM-Disk**
 +  * Stoppen - schreiben der Daten aus der **RAM-Disk** auf die Festplatte
 +durchgeführt werden.
 +
 +Dazu kann der **systemd**-Dienst des [[http://graphite.wikidot.com/|Graphite]] **carbon-cache**-Server, wie folgt angepasst werden.
 +
 +Zuerst sollte eine Kopie des **ursprünglichen ''systemd''-Dienstes** wie folgt angefertigt werden, damit bei eventuellen Updates des [[http://graphite.wikidot.com/|Graphite]] **carbon-cache**-Server die nachfolgenden Änderungen **__nicht__ verloren gehen**:
 +<code>
 +# cp -a /usr/lib/systemd/system/carbon-cache.service /etc/systemd/system/carbon-cache.service
 +</code>
 +
 +Anschließend kann die so entstandene neue ''systemd''-Dienst-Datei wie folgt angepasst werden:
 +
 +(**Komplette Konfigurationsdatei**)
 +
 +<code>
 +[Unit]
 +Description=Graphite Carbon Cache
 +After=network.target
 +
 +[Service]
 +Type=forking
 +StandardOutput=syslog
 +StandardError=syslog
 +ExecStartPre=/usr/bin/rsync -ratv /var/lib/carbon/whisper.persistent/ /var/lib/carbon/whisper/
 +ExecStart=/usr/bin/carbon-cache --config=/etc/carbon/carbon.conf --pidfile=/var/run/carbon-cache.pid --logdir=/var/log/carbon/ start
 +ExecReload=/bin/kill -USR1 $MAINPID
 +ExecStopPost=/usr/bin/rsync -ratv /var/lib/carbon/whisper/ /var/lib/carbon/whisper.persistent/
 +PIDFile=/var/run/carbon-cache.pid
 +TimeoutStartSec=2min 30s
 +TimeoutStopSec=2min 30s
 +
 +[Install]
 +WantedBy=multi-user.target
 +</code>
 +
 +**Neu** sind hier die vier nachfolgenden Zeilen:
 +
 +Die **erste Zeile** bewirkt, dass die Daten von der Festplatte in die **RAM-Disk** eingelesen werden, **bevor** der [[http://graphite.wikidot.com/|Graphite]] **carbon-cache**-Server **gestartet** wird.
 +<code>
 +ExecStartPre=/usr/bin/rsync -ratv /var/lib/carbon/whisper.persistent/ /var/lib/carbon/whisper/
 +</code>
 +
 +Die **zweite Zeile** bewirkt, dass die Daten von der **RAM-Disk** auf die Festplatte geschrieben werden, **nachdem** der [[http://graphite.wikidot.com/|Graphite]] **carbon-cache**-Server **gestoppt** wurde.
 +<code>
 +ExecStopPost=/usr/bin/rsync -ratv /var/lib/carbon/whisper/ /var/lib/carbon/whisper.persistent/
 +</code>
 +
 +Die **dritte Zeile** bewirkt, dass ein Möglicher **Timeout** beim starten des Daemon/Dienstes von **standardmäßig** - ''1min 30s'' auf z.B. hier **''2min 30s''** erhöht wird, was notwendig sein kann, wenn **viele** Daten via ''rsync'' zu kopieren sind!
 +<code>
 +TimeoutStartSec=2min 30s
 +</code>
 +
 +Die **vierte Zeile** bewirkt, dass ein Möglicher **Timeout** beim beenden des Daemon/Dienstes von **standardmäßig** - ''1min 30s'' auf z.B. hier **''2min 30s''** erhöht wird, was notwendig sein kann, wenn **viele** Daten via ''rsync'' zu kopieren sind!
 +<code>
 +TimeoutStopSec=2min 30s
 +</code>
 +
 +Nachfolgender Befehl, gibt die Änderungen dem ''systemd''-Dienst bekannt: (**Änderung der "Timeout"-Zeiten**)
 +<code>
 +# systemctl daemon-reexec
 +</code>
 +
 +Nachfolgender Befehl, gibt die Änderungen dem ''systemd''-Dienst bekannt: (**Änderung von "Exec-Start/Stop**)
 +<code>
 +# systemctl daemon-reload
 +</code>
 +
 +==== carbon-cache: RAM-Disk - cron-Job ====
 +
 +Um nicht nur beim **Stoppen** des [[http://graphite.wikidot.com/|Graphite]] **carbon-cache**-Server die Daten 
 +von der **RAM-Disk** auf die Festplatte zu schreiben, sondern dies auch in regelmäßigen Abständen durchzuführen, kann nachfolgender ''cron''-Job angelegt werden:
 +
 +(**Nur relevnater Ausschnitt**)
 +
 +<code>
 +PATH=/sbin:/bin:/usr/sbin:/usr/bin
 +MAILTO=root
 +
 +# For details see man 4 crontabs
 +
 +# Example of job definition:
 +# .---------------- minute (0 - 59)
 +# |  .------------- hour (0 - 23)
 +# |  |  .---------- day of month (1 - 31)
 +# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
 +# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
 +# |  |  |  |  |
 +# *  *  *  *  * user-name  command to be executed
 +
 +# Tachtler
 +# rsync from RAM-Disk: /var/lib/carbon/whisper/(all files) to HDD-Disk: /var/lib/carbon/whisper.persistant/(all files)  
 +*/30 * * * * root /usr/bin/rsync -ratv /var/lib/carbon/whisper/ /var/lib/carbon/whisper.persistent/ >/dev/null 2>&1
 +</code>
 +
 +:!: **HINWEIS** - Vorhergehender ''cron''-job synchronisiert alle **30 Minuten** die Daten aus der **RAM-Disk** auf die Festplatte.
 +
 +==== carbon-cache: RAM-Disk - Server starten ====
 +
 +Der [[http://graphite.wikidot.com/|Graphite]] **carbon-cache**-Server kann mit nachfolgendem Befehle gestartet werden:
 +<code>
 +# systemctl start carbon-cache
 +</code>
  
tachtler/icinga2_-_graphite.1475809812.txt.gz · Zuletzt geändert: 2016/10/07 05:10 von klaus