Monitor mit Datenbank-Unterstützung
Hallo Forum!
Es gab hier mal die Diskussion über eine mögliche Datenbankanbindung von Monitor. Gibt es in diese Richtung noch Bestrebungen? Man könnte doch statt in die Log-Files in eine Datenbank-Datei schreiben lassen, oder? Dann wäre es einfach, mit einem LAMP-Server im Intranet seine aktuellen Alarmierungen zur Verfügung zu stellen.
AFAIK kann MySQL doch mit einfachen Textfiles umgehen. Mal als kleine Anregung an die etwas firmeren Programmierer unter Euch. Vielleicht entwickelt sich das Ganze ja mal so weit, daß es in ein offizielles Release mit aufgenommen werden kann.
Gruß
Funkwart
Liste der Anhänge anzeigen (Anzahl: 1)
Erster Code-Schnipsel
Ich habe mich nun einmal selbst rangesetzt und mit meinen bescheidenen PHP-Kenntnissen einen Entwurf gemacht. Herausgekommen ist ein Script, welches eine vorhandene Monitor-Log-Datei ausliest - besser gesagt die jeweils aktuelle Log-Datei. Die Datei wird nicht verändert, sondern nur ausgelesen. Sollte die Datei noch nicht existieren, weil noch keine Einträge für das Datum vorhanden sind, wird eine leere Ausgabe gemacht. Das Script lädt sich alle 10 Sek. von selbst nach, damit die Ausgabe aktuell bleibt. Bisher gehe ich nur auf POCSAG-Einträge ein, andere Einträge würden zu Fehlausgaben führen. Näheres steht im Script. Das Script muß auf dem Rechner, auf dem Monitor läuft in ein Verzeichnis des Webservers (z.B. /srv/www/htdocs/monitor o.ä.) kopiert werden, der übrigens PHP unterstützen muß. Damit kann man von jedem Rechner im LAN, der einen Webbrowser hat, die aktuellen Alarmierungen sehen.
Verbesserung programmiert?, schickt sie mir!
Gruß
Funkwart
Liste der Anhänge anzeigen (Anzahl: 1)
Neue Version!!!
Hallo Forum!
Ich habe noch etwas weitergebastelt und wieder neue Features eingebaut:
- Lange Log-Files werden jetzt umgebrochen in 20er Blöcke, so daß man nicht scrollen muß.
- Man kann sich mit "vor" und "zurück" sowie einer direkten Seitenanwahl durch die Unterseiten klicken.
- Um alte Log-Files anzusehen, kann man den Tag, den Monat und das Jahr jeweils schrittweise nach oben und unten ändern. Ein Knopfdruck auf "aktuell" bringt den Benutzer sofort wieder zur aktuellen Liste.
Viel Spaß damit...
Funkwart
Liste der Anhänge anzeigen (Anzahl: 1)
hmmmmhhh...
oooopsss
ich hab sowas schon fertig mit datenbank ;)
und webfromted laeuft auch klasse, archiv, statistik, und logbetrachter
eine kleine readme muesste bei sein ;)
HF
gruss Kw
Hey... ihr koenntet mir wenigstens euere meinungen sagen, und obs laeuft ;)
Hallo, ich habe mal eben Screenshots geschossen..
Liste der Anhänge anzeigen (Anzahl: 1)
N'Abend zusammen !
Hier ein erster Patch für monitor 1.8.1 Sollte alle FMS (aber ohne FMS Text) Meldungen in eine MySQL Tabelle übertragen.
Die Struktur meiner Testtabelle sieht so aus:
CREATE TABLE `status` (
`num` int(11) NOT NULL auto_increment,
`kennung` char(10) default NULL,
`status` smallint(6) default NULL,
`richtung` smallint(6) default NULL,
`bezeichnung` varchar(100) NOT NULL default '',
`text` varchar(100) NOT NULL default '',
`zeit` timestamp(14) NOT NULL,
PRIMARY KEY (`num`)
) TYPE=MyISAM;
Einstellungen (Host,User,DB,...) werden in der mon_mysql.c gemacht.
Der Patch mit mit "patch -p1 <monitor-1.8.1-mysql-patch.txt" installiert. Dazu muss man im monitor-1.8.1 Ordner stehen.
Die Pakete mysql-devel und mysql-client sind natürlich auch erforderlich. Sonst gibt's die libmysqlclient nicht ;-)
Die X-Unterstützung habe ich nicht genutzt. Scheint so als ob da da Makefile immer noch die X11 includes erfordert. Da ich die nicht brauche, habe ich das auch kurzerhand auskommentiert.
WARNUNG:
Ohne MySQL Connect wird der monitor danach nicht mehr vernünftig laufen.
Liste der Anhänge anzeigen (Anzahl: 1)
Hier mal ein trockener Versuch für ZVEI und POCSAG. Beide total ungeprüft. Aber sollte eigentlich gehen.
Der Patch ist für den "Original" monitor. Nicht die Version mit dem ersten Patch.
Die Tabellenstruktur:
CREATE TABLE `dme` (
`num` int(11) NOT NULL auto_increment,
`adresse` int(11) NOT NULL default '0',
`sub` smallint(6) NOT NULL default '0',
`text` varchar(100) NOT NULL default '',
`bezeichnung` varchar(100) NOT NULL default '',
`REC_TYP` varchar(10) NOT NULL default '',
`zeit` timestamp(14) NOT NULL,
`funktion` varchar(100) NOT NULL default '',
PRIMARY KEY (`num`)
) TYPE=MyISAM;
Falls er absäuft wäre es schön, zu wissen, ob bei ZVEI oder POC. Sofern man es erkennen kann ;-)
[Edit]
Patch nochmal ein wenig geändert.
REC_TYP ist "DME" bei POCSAG, bei ZVEI ist REC_TYP=ZVEI.