Sunday, May 19th 2013, 6:23am UTC+2

You are not logged in.

  • Login
  • Register

Dear visitor, welcome to Monitoring-Portal.
Although this is a german monitoring forum, please don't hesitate to post in English. Nearly everybody here understands you and will answer in English as well.
If this is your first visit here, please read the Help. It explains how this page works. You must be registered before you can use all the page's features. Please use the registration form to register here or read more information about the registration process. If you are already registered, please login here.

ayk

Beginner

Posts: 24

Gender: male

Number of monitoring servers: 1

Nagios Version: OMD 0.48 Nagios 3.2.3

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: 2

Number of services: 50

OS: CentOS 5.5 x86_64

Plugin Version: 1.4.15

NagVis Version: 1.5.9

NDO Version: 1

1

Monday, May 23rd 2011, 10:59am

check_logfiles local check mit check_mk auf Windows 2008 R2

Hallo,

ich habe ein Problem local checks auf einem Windows Host über check_mk in Nagios einzubinden.

Konkret geht es um check_logfiles.exe. Der Service lässt sich nicht inventarisieren.

Die Idee war aus einem Perlskript das check_logfiles.exe aufruft mit dem Par Packer eine Exe bauen und diese in das local Verzeichnis des Agenten legen.
Die .exe funktioniert und liefert auch eine Ausgabe die meiner Meinung nach den check_mk Anforderungen genügt.

Damit man alles besser nachvollziehen kann, demonstriere ich das ganze mal an Hand des Perlskripts:

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@filelist = (<..\\logcfg\\log_*>);
foreach $logcfg(@filelist){
$prog = "..\\check_logfiles.exe -f $logcfg";
$result =qx( $prog );
chomp($result);
if ($result=~/^OK/){
  print "0 log_$logcfg - $result\n";
}
if ($result=~/^CRITICAL/){
  print "2 log_$logcfg - $result\n";
}
if ($result=~/^WARNING/){
  print "1 log_$logcfg - $result\n";
}
}
print "0 log_dummy - dummy output\n";


Die Ausgabe sieht dann so aus:

Quoted

>exec_logcheck.pl
0 log_..\logcfg\log_billy.cfg - OK - no errors or warnings|billy_lines=0 billy_warnings=0 billy_criticals=0 billy_unknowns=0
0 log_..\logcfg\log_hans.cfg - OK - no errors or warnings|hans_lines=0 hans_warnings=0 hans_criticals=0 hans_unknowns=0
0 log_..\logcfg\log_willi.cfg - OK - no errors or warnings|willi_lines=0 willi_warnings=0 willi_criticals=0 willi_unknowns=0
0 log_dummy - dummy output
Mit einem check_mk -d somehost bekomme ich aber in der Sektion <<<local>>> nur den dummy-check zu sehen ?(
Der wird ja über den print Befehl einfach so ausgegeben während die anderen checks über den Aufruf von check_logfiles.exe erzeugt werden. Hab auch schon versucht das $result in der Ausgabe wegzulassen und einen dummy Text eingegeben aber das hat auch nix gebracht.

Vielleicht ist mein ganzer Ansatz aber auch total abwegig und jemand hat eine ganz andere Lösung?!

Die check_mk Version des Agenten ist 1.1.10p2.

Gruß

Andy

This post has been edited 1 times, last edit by "ayk" (May 23rd 2011, 1:18pm)


ayk

Beginner

Posts: 24

Gender: male

Number of monitoring servers: 1

Nagios Version: OMD 0.48 Nagios 3.2.3

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: 2

Number of services: 50

OS: CentOS 5.5 x86_64

Plugin Version: 1.4.15

NagVis Version: 1.5.9

NDO Version: 1

2

Monday, May 23rd 2011, 11:28am

Jetzt habe ich noch mal etwas am Skript geändert das der Output übersichtlicher wird.

Quoted

C:\cert\check_mk\local>exec_logcheck.exe
0 log_billy.cfg - dummyout
0 log_hans.cfg - dummyout
0 log_willi.cfg - dummyout
0 log_dummy1 - dummy output
0 log_dummy2 - dummy output
Die ersten drei Zeilen werden über die For-Schleife und check_logfiles.exe ausgegeben und die letzten beiden über print "0 log_dummy - dummy output\n";

check_mk -d zeigt nur log_dummy1 + 2 in <<local>> an :thumbdown:

This post has been edited 1 times, last edit by "ayk" (May 23rd 2011, 1:19pm)


ayk

Beginner

Posts: 24

Gender: male

Number of monitoring servers: 1

Nagios Version: OMD 0.48 Nagios 3.2.3

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: 2

Number of services: 50

OS: CentOS 5.5 x86_64

Plugin Version: 1.4.15

NagVis Version: 1.5.9

NDO Version: 1

3

Wednesday, June 1st 2011, 12:30pm

Edit:
Neue Version kommt auch mit $options = 'report=long'; klar.

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# Build with Python 2.7 & pyinstaller 1.5
# python Makespec.py --onefile check_logfiles.py
# python Build.py path/to_spec_file

import os, re

cfgdir="c:\\check_logfiles\\"
command="c:\\check_logfiles\\check_logfiles.exe"

results = []
templist = []

for i in os.listdir(cfgdir):

	if i.split(".")[-1] == "cfg":
    	
    	_stdin, _stdout, _stderr = os.popen3(command +" " +"-f" +" " + cfgdir + i)
    	
    	templist = []
    	
    	for s in _stdout.readlines():
        	templist.append(str(s.rstrip('\n')))
        	templist.append("<br>")
	
    	_stdout.close()
	
    	templist=''.join(templist)
	
    	if re.search("^OK", templist):
		
        	output = "0 " +i + " - " + templist
        	results.append(output)
	
    	elif re.search("^WARNING", templist):
		
        	output = "1 " +i + " - " + templist
        	results.append(output)

    	elif re.search("^CRITICAL", templist):
		
        	output = "2 " +i + " - " + templist
        	results.append(output)
    	
    	else:
	
        	output = "3 " +i + " - " + templist
        	results.append(output)
	
for entry in results[0:]:
	print entry

This post has been edited 6 times, last edit by "ayk" (Jun 15th 2011, 2:44pm)


ayk

Beginner

Posts: 24

Gender: male

Number of monitoring servers: 1

Nagios Version: OMD 0.48 Nagios 3.2.3

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: 2

Number of services: 50

OS: CentOS 5.5 x86_64

Plugin Version: 1.4.15

NagVis Version: 1.5.9

NDO Version: 1

4

Tuesday, June 28th 2011, 10:10am

noch mal ich:

habe jetzt das original mk_logwatch als .exe gebaut so das die Einträge aus den logfiles auch auf der logwatch page angeschaut und acknowledged werden können.
Der Quellcode anbei. Die fertige .exe kann man hier runterladen.

Edit:
oder hier

Möge es jemanden nutzen...
ayk has attached the following file:
  • mk_logwatch.zip (8.13 kB - 38 times downloaded - Last download: Mar 21st 2013, 11:29am)

This post has been edited 2 times, last edit by "ayk" (Jul 19th 2011, 2:30pm)


ja-m

Beginner

Posts: 45

Gender: male

Location: Kaiserslautern

Number of monitoring servers: 2

Nagios Version: -

Icinga Version: 1.6

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: 51

Number of services: 334

OS: Windows, Linux

Plugin Version: -

NDO Version: -

IDO-Version: 1.6.0

Other Addons: Icinga Mobile, Check_MK

5

Friday, July 8th 2011, 3:53pm

Hallo ayk,

habe deine mk_logwatch.exe gerade versucht einzurichten.
Soll das über die Inventarfunktion von check_mk gefunden werden?
Die Exe wird bei jedem Check-Durchlauf ausgeführt. Erkenne das am logwatch.state, aber ich sehe den Check nicht in check_mk-GUI.

Ich habe die entsprechende Teile in check_mk.py wie in der readme beschrieben geändert. Muss check_mk auf dem Server neu compiliert werden?


Ich setze check_mk-Version 1.1.11i1 ein.

Gruß
Jan

ja-m

Beginner

Posts: 45

Gender: male

Location: Kaiserslautern

Number of monitoring servers: 2

Nagios Version: -

Icinga Version: 1.6

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: 51

Number of services: 334

OS: Windows, Linux

Plugin Version: -

NDO Version: -

IDO-Version: 1.6.0

Other Addons: Icinga Mobile, Check_MK

6

Friday, July 8th 2011, 4:01pm

Kommando zurück.
Wird inventarisiert sobald man Log-Files über die main.mk zulässt. Sehe jetzt einen Check in der GUI.

Werde dann mal weiter testen.

Gruß
Jan

ja-m

Beginner

Posts: 45

Gender: male

Location: Kaiserslautern

Number of monitoring servers: 2

Nagios Version: -

Icinga Version: 1.6

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: 51

Number of services: 334

OS: Windows, Linux

Plugin Version: -

NDO Version: -

IDO-Version: 1.6.0

Other Addons: Icinga Mobile, Check_MK

7

Friday, July 8th 2011, 4:51pm

So erste Test abgeschlossen.

Folgende kleinere "Unschärfen" sind mir aufgefallen:
- in der readme.txt steht "- copy mk_logwatch.exe in your agent 'plugin' directory", es muss aber das "plugins"-Verzeichnis sein
- das Icon auf der Weboberfläche von check_mk für den win_logfile-Check ist anders als das von den Standard-LOG-Checks

Insgesamt sieht das Ganze aber sehr gut aus.

Gruß
Jan

ayk

Beginner

Posts: 24

Gender: male

Number of monitoring servers: 1

Nagios Version: OMD 0.48 Nagios 3.2.3

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: 2

Number of services: 50

OS: CentOS 5.5 x86_64

Plugin Version: 1.4.15

NagVis Version: 1.5.9

NDO Version: 1

8

Tuesday, July 12th 2011, 12:36pm

Hallo Jan,

wo man einstellt, welches Icon in der Multisite genutzt wird habe ich nicht gefunden. So weit habe ich mich nicht durch den Quellcode gewühlt. Vielleicht gibt uns ja noch jemand einen Tip.

Die readme werde ich noch anpassen ;)

Posts: 11

Gender: male

Number of monitoring servers: 1

Nagios Version: 3.2.3

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: >40

Number of services: >50

OS: Windows, Linux

Plugin Version: k.A.

NDO Version: 1

Other Addons: check_mk

9

Monday, July 18th 2011, 9:11pm

Kommando zurück.
Wird inventarisiert sobald man Log-Files über die main.mk zulässt. Sehe jetzt einen Check in der GUI.

Werde dann mal weiter testen.

Gruß
Jan
Habe mir das Plugin auch mal installiert.
Leider bekomme ich noch keine Logwatch Meldungen. Ein Inventory bringt auch keinen neuen Logwatch check.
Kannst du mir evtl. den main.mk Parameter noch genau mitteilen - ich bin aus deinem Hinweis nicht schlau geworden? :wacko:
Wahrscheinlich liegt es bei mir auch daran.

UPDATE:
Habe jetzt den Test im check_mk drin. Allerdings auch ohne Parameter in der main.mk ?(
Aber die Fehler in dem Logfile auf dem Windoof Server werden nicht gemeldet.

Meine logwatch.cfg sieht ungefähr so aus:

Source code

1
2
3
4
5
C:\win32app\nsr\applogs\backintSID.log.raw
C unable
C error
C failed
W timeout


Der Inhalt der logwatch.state:

Source code

1
C:\win32app\nsr\applogs\backintSID.log.raw|104175|24488322973838274


Hab mal einige Zeilen mit den Strings "failed" etc. eingetragen
NIX :(

Source code

1
LOG C:\win32app\nsr\applogs\backintSID.log.raw OK - no old or new error messages

This post has been edited 1 times, last edit by "openyoureyes" (Jul 18th 2011, 9:46pm)


ja-m

Beginner

Posts: 45

Gender: male

Location: Kaiserslautern

Number of monitoring servers: 2

Nagios Version: -

Icinga Version: 1.6

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: 51

Number of services: 334

OS: Windows, Linux

Plugin Version: -

NDO Version: -

IDO-Version: 1.6.0

Other Addons: Icinga Mobile, Check_MK

10

Tuesday, July 19th 2011, 9:00am

Hallo!

Ich hab in meiner Konfiguration alls Logfiles deaktiviert. Ich will diese nicht bei allen Hosts sehen. Ich schalte die Logfiles über ein Tag ein. Das hatte ich bei meinem Testrechner vergessen.

Das keine Fehler angezeigt wurden hatte ich auch.
Habe einfach logwatch.state gelöscht und quasi von vorne angefangen mit der Überwachung. Ob derzeit wirklich alles gemeldet wird kann ich nicht sagen, habe Urlaub. :-) Werde es in 3 Wochen sehen und hier melden.

Gruß
Jan

ayk

Beginner

Posts: 24

Gender: male

Number of monitoring servers: 1

Nagios Version: OMD 0.48 Nagios 3.2.3

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: 2

Number of services: 50

OS: CentOS 5.5 x86_64

Plugin Version: 1.4.15

NagVis Version: 1.5.9

NDO Version: 1

11

Tuesday, July 19th 2011, 12:28pm

die Pattern in der logwatch.cfg müssen mit einem Leerzeichen beginnen. Also etwa so:

Source code

1
2
3
4
5
C:\win32app\nsr\applogs\backintSID.log.raw 
 C unable 
 C error 
 C failed 
 W timeout

Posts: 11

Gender: male

Number of monitoring servers: 1

Nagios Version: 3.2.3

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: >40

Number of services: >50

OS: Windows, Linux

Plugin Version: k.A.

NDO Version: 1

Other Addons: check_mk

12

Wednesday, July 20th 2011, 9:07am

die Pattern in der logwatch.cfg müssen mit einem Leerzeichen beginnen. Also etwa so:

Source code

1
2
3
4
5
C:\win32app\nsr\applogs\backintSID.log.raw 
 C unable 
 C error 
 C failed 
 W timeout
Genau so hab ich das auch eingetragen. Sorry war in meinem letzten Post irgendwie ohne leerzeichen hinterlegt.
Aber trotzdem kann ich in dem Logfile "error" and "failed" reinschreiben so viel ich will - nothing :-(
Ich bekomme im Nagios immer grün.
Hast du noch eine Idee?

Posts: 11

Gender: male

Number of monitoring servers: 1

Nagios Version: 3.2.3

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: >40

Number of services: >50

OS: Windows, Linux

Plugin Version: k.A.

NDO Version: 1

Other Addons: check_mk

13

Wednesday, July 20th 2011, 9:13am

nicht sagen, habe Urlaub. :-) Werde es in 3 Wochen sehen und hier melden.

Gruß
Jan
Na dann schönen Urlaub :thumbup:

ayk

Beginner

Posts: 24

Gender: male

Number of monitoring servers: 1

Nagios Version: OMD 0.48 Nagios 3.2.3

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: 2

Number of services: 50

OS: CentOS 5.5 x86_64

Plugin Version: 1.4.15

NagVis Version: 1.5.9

NDO Version: 1

14

Wednesday, July 20th 2011, 9:53am

Hi, folgendes würde ich prüfen:

1. was sagt das plugin denn wenn du es per Kommandozeilein aufrufst?

2. wird das logwatch file auf dem Server angelegt? (/omd/sites/testenv/var/check_mk/logwatch/<Hostname>/)

Gruß

Andy

Posts: 11

Gender: male

Number of monitoring servers: 1

Nagios Version: 3.2.3

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: >40

Number of services: >50

OS: Windows, Linux

Plugin Version: k.A.

NDO Version: 1

Other Addons: check_mk

15

Wednesday, July 20th 2011, 4:56pm


1. was sagt das plugin denn wenn du es per Kommandozeilein aufrufst?

2. wird das logwatch file auf dem Server angelegt? (/omd/sites/testenv/var/check_mk/logwatch/<Hostname>/)


C:\check_mk\plugins>mk_logwatch.exe
<<<win_logfiles>>>
[[[C:\win32app\nsr\applogs\backintSID.log.raw]]]

Das ist alles auf der Kommandozeile.
Ich habe kein omd. Ich nutze nur check_mk. Dort müsste die Datei unter /var/lib/check_mk/logwatch/[HOSTNAME] liegen.
Da liegt aber keins. ;(

ayk

Beginner

Posts: 24

Gender: male

Number of monitoring servers: 1

Nagios Version: OMD 0.48 Nagios 3.2.3

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: 2

Number of services: 50

OS: CentOS 5.5 x86_64

Plugin Version: 1.4.15

NagVis Version: 1.5.9

NDO Version: 1

16

Thursday, July 21st 2011, 9:43am

Hi,

die von dir gepostete Ausgabe zeigt, das die Pattern in der logwatch.cfg nicht gematched haben.

Trage eine Zeile in dein logfile ein, die gefunden werden müsste und spul das Statefile zurück:

Source code

1
C:\win32app\nsr\applogs\backintSID.log.raw|0


dann starte das Plugin von Hand.

Wenn ein Pattern matched müsste die Ausgabe so aussehen:

Source code

1
2
3
4
5
6
<<<win_logfiles>>>
[[[C:\Program Files (x86)\Matrix42\Matrix42 Service Store\Logs\HostCommon.log]]]
.	at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
.	at update4u.SPS.ComplianceRules.EventProcessing.EventDataAccess.DeleteIncompleteEvents()
.	at update4u.SPS.ComplianceRules.EventProcessing.EventServiceManager.ProcessImmediateRules()
W 2011-07-21 00:15:29,986 ERROR 4868 HostCommon (null) (null) (null)  (null) 5.31.0862   - System.Data.SqlClient.SqlException: Timeout expired


Mein logwatch.cfg hat als Warning Pattern 'Timeout' eingetragen

Posts: 11

Gender: male

Number of monitoring servers: 1

Nagios Version: 3.2.3

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: >40

Number of services: >50

OS: Windows, Linux

Plugin Version: k.A.

NDO Version: 1

Other Addons: check_mk

17

Thursday, July 21st 2011, 2:24pm

dann starte das Plugin von Hand.
Wenn ein Pattern matched müsste die Ausgabe so aussehen:
Mein logwatch.cfg hat als Warning Pattern 'Timeout' eingetragen
Hi ayk,

Also ich hab jetzt mal zum testen einen leeren Logfile angelegt (c:\temp\test.log).
In der logwatch.cfg steht:

Source code

1
2
3
4
5
6
C:\temp\test.log
 C unable
 C error
 C failed
 C fatal
 W timeout


Die Datei c:\temp\test.log habe ich gefüttert mit:

Source code

1
2
failed
timeout


Ausgabe mk_logwatch.exe

Source code

1
2
3
4
5
<<<win_logfiles>>>
[[[C:\temp\test.log]]]
C failed
W timeout
.


Das funkltioniert. Aber ich habe noch einige Tests mit anderen Kombinationen durchgeführt. z.B.

Source code

1
failed A


Ergebnis mk_logwatch zeigt nichts. Wenn ich nur "failed" verwende, dann wird die Zeile gematched.

Noch ein paar Beispiele:

Source code

1
2
3
4
5
6
7
blubb blubb : timeout

Ausgabe:
<<<win_logfiles>>>
[[[C:\temp\test.log]]]
W ubb blubb : timeout
.


Ist das normal, dass bei dem ersten "blubb" nur "ubb" angezeigt wird?

Source code

1
2
3
4
5
6
7
8
timeout
failed A
timeout
timeout : blubb blubb

Ausgabe:
<<<win_logfiles>>>
[[[C:\temp\test.log]]]


Ich hoffe ich konnte noch was nützliches zur Fehlersuche beitragen.

ayk

Beginner

Posts: 24

Gender: male

Number of monitoring servers: 1

Nagios Version: OMD 0.48 Nagios 3.2.3

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: 2

Number of services: 50

OS: CentOS 5.5 x86_64

Plugin Version: 1.4.15

NagVis Version: 1.5.9

NDO Version: 1

18

Thursday, July 21st 2011, 2:43pm

Hi,

das mit dem abgeschnittenen Zeilen Anfang konnte ich nicht nachvollziehen.
Ein Problem mit einem abgeschnittenen Zeilen Ende im original mk_logwatch hatte ich schon mal hier gemeldet und auch feedback von jemanden der das selbe Problem hat:
http://lists.mathias-kettner.de/pipermai…uly/001163.html

Zu den nicht gefundenen Einträgen ist mir gerade aufgefallen, das die Zeilen nicht gefunden werden wenn die Zeile _nicht_ mit einem "newline" Zeichen endet.
Also mal blubb blubb : timeout eingeben und danach Return drücken. Ohne die neue leere Zeile wird nichts gefunden. Kurios?! Ist mirvorher nicht aufgefallen. Interessant wäre ob das original mk_logwatch Plugin für Linux das gleiche Verhalten aufweist. Bis auf drei, vier Zeilen hab ich da nämlich nichts geändert. Evtl. verhalten sich hier Linux und Windows auch unterschiedlich? Werde ich mir mal anschauen.
Aber wohl erst in zwei Wochen, hab ab Montag Urlaub :)

ayk

Posts: 11

Gender: male

Number of monitoring servers: 1

Nagios Version: 3.2.3

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: >40

Number of services: >50

OS: Windows, Linux

Plugin Version: k.A.

NDO Version: 1

Other Addons: check_mk

19

Thursday, July 21st 2011, 5:56pm

Komisch irgendwie haben alle um mich rum Urlaub - nur ich nicht ! ?( *NACHDENK*
Trotzdem schönen Urlaub. :thumbsup:

Vielleicht habe ich mal etwas Zeit und probier noch ein paar Sachen aus.
Ist das eigentlich bei der .py Datei auch so? Vielleicht liegts am kompilieren.
Vielleicht pack ich mir mal Python auf den Client.

*openyoureyes*

ayk

Beginner

Posts: 24

Gender: male

Number of monitoring servers: 1

Nagios Version: OMD 0.48 Nagios 3.2.3

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: 2

Number of services: 50

OS: CentOS 5.5 x86_64

Plugin Version: 1.4.15

NagVis Version: 1.5.9

NDO Version: 1

20

Friday, July 22nd 2011, 7:50am

Hi,

das .py file unter Windows hat den gleichen Fehler. Am kompilieren lag es also nicht. Unter Linux klappt es wunderbar.
Es scheint also doch nicht so 1 zu 1 auf Windows übertragbar zu sein. OK, wenn ich in zwei Wochen wieder da bin hast du hoffentlich schon eine Lösung :P