Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: OlTu am 21.08.07 - 08:58:32

Titel: Eigenes Log für eine Datenbank?
Beitrag von: OlTu am 21.08.07 - 08:58:32
Hallo Leute,
kann mir jemand sagen, ob es möglich wäre, eine eigene "Log" Datenbank zu definieren, in der alles protokolliert wird, was nur in einer einzigen Datenbank passiert (analog zum "normalen" Log). Zum Beispiel ein Agent ist mit einer ID signiert, die keine Ausführungsrechte auf dem Server hat.
Danke schon mal für Eure Hilfe !!!
Titel: Re: Eigenes Log für eine Datenbank?
Beitrag von: dirk_2909 am 21.08.07 - 10:01:19
Hallo

Im Prinzip kannst Du eine eigene Log-Datenbank erstellen, die Ereignisse innerhalb einer oder mehreren DB protokolliert.

Du kannst damit aber nicht alle Ereignisse festhalten !!  :-P

Wenn ein Agent erst gar nicht anläuft, bekommt das eigene Log nicht mit!

Man kann nur "Ereignisse" protokolllieren, die auch ausgeführt werden.
Titel: Re: Eigenes Log für eine Datenbank?
Beitrag von: OlTu am 21.08.07 - 10:12:32
Ja, das ist mir bewusst, deswegen bezieht sich meine Frage mehr in die Richtung der "Log.nsf". Kann man dafür eventuell eine "agbespeckte" Version von der "Log.nsf" entwickeln, die Fehler aus einer einzigen Datenbank enthält?
Titel: Re: Eigenes Log für eine Datenbank?
Beitrag von: jBubbleBoy am 21.08.07 - 10:51:06
das ist möglich, erfordert aber auch ein eigenes Fehler- und Logginghändling.
Schau Dir mal OpenLog an, das ist ein Ansatz für ein zentrales Logging so wie Du das gerne haben möchtest:
http://www.openntf.org/Projects/pmt.nsf/ProjectLookup/OpenLog

bubble
Titel: Re: Eigenes Log für eine Datenbank?
Beitrag von: dirk_2909 am 21.08.07 - 11:14:32
Zitat
Schau Dir mal OpenLog an,

Aber soweit ich auf dem ersten Blick das sehe, kann OpenLog auch nicht protokollieren wenn ein Agent erst gar nicht anläuft !  :-:
(verbessert mich, wenn ich es falsche sehe)
Titel: Re: Eigenes Log für eine Datenbank?
Beitrag von: jBubbleBoy am 21.08.07 - 11:20:14
kein Ergebnis ist auch ein Ergebnis  O0

bubble
Titel: Re: Eigenes Log für eine Datenbank?
Beitrag von: jBubbleBoy am 21.08.07 - 11:21:50
bei Notes ist doch nicht anders, wenn ein Agent nicht läuft (z.B. aus rechtlichen Gründen) dann passiert doch auch nichts in der Log.
Oder?

bubble
Titel: Re: Eigenes Log für eine Datenbank?
Beitrag von: dirk_2909 am 21.08.07 - 11:28:48
Doch

Es passiert was. Der AMGR versucht den Agenten zu starten. Wenn aber die bsp. die Ausführungsrechte nicht passen wird der Agent NICHT ausgeführt. Es wird aber (trotzdem)
eine Log-Meldung geschrieben.

Code den der Entwickler innerhalb des Agenten zum loggen untergebracht hat wird (leider)
nicht ausgeführt :-(
Titel: Re: Eigenes Log für eine Datenbank?
Beitrag von: jBubbleBoy am 21.08.07 - 11:35:23
Echt, das muss ich gleich mal in meinem Testumgebung probieren.
Wenn dem so ist, dann müßte man ja "nur" die Log nach dieser Meldung parsen.

bubble
Titel: Re: Eigenes Log für eine Datenbank?
Beitrag von: dirk_2909 am 21.08.07 - 11:56:38
Man könnte aber in dem Agenten zusätzlich einen "Überwacher" einbauen.

Eine Routine, die eine Anfangs- und Endemeldung als Mail versendet, die dann im eigenen Log ausgewertet wird.
Im Log läuft ein Prozess der anhand von Dokumentwerten prüft, wann welcher Agent/Prozess eine Mail senden sollte. Wenn in einem gewissen Zeitraum keine Anfangsmeldung von Prozess X kommt oder wenn keine Endemeldung von Prozess X kommt, wird ein fehler ins Log geschrieben.

Titel: Re: Eigenes Log für eine Datenbank?
Beitrag von: jBubbleBoy am 21.08.07 - 12:10:20
Ja, man kann auch die Eigenschaft agent.lastrun abfragen und auswerten. Es gibt auch Eigenschaften um den Signierer, Laufzeiten und den Server (auf dem der Agent läuft) auszulesen. Man kann sich damit schon ein schickes Überwachungstool zusammenbasteln.
Im 2. Schritt könnte man das Serverdokument holen, die Einträge bei Security auslesen und die Namen & Gruppen entsprechend auflösen und auswerten.
Oh man, Notes und seine unbegrenzten Möglichkeiten :)

bubble
Titel: Re: Eigenes Log für eine Datenbank?
Beitrag von: dirk_2909 am 21.08.07 - 12:35:48
Zitat
Oh man, Notes und seine unbegrenzten Möglichkeiten

und ein Entwickler begrenzt Zeit :-( ...

(Wir machen das so, wie ich beschrieben habe, da wir bei einigen Kunden keinen Zugriff auf das Log  haben)
Titel: Re: Eigenes Log für eine Datenbank?
Beitrag von: OlTu am 21.08.07 - 12:55:16
danke schon mal für eure Beiträge. Im Prinzip kann man das schon so machen, wie dirk_2909 das vorgeschlagen hat. Das ist auf jeden Fall hilfreich. Nur nach der Auswertung hat man aber keine Infos, warum z.B. ein Agent nicht gelaufen ist. Angenommen der Agent hat nicht genug Ausführungsrechte oder die eingebundene ScriptLib ist zerschossen (passiert öfters beim Hidden Design). Aber diese Infos rauszukriegen ist wahrscheinlich ganz schön heftig.
Titel: Re: Eigenes Log für eine Datenbank?
Beitrag von: Tode am 21.08.07 - 13:18:07
Entschuldige, aber hier beisst sich die Katze in den Schwanz:

1. Jede "überwachung" in einem Log muss programmiert werden, und diese Programme stecken typischerweise in Agenten (da sie ja regelmässig durchgeführt werden sollen). Wer überwacht aber den Überwacher !? Wer sagt mir denn, dass dieser Agent die richtigen Berechtigungen und keine zerschossene Script- Lib hat !?

2. Man muss keinen "Parser" für Log- Events schreiben... denn dafür gibt es schon wunderbar eingebaute Tools (Statistics & Events), der automatisch eine Benachrichtigung verschickt... Das hilft aber alles nix, wenn ich hier so lese "kein Zugriff auf die log.nsf beim Kunden"... Ohne grundlegenden Zugriff oder einen Admin auf der Gegenseite der den Zugriff hat, kann man auch keine Überwachung einrichten....

Tode
Titel: Re: Eigenes Log für eine Datenbank?
Beitrag von: dirk_2909 am 21.08.07 - 13:26:00
Hallo Torsten,

im Prinzip hast Du Recht.

So ein Überwacher sollte schon im kontrollierbaren Zugriff sein. Man muss schon gewährleisten, dass hier die Überwachungsprozesse uneingeschränkt laufen.

Es ist aber eine Hilfe, um wichtige Prozesse beim Kunden zu überwachen, vor allem, wenn man kein Lesezugriff hat.
Die Administration beim Kunden wird nicht immer die Lust/Zeit/etc. haben alle Hintergrundprozesse
aller "strategisch wichtigen" Datenbanken zu kontrollieren.

Durch so einen "Überwacher" kann man aber die Admins dort mal informieren, wenn keine Statusnachricht aufschlägt o.ä... Die können das Log durchfoschen.

Bis jetzt ist es ein hilfreiches Tool. Wenn ich morgens mein Notes starte und die Statusanzeige ist grün, dann ist alles in Ordnung und keine weitere Aktion notwendig...
Titel: Re: Eigenes Log für eine Datenbank?
Beitrag von: jBubbleBoy am 21.08.07 - 13:29:24
ScriptLib ist zerschossen (passiert öfters beim Hidden Design)
Hände weg von "Hidden Design", damit hat man nur Ärger

bubble
Titel: Re: Eigenes Log für eine Datenbank?
Beitrag von: jBubbleBoy am 21.08.07 - 16:18:32
Ein Agentmonitor bei openntf ... na wenn das mal nicht das Tool ist was hier gesucht wird.

http://www.openntf.org/Projects/pmt.nsf/ProjectLookup/Agent%20Monitor%20(DAF)

bubble