Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Firebird-Server soll bei Datenunterbrechung sich melden. (https://www.delphipraxis.net/158613-firebird-server-soll-bei-datenunterbrechung-sich-melden.html)

Chemiker 23. Feb 2011 20:28

Datenbank: Firebird • Version: 2.1 • Zugriff über: FIBPlus

Firebird-Server soll bei Datenunterbrechung sich melden.
 
Hallo,

folgendes Szenario:

Ein Client ist für die Erfassung von Daten zuständig und überträgt sie über ein Netzwerk an einem Firebird-Server. Wenn jetzt die Datenübertragung unterbrochen wird z.B. durch ziehen des Netzwerkkabels so werden ja keine Daten mehr zum FB-Server übertragen.

Wie kann man nun erreichen das der FB-Server darauf reagiert und nach einer gewissen Zeitspanne zu mehreren Stellen z.B. eine e-Mail verschickt das die Datenübertragung unterbrochen ist.

Oder, gibt es noch eine andere Möglichkeit, eine Information zu bekommen das zurzeit keine Datenübertragung mehr stattfindet.

Bis bald Chemiker

Piethan 23. Feb 2011 22:46

AW: Firebird-Server soll bei Datenunterbrechung sich melden.
 
Hi Chemiker,

da mich das Thema auch interessiert, habe ich google nach einem Plugin für
Nagios befragt. fbexport

Hiermit soll eine Überwachung des Firebirdservers möglich sein. Ich denke dies
geht in die Richtung in welche du suchst.

LG
Dirk

Chemiker 23. Feb 2011 23:19

AW: Firebird-Server soll bei Datenunterbrechung sich melden.
 
Hallo Piethan,

nicht ganz, die Datenübertragung ist nicht das Problem sonder der FB-Server soll, wenn nach keine 2 Min. keine Daten ankommen irgendwie darauf reagieren und dann z.B. eine e-Mail verschicken (z.B. auf ein Notfall-Handy). Die Daten werden nicht manuell Eingegeben, sondern kommen von einer SPS die an einem Client angeschlossen ist.

Bis bald Chemiker

mkinzler 24. Feb 2011 05:35

AW: Firebird-Server soll bei Datenunterbrechung sich melden.
 
Der DB-Server gar nicht. Man könnte aber das genannte Plugin entsprechend anpassen

chaosben 24. Feb 2011 06:27

AW: Firebird-Server soll bei Datenunterbrechung sich melden.
 
Richtig, der Firebird-Server selbst ist zu "dumm" dazu.

Wie haben uns auf Arbeit eine Cron-Job-Applikation auf Basis von IBEScript (muss man nicht nehmen, hat aber schon vieles drin, was man gern hat ... z.B. SMTP-Funktionen) geschrieben. Grundsätzlich ist das nichts anderes, als ein Programm/Dienst (ist dir überlassen, was du nimmst), was in regelmäßigen Abständen auf die DB guckt, was zu tun ist und dann den Code ausführt der in dem entsprechenden Cron-Job hinterlegt ist.

In deinem Fall würde das Schreiben das die Daten schreibt "irgendwo" einen Timestamp hinterlegen, an dem es das letzte geschrieben hat. Der Cron-Job hingegen würde prüfen, ob der Timestamp älter als 2 Minuten ist und in diesem Fall anfangen zu spammen. ;)

mkinzler 24. Feb 2011 06:36

AW: Firebird-Server soll bei Datenunterbrechung sich melden.
 
Ich würde nicht sagen, dass er zu dumm ist. Das ist imho nicht seine Aufgabe

chaosben 24. Feb 2011 07:21

AW: Firebird-Server soll bei Datenunterbrechung sich melden.
 
OT: Ach Markus ... deswegen stand das Wort "dumm" auch in Anführungszeichen. :-)

Chemiker 24. Feb 2011 07:27

AW: Firebird-Server soll bei Datenunterbrechung sich melden.
 
Hallo,

Das IBEScript habe ich auf dem Rechner, habe bisher nichts damit gemacht, werde damit mal Rumspielen vielleicht bekomme ich ja was Brauchbares zusammen. Ein Timestamp ist kein Problem, weil jeder Datensatz einen besitzt.

Bis bald Chemiker

Nersgatt 24. Feb 2011 07:54

AW: Firebird-Server soll bei Datenunterbrechung sich melden.
 
Wenn der Client sowieso alle x Sekunden etwas in die Datenbank schreibt, kannst Du diesen Timestamp nehmen. Das geht aber nur in dem Fall, wenn man von einem Fehler ausgehen kann, wenn in der Tabelle nach x Sekunden keine Daten mehr ankommen.

Ansonsten würde ich vielleicht sowas wie eine Herzschlagtabelle machen: Der Client legt einen Datensatz an (z.B. mit seinem PC-Namen, oder IP-Adresse) und einem Timestamp, den er regelmäßig aktualisiert (=Herzschlag). Dann ist es ein leichtes, auf dem Server eine kleine Anwendung zu schreiben, die diese Tabelle überwacht und im Fehlerfalle Emails schickt.
Das hätte auch den Vorteil, dass man das Konzept relativ leicht auf mehr Clients erweitern kann (wenn jeder Client in der Tabelle "seinen" Datensatz + Timestamp hat).


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:32 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz