Benutzer-Werkzeuge

Webseiten-Werkzeuge


heartbeat

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
heartbeat [2014/02/21 20:27] – angelegt butzelheartbeat [2016/01/06 12:45] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 5: Zeile 5:
 Im nachfolgenden einige Scripte, welche ein simples, rudimentäres Heartbeat bieten. Im nachfolgenden einige Scripte, welche ein simples, rudimentäres Heartbeat bieten.
  
-  * Heartbeat für ein gesamtes System (ICMP-Test):+==== Heartbeat für ein gesamtes System (ICMP-Test): ====
  
 <code> <code>
-<font 14px/courier new,courier,monospace;;#000000;;#ffffff>#!/bin/bash</font> +#!/bin/bash 
-<font 14px/courier new,courier,monospace;;#000000;;rgb(238, 238, 238) color: rgb(51, 51, 51);>​IP=127.0.0.1</font> +IP=127.0.0.1 
-<font 14px/courier new,courier,monospace;;#000000;;#ffffff>ping $IP -c 2 || ping  $IP -c 1 || /srv/backupservice start</font>+ping $IP -c 2 || ping  $IP -c 1 || /srv/backupservice start
 </code> </code>
  
-  * Heartbeat für einen WebServer:+==== Heartbeat für einen WebServer: ==== 
 + 
 +nc  = netcat
  
 <code> <code>
-<font 14px/courier new,courier,monospace;;#000000;;#ffffff>#!/bin/bash+#!/bin/bash
 ​IP=127.0.0.1 ​IP=127.0.0.1
 PORT=80 PORT=80
-nc -z  $IP $PORT  || /srv/backupWWWstart</font>+nc -z  $IP $PORT  || /srv/backupWWWstart
 </code> </code>
  
-  * <font 11px/arial;;#000000;;#ffffff>Heartbeat für  einen FTP-Server:</font>+Heartbeat<font 9pt/Arial, sans-serif;;#000000;;inherit font-family: Arial, sans-serif; font-weight: bold; line-height: 1.2;>für einen FTP-Server:</font>
  
 <code> <code>
-<font 11px/courier new,courier,monospace;;#000000;;#ffffff>#!/bin/bash+#!/bin/bash
 ​IP=localhost ​IP=localhost
 PORT=21 PORT=21
-nc -z  $IP $PORT  || /srv/backupFTPstart</font>+nc -z  $IP $PORT  || /srv/backupFTPstart
 </code> </code>
  
-  * Heartbeat für ein Programm:+ 
 +==== Heartbeat für ein Programm: ====
  
 <code> <code>
-<font 9pt/ ;;#000000;;#ffffff>#!/bin/bash +#!/bin/bash 
-PRGNAME=apache2</font> <font 14px/arial;;#000000;;#ffffff>ps -a | grep -w $PRGNAME || /usr/sbin/apache2​</font> <font 14px/ ;;#000000;;#ffffff></font>+PRGNAME=apache2 
 +ps -a | grep -w $PRGNAME || /usr/sbin/apache2​
 </code> </code>
  
-Diese Scripte müssen natürlich sinngemäß angepasst werden (über die Variablen PRGNAME,IP, PORT) und das auszuführende Kommando sollte auch exisitieren bzw. angepasst werden.+==== Heartbeat-Scripte verwenden ==== 
 + 
 +Diese Scripte müssen natürlich sinngemäß angepasst werden (über die Variablen PRGNAME,IP, PORT) und das auszuführende Kommando sollte auch existieren bzw. angepasst werden.
  
 Bis auf das letzte Script (Heartbeat für ein Programm) müssen diese Scripte natürlich auf den Backupsystemen ausgeführt werden. Da diese Scripte ja regelmäßig laufen sollen empfiehlt sich ein Eintrag in die [[http://www.gentoo.de/doc/de/cron-guide.xml|Crontab]] wie im folgenden Beispiel: Bis auf das letzte Script (Heartbeat für ein Programm) müssen diese Scripte natürlich auf den Backupsystemen ausgeführt werden. Da diese Scripte ja regelmäßig laufen sollen empfiehlt sich ein Eintrag in die [[http://www.gentoo.de/doc/de/cron-guide.xml|Crontab]] wie im folgenden Beispiel:
  
 <code> <code>
-*                        /srv/bin/heartbeat+*                        /srv/bin/heartbeat.sh
 </code> </code>
  
-Dafür habe ich dass entsprechende Script ausführbar gemacht (chmod 700) und nach /srv/bin/heartbeat kopiert. Es wird jetzt jede Minute ausgeführt. (für private Zwecke sollte dies vollkommen ausreichend sein...)+Dafür habe ich dass entsprechende Script ausführbar gemacht (<font 9pt/courier new,courier,monospace;;#000000;;#ffffff>chmod 700</font> ) und nach <font 9pt/courier new,courier,monospace;;#000000;;#ffffff>/srv/bin/heartbeat.sh</font> kopiert. Es wird jetzt jede Minute ausgeführt. (für private Zwecke sollte dies vollkommen ausreichend sein.)
  
 Auch das letzte Script (Heartbeat für ein Programm) sollte in die [[http://wiki.ubuntuusers.de/Cron|Crontab]] eingetragen werden, hier jedoch auf den primären System selbst. Auch das letzte Script (Heartbeat für ein Programm) sollte in die [[http://wiki.ubuntuusers.de/Cron|Crontab]] eingetragen werden, hier jedoch auf den primären System selbst.
Zeile 53: Zeile 59:
  
 [[http://wiki.ubuntuusers.de/Cron|http://wiki.ubuntuusers.de/Cron]] [[http://wiki.ubuntuusers.de/Cron|http://wiki.ubuntuusers.de/Cron]]
 +
 +==== Häufigere Überprüfung mit Cron ====
 +Da Cron maximal einmal in der Minute das Heartbeat-Script startet, kann man mit einen das Tool SLEEP helfen. Dieses Tool lässt wartet einfach #-Sekunden. Wenn also die Scripte nach folgenden Beispiel erweitert werden, kann auch eine höhere Überprüfungsfrequenz erreichen:
 +
 +<code>
 +#!/bin/bash
 +IP=127.0.0.1
 +ping $IP -c 2 || ping $IP -c 1 || /srv/backupservice start
 +sleep 20 # warte ne drittel minute
 +ping $IP -c 2 || ping $IP -c 1 || /srv/backupservice start
 +sleep 20 #  nochmal warten
 +ping $IP -c 2 || ping $IP -c 1 || /srv/backupservice start
 +</code>
 +
 +
 +==== Zur Erläuterung ====
 +
 +Bei allen Scripten machen wir uns den ODER-Operator ( **||** ) zu nutze. Wenn ein Programm fehlschlägt, dann wird das Programm hinter den ODER-Operator aus geführt:
 +<code>
 +false || echo "Programm fehlgeschlagen"
 +
 +true || echo "Dies ist nicht zu lesen"
 +</code>
  
 Bei weiteren Fragen kann Ihnen in der Mailingliste: lug-talk(ät)lists(dot)lug-myk(dot)de geholfen werden. Bei weiteren Fragen kann Ihnen in der Mailingliste: lug-talk(ät)lists(dot)lug-myk(dot)de geholfen werden.
  
  
heartbeat.1393014448.txt.gz · Zuletzt geändert: 2016/01/06 12:44 (Externe Bearbeitung)