PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Doppelte absicherung



Schlossero
25.09.2013, 12:01
Hallo zusammen.

Ich habe folgendes vor.

Server 1 schickt Alarme raus. Sollte das mal nicht der Fall sein soll Server 2 die Alarme rausschicken.

Ich dachte dabei an:
Server2 hat 30 Sekunden nach Alarmeingang noch keine "Benachrichtigung" von Server 1 bekommen und schickt dann die Alarme raus.

Ist sowas möglich?

Edit: Das ganze übers Internet. Also die Server stehen nicht im selben Netzwerk.

Gira
25.09.2013, 13:15
Was läuft denn auf einem "Server"?

Signal-Eingang -> Auswertung -> Empfänger-Datenbank -> Mailversand?

Oder wird das Funksignal an einem zentralen Ort ausgewertet und jede Meldung an den über das Internet erreichbaren Server weitergereicht?

Oder stellen die Server lediglich das Sprachrohr zur Außenwelt dar? Also SMTP Server, SMS Gateway etc.?

Schlossero
25.09.2013, 14:40
Also auf jedem Server erfolgt eine Auswertung-Verarbeitung-sms/Apager versandt.

Jeder Server ist bisher für 3-4 Einheiten zuständig. Da es aber häufig zu Internetausfällen kommt möchte ich so ein Backup schaffen

Gira
25.09.2013, 18:03
Ich habe momentan zwar keine konkrete Lösung für dich aber als abstrakten Ansatz könnte dir folgendes weiterhelfen:

- Du ernennst einen Server zum Master. Über den werden alle Alarmierungen abgefeuert.
- Der andere ist der Slave und wird nur aktiv wenn der erste tot ist.
- Damit der Slave weiß wann er seine Meldungen tatsächlich abfeuern soll, könnte er in regelmäßigen Abständen den Master anpingen und bei einem ausbleibenden Echo aktiv werden.
- Sobald vom Master wieder Echos empfangen werden, stellt der Slave seine Tätigkeit ein und meldet dem Admin ggf. ein "Alles wieder OK".

Dieses einfache Schema kann natürlich in der Komplexität gesteigert und beliebig skaliert werden.
So könnten z.B. beide SMS-Server ihren Status an einen "echten" (Web-)Server melden und den des jeweils anderen SMS-Servers über diesen (Web-)Server abrufen.

Auch denkbar wäre, dass du auf den einzelnen Servern ein Monitoring über alle lebensnotwendigen Programme laufen lässt, so dass der Betrieb auf beim Absturz von einem firE weiterhin läuft.

An welcher Stelle der Alarmierungskette jetzt ein Riegel dazwischen geschoben werden kann um eine Aussendung zu unterbinden weiß ich leider nicht.

Schlossero
27.09.2013, 09:01
ich hatte schon überlegt das ganze mit der Emailüberwachung oder dem Filereader umzusetzen.


Für den zweiten Server würde das bedeuten. Alarmiere nur wenn datei/mail nicht vorhanden ist.

feodor
27.09.2013, 09:35
Ich habe momentan zwar keine konkrete Lösung für dich aber als abstrakten Ansatz könnte dir folgendes weiterhelfen:

- Du ernennst einen Server zum Master. Über den werden alle Alarmierungen abgefeuert.
- Der andere ist der Slave und wird nur aktiv wenn der erste tot ist.
- Damit der Slave weiß wann er seine Meldungen tatsächlich abfeuern soll, könnte er in regelmäßigen Abständen den Master anpingen und bei einem ausbleibenden Echo aktiv werden.
- Sobald vom Master wieder Echos empfangen werden, stellt der Slave seine Tätigkeit ein und meldet dem Admin ggf. ein "Alles wieder OK".

Dieses einfache Schema kann natürlich in der Komplexität gesteigert und beliebig skaliert werden.
So könnten z.B. beide SMS-Server ihren Status an einen "echten" (Web-)Server melden und den des jeweils anderen SMS-Servers über diesen (Web-)Server abrufen.

Auch denkbar wäre, dass du auf den einzelnen Servern ein Monitoring über alle lebensnotwendigen Programme laufen lässt, so dass der Betrieb auf beim Absturz von einem firE weiterhin läuft.

An welcher Stelle der Alarmierungskette jetzt ein Riegel dazwischen geschoben werden kann um eine Aussendung zu unterbinden weiß ich leider nicht.

Genau wie du es beschreibst wird's gemacht, leider hatten wir bisher keine Ressourcen das umzusetzen... Hast du ein entsprechendes System bereits implementiert? Klingt, als wärst du vom Fach :-)

Viele Grüße

Gira
07.10.2013, 17:30
Wissen ist zwar vorhanden. Aber: keine Zeit --> Keine Implementation. ;-)

Schlossero
08.10.2013, 14:47
Teste gerade die Teamviewer Verfügbarkeit auszulesen. Viele kommen leider nicht an Ihre Router um eine Portweiterleitung einzurichten. Deswegen versuche ich über dritte abzufragen.

Alternative:
Im 3 Minutentakt eine txt datei auf einem Webserver zu hinterlegen diese löscht sich nach 2.59Minuten wieder. andere Seite wird diese abgefragt. Wenn Nicht vorhanden---Alarmieren

Etwas Stümperhaft aber irgendwo muss man sich dem Thema ja mal annehmen und hochperformant ist auch anders.

Gira
08.10.2013, 14:57
Eine weitere Möglichkeit mittels externem Webserver:

Master läd im Minutentakt eine Textdatei mit einem aktuellen Zeitstempel hoch.
Der Slave liest die "Webseite" mit dem Zeitstempel aus und aktiviert sich bei einer bestimmten Zeitdifferenz. Bsp. wenn der ausgelesene Zeitstempel älter als 2 Minuten ist.


Oder noch hübscher: Es wird keine Datei hochgeladen sondern automatisiert ein kleines (PHP-)Script auf dem Webserver aufgerufen, welches einen Zeitstempel per $_GET entgegen nimmt und diesen speichert.

Dritte Variante:
Der Slave öffnet ein (PHP-)Script auf dem Webserver, welches die Zeit-Berechnung vornimmt und nur noch ein True/False ausspuckt, je nachdem wie lange das letzte Lebenszeichen des Masters her ist.

Schlossero
08.10.2013, 15:04
na die erste Variante hört sich für mich am besten an----direkt mal umsetzen.

Das mit dem PHP Script wär ich vorsichtig wenn es nicht der eigene WebServer ist. 1und1 hat meine Dmain schon mal dicht gemacht wegen solcher Sachen.

Gira
08.10.2013, 15:13
Das mit dem PHP Script wär ich vorsichtig wenn es nicht der eigene WebServer ist. 1und1 hat meine Dmain schon mal dicht gemacht wegen solcher Sachen.

Veto: Ein Webserver ist dazu gemacht HTTP Requests entgegen zu nehmen und zu beantworten. Und eine popelige (Zeit-)Subtraktion braucht jetzt auch nicht so viel CPU Zeit.
Um um das Argument "aaaaber der Timestamp wird doch in der Datei gespeichert -> Belastung des Filesystems" auszustechen: Die Zeit kann doch auch in eine DB gespeichert werden. Die ist dazu gemacht um Datensätze entgegen zu nehmen und zu beantworten. ;-)


Da könnte ich mir eher vorstellen, dass die Meckern, wenn alle 60 Sekunden eine Datei per FTP hochgeschoben und genau so oft wieder runtergeladen wird. ;-)

Schlossero
08.10.2013, 16:10
Recht hast du eigentlich. War aber so :-)

Ich überschreibe aktuell eine log datei und überprüfe die änderungszeit. Wenn älter als 15 Minuten starte ich den firemergenzy server. wenn die regel wieder passt wird der server geschlossen


Das ganze über Windows Task. Läuft soweit gut.

Momentan hakt es an der Erstellungszeit und der Änderungszeit

firEmergency
18.10.2013, 10:23
Zu diesem Thema wird es demnächst in FE etwas geben:

Ihr habt zwei unabhängige FE Systeme. Einer arbeitet als Master, der andere als Slave. Solange beide am Leben sind, empfangen beide Alarmierungen, aber nur der Master führt sie auch aus.
Fällt der Master aus, startet der slave seinen Dienst und schickt euch ne Mail. Das heißt nun verschickt der slave Alarmierungen.
Somit hat man zwei redundante Systeme, wobei immer nur eins aktiv ist.

Mehr dazu später im Wiki.

Gesendet via Mobile App

Schlossero
18.10.2013, 15:37
ja super. Genau das setze ich momentan um. Aber eure Lösung wird sicherlich besser laufen