PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Perl-Frontend für POCSAG mit monitord 2.0



Thorongil
08.08.2010, 16:24
Ich habe mir ein kleines Perl-Frontend-Framework gebastelt, es besteht aus den folgenden Modulen:


- pocserv: Das Haupt-skript, das den monitord abfragt
- dispatcher: Das Skript, das die Nachrichten verteilt, kann zur Zeit Mail und Prowl
- adminnotify: Ein Hilfsskript für Adminbenachrichtigungen
- signalguard: Ein "Totmannmelder", schlägt an, wenn Signal verloren geht / wiedergefunden wird

Mit inkludiert ist ein monitord-rc1, der modifiziert wurde, die monitord.xml von /etc zu ziehen (und dass er unter Ubuntu 9.10 kompiliert...). Auch unter "samples" ein paar init-skripte und eine monitord.xml, die ich verwendet habe.

Zur Nachrichtenverarbeitung habe ich mir folgende Konstrukte einfallen lassen:

"Profile", werden in der datei dispatch/profile gepflegt, hier kann man mehrere RICs zu einem "Profil" zusammenfassen, z.B. so:

ABC : ABC-Alarm : 0136009 : (ABC-Schleife Nordstadt)
ABC : ABC-Alarm : 0136008 : (ABC-Schleife Südstadt )
ABC : ABC-Alarm : 0136007 : (ABC-Schleife Südstadt )
VOLL: Vollalarm : 0145677 : (Vollalarm Musterstadt)

Diese "Profile können dann einer Person zugeordnet werden. Dies geschieht in den Dateien dispatch/MAIL und dispatch/PROWL:

test@googlemail.com Thomas Herzog ABC VOLL

bzw. als Prowl


dc9cc547845c8d9fef6ace912b38f3641dbb8513 Thomas Herzog ABC VOLL

Trennzeichen sind Leerzeichen in MAIL und PROWL, in profile sind es Doppelpunkte. In MAIL und PROWL kann man einfach beliebiges Zeug in die Zeilen schreiben, es macht volltextvergleich mit den Profilnamen und nimmt dann den ersten Substring. Also als Profilnamen etwas, was nicht in Namen von Personen vorkommt nehmen ;-)

Die Mail-Zugangsdaten müssen direkt in "dispatch/dispatcher" hinterlegt werden, einfach suchen, wo die Einstellungen gemacht werden. Wie Prowl funktioniert, einfach mal auf den Projektseiten von denen lesen. Subrics zu Stichwörtern zugeweisen wird auch in "dispatcher" gemacht, hier einfach anpassen.

Das Zeug stelle ich mal "as is" zur Verfügung, alles in /etc/pocserv entpacken, den monitord dort kompilieren und "make install", danach schauen, dass Perl SMTP über SSL kann, wenn benötigt und es sollte direkt an der Kommandozeile startbar sein (das script "pocserv" ausführen). Init-Skripte sind dann noch das Zuckerle obendrauf :-)

Eigentlich ist ein Nachrichtenunterdrücker eingebaut, identische Nachrichten (RIC, Text und SUBRIC gleich) sollten eigentlich nicht wiederholt werden (außer wenn Text erweitert wird, also zuerst abgeschnitten war). Im Realeinsatz habe ich aber dennoch Duplikate :-(


Oh ja, vielleicht die Absenderadresse (und auch die BCC!) in dispatch/dispatcher -> send_mail anpassen und den Text auch! Will keine Mails von Euren Usern ;-)