Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: andrew22 am 15.06.05 - 11:33:18
-
hi ho
Ich wollte mal anfragen wie man mit einem Agenten der in einer Datenbank auf dem Server läuft nen Per Script aufrufen und ausführen kann .
wenns geht alles im hintergrund so das der User nichts mitbekommt.
Im Agenten wird eine URL generiert die dann z.B. via Perl Script ausgeführt und abgearbeitet wird.
Geht Speziell um Lotus notes und NAGIOS
Aus Lotus Notes sollen Daten in NAGIOS eingelesen werden etc.
Thx
-
Sieh mal dazu in der Designerhilfe unter "Shell" nach...
und
NotesAgent.RunOnServer
und
Sicherheitslevel des Agenten.
Dann sollte es eigentlich gehen.
gruss
umi
-
Geht Speziell um Lotus notes und NAGIOS
Aus Lotus Notes sollen Daten in NAGIOS eingelesen werden etc.
Was hast du denn genau vor ?
Was soll Nagios denn einlesen ? Seine Config ?
Jörg
-
Das interessante an dieser Konstruktion ist, dass das per shell aufgerufene Programm asynchron zum Notes-Agenten ist.
Das heisst: Das ist nicht 1 Call Stack, wo die aufrufende Routine (Notes Agent) auf einen Rückgabewert der aufgerufenen Routine (Perl Skript) wartet.
D.h. der Agent wartet nicht, bis das Perl Skript abgearbeitet ist.
Wenn du keinen Rückgabewert aus dem Perl Programm benötigst, ist das kein Problem.
Wenn du im Agenten einen Rückgabewert benötigst, müsstest du das selbst programmieren.
(Z.B. PerlScript erzeugt ein File, dessen Existenz der aufrufende Notes-Agent überprüft)
Im Web kannst du Perl meines Wissen nach integrieren. Suche in Designerhilfe nach Perl, wenn das irgendwie weiterhilft.
Schneller Check hat dieses Dokument hochgebracht.
http://www.nagios.org/faqs/viewfaq.php?faq_id=38&expand=false&showdesc=false
D.h. du könntest Nagios Alerts in eine externe RDBMS loggen. Diese Infos über Notes auszulesen ist vielleicht einfacher als die Integration über Perl.
-
Nagios kann auch direkt nach Notes loggen wenns sein muss.
Ich erzeuge Einträge im Ticket System ( Notes ) wenn Nagios einen Fehler meldet.
Die Frage ist halt was soll gemacht werden ?`
Ich erzeuge die Komplette Nagios Config aus einer Notes DB, also der umgekehrte Weg.
Jörg
-
interessant. :)
a doubt: Und wie greifst du aus Nagios auf die Notes Daten zu?
-
Wenn man nicht programmieren kann sucht man sich ganz einfache Wege ;)
Ich habe eine Ansicht mit nur einer Spalte die als HTML ausgegeben wird.
In der baue ich mir per Formel den HTML Quellcode zusammen, so dass die Ansicht im Browser so aussieht wie ich die Daten im Nagios brauche ( also entsprechen der Syntax der Nagios Config )
Nagios startet ein kleines Script das per lynx ( Textbasierter Browser ) die Ansicht über http aufruft und das Ergebnis in einer Datei speichert.
Der Infalt der Datei sieht dann exact so aus wie die Anzeige im Browser.
Jörg
-
8) coole Lösung.
Wobei dann natürlich eine Abhängigkeit von Nagios auf Notes geschaffen wird.
Wenn z.B. der HTTP Task des Notes Servers nicht läuft ist es nicht unbedingt transparent, warum jetzt Nagios keine Config Daten bekommt.
Wenn man nicht programmieren kann sucht man sich ganz einfache Wege ;)
Wer kann schon programmieren?
Ob das unbedingt einfach ist, weiss ich nicht. In Logik unbedarfte Leute können dann auch den umgekehrten Schluß ziehen, dass man sich komplizierte Wege sucht, wenn man sich manchmal mit Programmier-Theorie beschäftigt. Das ist nämlich falsch.
Man sollte immer den einfachsten Weg suchen.
10 so Lösungen in deiner Umgebung und dein Nachfolger hat ne harte Zeit, sofern das nicht gut dokumentiert ist.
"einfache Wege" ist auch ein Werturteil. Nicht unbedingt intersubjektiv. Für mich als Windows-Fan ist z.B. dieses ganze mit Lynx-Browser etc. nicht unbeding einfach.
Axel
-
Nein Nagios prüft _vor_ dem Update ob der Domino Server antwortet und nachher ob die Daten wirklich iO sind. Danach liegt die Config ja lokal als Textfile vor.
Jörg
-
ok. Das schwächt natürlich die Abhängigkeit gewaltig.
Trotzdem sollte man solche Lösungen gut dokumentieren und das Wort "einfach" wird in dieser Industrie zu oft mißbraucht. Wir sind nicht gleich und was für den einen "einfach" ist, ist für den anderen vielleicht "schwer".