aaaalso, was ich brauch ist folgendes:
ich mache ein ps und such dann nach einer regex, die folgendes können soll:
-alle prozesse die mit "postgres: " beginnen finden
- NICHT die mit "postgres: "beginnen und irgendwo das Wort "laber" enthalten.
Da ich das ganze inner halb von OMD (nagios mit zusätzen) benutze kann ich nicht mit pipes arbeiten, womit:
grep ^postgres|grep -v laber leider ausfällt.
mit diversen Versuchen "[^(laber)]" "[^l][^a][^b][^e][^r]" bin ic zwar in die Nähe gekommen, aber ebn nur knapp
wobei letzterer Versuch ja dann auch ?a??? findet.
Also: wer weiss es?
gruß
mclien
regex. das eine Wort ja, das andere nicht ohne pipe
Re: regex. das eine Wort ja, das andere nicht ohne pipe
Vielleicht mit perl und backtracking. Wenn ich zuhaus bin, kann ich evtl. auch mal ein Beispiel geben .
Re: regex. das eine Wort ja, das andere nicht ohne pipe
Wird der Ausdruck von einem nagios-plugin an ps übergeben
(Im Sinne eines Webeingabeformulars)?
Oder wird hier 'ps' aufgerufen?
Dann könntest Du das ganze in ein Skript zBsp. "ps_my-postgres" auslagern und dieses statt 'ps ....' aufrufen.
(Im Sinne eines Webeingabeformulars)?
Oder wird hier 'ps' aufgerufen?
Dann könntest Du das ganze in ein Skript zBsp. "ps_my-postgres" auslagern und dieses statt 'ps ....' aufrufen.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-
- Beiträge: 2468
- Registriert: 06.12.2005 10:38:46
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Baustelle
Re: regex. das eine Wort ja, das andere nicht ohne pipe
ich benutzte ein plugin, das die ganze Verwaltung sehr vereinfacht (check_mk).
Hat den riesen Vorteil, daß man fast die gesammte config in einer einzigen conf Datei machen kann.
Und ein Teil von check_mk ist dass des ps-Kommando in der check integriert ist. (heisst der Agend auf dem überwachtem host gibt die Ergebnisse von ps zurück, gefilter nach user und/oder regex und kann warnen wenn eine definierte anzahl von prozessen auf die die Filter passen über/unterschritten wird)
Also ja, es kann "nur" das commando ps aufgerufen werden.
(Klar kann man auch externe Scripte aufrufen, dann gets wieder ganz einfach mit pipen)
Lt. einem Kollegen kann amn aber mit einem einzelnen ergex keine ganzen Worte "ausschliessen".
Dicht drann ist z.B.: postgres: \b[^l]:
das findet dann alles was mit postgres: [Wort ohne "l" am Anfang]
ansonsten muss ich halt doch ein externes script einbauen...
EDIT:
hier ist das Manual:
http://mathias-kettner.de/checkmk_check_ps.html
Hat den riesen Vorteil, daß man fast die gesammte config in einer einzigen conf Datei machen kann.
Und ein Teil von check_mk ist dass des ps-Kommando in der check integriert ist. (heisst der Agend auf dem überwachtem host gibt die Ergebnisse von ps zurück, gefilter nach user und/oder regex und kann warnen wenn eine definierte anzahl von prozessen auf die die Filter passen über/unterschritten wird)
Also ja, es kann "nur" das commando ps aufgerufen werden.
(Klar kann man auch externe Scripte aufrufen, dann gets wieder ganz einfach mit pipen)
Lt. einem Kollegen kann amn aber mit einem einzelnen ergex keine ganzen Worte "ausschliessen".
Dicht drann ist z.B.: postgres: \b[^l]:
das findet dann alles was mit postgres: [Wort ohne "l" am Anfang]
ansonsten muss ich halt doch ein externes script einbauen...
EDIT:
hier ist das Manual:
http://mathias-kettner.de/checkmk_check_ps.html
-
- Beiträge: 2468
- Registriert: 06.12.2005 10:38:46
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Baustelle
Re: regex. das eine Wort ja, das andere nicht ohne pipe
quasi gelöst. nicht mit negierung. Aber durch einen Tip habe ich festestellt, dass die prozesse, die ich finden will alle auf "process" enden und ich somit als regex "postgres.*process" benutzen kann, um alle gesuchen Prozesse (und nur die) zu finden.