11.09.2011, 22:10 UTC+2

Sie sind nicht angemeldet.

TheCry

Profi

Beiträge: 1 030

Geburtstag: 29.09.1970 (40)

Geschlecht: Männlich

Wohnort: Koblenz

Beruf: Sys-Admin

Anzahl Nagios-Server: 8

Nagios-Version(en): 3.2.3

Verteiltes Monitoring: Ja

Redundantes Monitoring: Ja

Anzahl-Hosts: ~1100

Anzahl Services: ~10000

Betriebssystem(e): Debian Lenny, Ubuntu 8.04 LTS

Plugin-Version(en): 1.4.13

NagVis-Version: 1.5.8

NDO-Version: 1.4b9

Sonstige Addon's: PNP (V. 0.6.11), Multicheck (V 0.25), mod_gearman (V 1.0), DokuWiki, Trap2Mod_Gearman (V 1.0)

1

26.03.2009, 08:21

Besteht Interesse an SQL-Statements für iReport Auswertungen

Hi zusammen,
gestern hatte ich mit Matthias (mess) ein bisschen geklönt, und dabei auch davon erzählt, das ein Kollege von uns sich mit iReport beschäftigt hat. Dort hat er verschiedene Arten von Reports, teilweise auch mit Kuchen- oder Balkengrafiken erstellt.
Ich musste aber erst einmal in meiner Abteiliung klären ob ich das rausgeben darf. Ist halt so in unserem Betrieb.. :(
Aber gute Nachrichten.. Ich habe das OK bekommen...

Grundvorraussetzung für das nutzen ist natürlich das man sich mit iReport beschäftigt und den Connect zur NDO Datenbank hinbekommt.
Die Query's würde ich hier dann zur Verfügung stellen.. Dann braucht Ihr in iReport nur noch den Query anzupassen.

Wenn die Queries funktionieren, dann ist es ziemlich einfach mit dem Designer eine eigene Vorlage zu erstellen!

Es gibt unter anderem Queries die je nach Anzhal der Hosts und des Zeitraumes sehr lange dauern können!
Also nicht wurden, wenn iReport nicht direkt was anzeigt

Hier mal ein paar Screenshots von den einzelnen Reports






Wen als Interesse dran besteht, dann stelle ich die verschiedenen Queries mit Erklärung wo was geändert werden muss zur Verfügung.

Gruß
Sascha

Andurin

Super Moderator

Beiträge: 4 393

2

26.03.2009, 08:27

Hallo Sascha,

ich mag die Momente, wo ich mal laut

HIER
schreien darf.

Ich muss mich gerade hier in der Firma mit dem langweiligen aber geforderten Thema 'ordentlicher' Reports beschäftigen.
Spielen wollte ich dabei mit BIRT bzw. Pentaho. Hübsche Reports über diverse Engines sind eine Sache, vernünftig an die Daten zu kommen die nächste und leider auch das was meiner Ansicht nach Zeit raubt.

Wenn du da also schon Dinge getan hast, würde ich das gerne als Grundlage nutzen, natürlich nach alter Väter Sitte: Finde ich was zu mäkeln, gibt's Kommentare oder auch Fixes zurück.

Gruß
Hendrik
Wenn Sie das hier lesen, bin ich schon nicht mehr da... schön war die Ära, toll die Zeiten, super die Kontakte aber für den Moment bin ich raus.

TheCry

Profi

Beiträge: 1 030

Geburtstag: 29.09.1970 (40)

Geschlecht: Männlich

Wohnort: Koblenz

Beruf: Sys-Admin

Anzahl Nagios-Server: 8

Nagios-Version(en): 3.2.3

Verteiltes Monitoring: Ja

Redundantes Monitoring: Ja

Anzahl-Hosts: ~1100

Anzahl Services: ~10000

Betriebssystem(e): Debian Lenny, Ubuntu 8.04 LTS

Plugin-Version(en): 1.4.13

NagVis-Version: 1.5.8

NDO-Version: 1.4b9

Sonstige Addon's: PNP (V. 0.6.11), Multicheck (V 0.25), mod_gearman (V 1.0), DokuWiki, Trap2Mod_Gearman (V 1.0)

3

26.03.2009, 09:33

Ich denke da würde sich der Query für einen einzelnen Host anbieten..
Damit man einfach mal das Gefühl für iReport bekommt.. :)

Im Prinzip ist es aber recht simpel...
Wenn man die richtigen Queries hat und auch von NDO die wichtigen Tabellen befüllt wurden.. ;)

Für diesen Query braucht man lediglich nur die Tabellen
  • nagios_statehistory
  • nagios_hosts


Hier nun der Query

Quellcode

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
51
52
53
SELECT sum(time_to_sec(timediff(END,START ))) as dowver ,
concat(' von ',date(beg),' bis ',date(fin)) as vbd ,count(STATUS) as csum , 
hostname, sec_to_time(sum(time_to_sec(timediff(END,START )))),
CONCAT( CAST(hour(sec_to_time(sum(time_to_sec(timediff(END,START )))))/24 AS DECIMAL(3,0)),'  T  ',
hour(sec_to_time(sum(time_to_sec(timediff(END,START )))))%24,' ST. ',
MINUTE(sec_to_time(sum(time_to_sec(timediff(END,START ))))),'  M. ',
SECOND(sec_to_time(sum(time_to_sec(timediff(END,START ))))),' S.' ) as CRdauer,
 datediff(fin,beg)*24*60*60-sum(time_to_sec(timediff(END,START ))) as upver,




CONCAT( CAST(((datediff(fin,beg)*24*60*60-sum(time_to_sec(timediff(END,START ))) )/3600)/24 AS DECIMAL(4,0)),' T ',
SUBSTR(CAST(((datediff(fin,beg)*24*60*60-sum(time_to_sec(timediff(END,START ))) )/3600)%24 as DECIMAL(4,2)),1,2),' ST.',
 SUBSTR(CAST(((datediff(fin,beg)*24*60*60-sum(time_to_sec(timediff(END,START ))) )/60)%60 AS DECIMAL(4,2)),1,2),' M.',
CAST(((datediff(fin,beg)*24*60*60-sum(time_to_sec(timediff(END,START ))) ))%60 AS DECIMAL(2,0)),' S.' ) as updauer,




ROUND((100.000000000/(datediff(fin,beg)*24*60*60))*(sum(time_to_sec(timediff(END,START )))),3) as downprz,

ROUND((100.000000000/(datediff(fin,beg)*24*60*60) )*((datediff(fin,beg)*24*60*60)-(sum(time_to_sec(timediff(END,START ))))),3) as upprz


FROM (

SELECT a.state AS 
STATUS,  beg, fin,a.state_time AS 
START , min( b.state_time ) AS 
END ,  c.display_name AS hostname 

FROM nagios_statehistory AS a, nagios_statehistory AS b, nagios_hosts c,(select '20090101' as beg,'20091231' as fin from dual ) as g

WHERE a.object_id = c.host_object_id
AND b.object_id = a.object_id



AND b.state_type =1
AND a.state_type =1
AND a.state =1
AND c.display_name= 'HOSTNAME'



AND date(b.state_time)>=date(a.state_time) 
AND time(b.state_time)>time(a.state_time)
AND a.state_time  BETWEEN beg AND  fin
GROUP BY a.statehistory_id 
) AS tabelle
GROUP BY hostname, 
STATUS


Folgendes muss in dem Query geändert werden
  • HOSTNAME -> Hier wird der Hostname des Host eingetragen der abgefragt werden soll
  • select '20090101' as beg,'20091231' -> Hier den Zeitraum für die Abfrage eintragen


Und schon sollte der Query funktionieren

Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von »TheCry« (24.04.2009, 12:12)


TheCry

Profi

Beiträge: 1 030

Geburtstag: 29.09.1970 (40)

Geschlecht: Männlich

Wohnort: Koblenz

Beruf: Sys-Admin

Anzahl Nagios-Server: 8

Nagios-Version(en): 3.2.3

Verteiltes Monitoring: Ja

Redundantes Monitoring: Ja

Anzahl-Hosts: ~1100

Anzahl Services: ~10000

Betriebssystem(e): Debian Lenny, Ubuntu 8.04 LTS

Plugin-Version(en): 1.4.13

NagVis-Version: 1.5.8

NDO-Version: 1.4b9

Sonstige Addon's: PNP (V. 0.6.11), Multicheck (V 0.25), mod_gearman (V 1.0), DokuWiki, Trap2Mod_Gearman (V 1.0)

4

27.03.2009, 07:34

Sorry das es so kleckerweise kommt, aber wir haben gerade massig zu tun...
Dieser Query sollte alle Criticals von einem Hst ausgeben die "außerhalb" einer Downtime liegen!

Folgende Tabellen werden benötigt:
  • nagios_statehistory
  • nagios_downtimehistory
  • nagios_hosts

Quellcode

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
select bereich,sec_to_time(sum(time_to_sec((timediff(mst,st))))) as dauer,concat(' von ',date(beg),' bis ',date(fin)) as vbd, count(bereich) as cr, hname,

CONCAT( CAST(hour(sec_to_time(sum(time_to_sec(timediff(mst,st )))))/24 AS DECIMAL(3,0)),'  T  ',hour(sec_to_time(sum(time_to_sec(timediff(mst,st )))))%24,' ST. ',MINUTE(sec_to_time(sum(time_to_sec(timediff(mst,st ))))),'  M. ',SECOND(sec_to_time(sum(time_to_sec(timediff(mst,st))))),' S.' ) as zeit,
ROUND((100.000000000/(datediff(fin,beg)*24*60*60))*(sum(time_to_sec(timediff(mst,st)))),3) as downprz,

ROUND((100.000000000/(datediff(fin,beg)*24*60*60) )*((datediff(fin,beg)*24*60*60)-(sum(time_to_sec(timediff(mst,st))))),3) as upprz


from
(
Select  aaa,beg, fin, st,en,ac, timediff(ac,en) as td , count(st) as cc,bereich, mst, name as hname
from


(SELECT a.statehistory_id as aaa,c.entry_time as en,c.actual_end_time as ac ,a.state_time as st, if(a.state_time between entry_time and actual_end_time ,'Ausfaelle in den Wartungsfenstern','Ausfaelle ausserhalb der Wartungsfenster ')as Bereich, min(b.state_time) as mst,d.display_name as name,beg, fin



 FROM nagios_statehistory a, nagios_statehistory b, nagios_downtimehistory c,nagios_hosts d, (select '20091001' as beg,'20091131' as fin from dual ) as g

Where a.object_id=b.object_id and
      b.object_id=c.object_id and 
      d.host_object_id=c.object_id and
      
      a.state_type=1 and
      b.state_type=1 and
      a.state=1 and
 date(b.state_time)>=date(a.state_time) and
 time(b.state_time)>time(a.state_time)and
      d.display_name='HOSTNAME' and
      a.state_time  between beg AND  fin
group by en, ac, st
order by st) as tt
group by bereich, st
having cc=2 or bereich = 'Ausfaelle in den Wartungsfenstern'
) as ttt
group by bereich


Folgendes muss in dem Query geändert werden
  • HOSTNAME -> Hier wird der Hostname des Host eingetragen der abgefragt werden soll
  • select '20091001' as beg,'20091131' -> Start- und Endedatum

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »TheCry« (24.04.2009, 12:17)


TheCry

Profi

Beiträge: 1 030

Geburtstag: 29.09.1970 (40)

Geschlecht: Männlich

Wohnort: Koblenz

Beruf: Sys-Admin

Anzahl Nagios-Server: 8

Nagios-Version(en): 3.2.3

Verteiltes Monitoring: Ja

Redundantes Monitoring: Ja

Anzahl-Hosts: ~1100

Anzahl Services: ~10000

Betriebssystem(e): Debian Lenny, Ubuntu 8.04 LTS

Plugin-Version(en): 1.4.13

NagVis-Version: 1.5.8

NDO-Version: 1.4b9

Sonstige Addon's: PNP (V. 0.6.11), Multicheck (V 0.25), mod_gearman (V 1.0), DokuWiki, Trap2Mod_Gearman (V 1.0)

5

27.03.2009, 07:41

Hier nun der Query für Servicegruppen

Hier werden folgende Tabellen benötigt:
  • nagios_statehistory
  • nagios_servicegroups
  • nagios_servicegroup_members
  • nagios_services
  • nagios_hostgroups
  • nagios_hostgroup_members
  • nagios_hosts



Quellcode

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
select CONCAT(CAST(sum(time_to_sec(timediff(END,START )))/86400 AS DECIMAL(3,0)),' T ',CAST((sum(time_to_sec(timediff(END,START )))/3600)%24 AS DECIMAL(2,0)),' ST. ',CAST((sum(time_to_sec(timediff(END,START )))/60)%60 AS DECIMAL(2,0)),' M ',CAST(sum(time_to_sec(timediff(END,START )))%60 AS DECIMAL(2,0)), ' S.'       ) as zeidwn,oali,concat(' von ',date(beg),' bis ',date(fin)) as vbd,sum(time_to_sec(timediff(END,START ))) as vv

from
(SELECT a.state AS STATUS, 
beg,
 fin,
a.state_time AS START ,
 min( b.state_time ) AS END ,
 i.alias as oali, k.display_name

FROM nagios_statehistory AS a, nagios_statehistory AS b,nagios_servicegroups f, nagios_servicegroup_members g, nagios_services h, nagios_hostgroups i, nagios_hostgroup_members j, nagios_hosts k,(select '20090101' as beg,'20091231' as fin from dual ) as g


WHERE b.object_id = a.object_id
AND  f.servicegroup_id= g.servicegroup_id
AND g.service_object_id =h.service_object_id
AND h.host_object_id=a.object_id
AND h.host_object_id=j.host_object_id
AND j.hostgroup_id=i.hostgroup_id
AND k.host_object_id=h.host_object_id

AND b.state_type =1
AND a.state_type =1
AND a.state =1


AND f.alias= 'SERVICEGRUPPE'


AND date(b.state_time)>=date(a.state_time) 
AND time(b.state_time)>time(a.state_time)
AND a.state_time  BETWEEN  beg AND  fin
GROUP BY a.statehistory_id,k.display_name
) as t

group by oali


Folgendes muss in dem Query geändert werden
  • SERVICEGRUPPE -> Name der Servicegruppe
  • select '20090101' as beg,'20091231' -> Start- und Endedatum

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »TheCry« (24.04.2009, 12:22)


TheCry

Profi

Beiträge: 1 030

Geburtstag: 29.09.1970 (40)

Geschlecht: Männlich

Wohnort: Koblenz

Beruf: Sys-Admin

Anzahl Nagios-Server: 8

Nagios-Version(en): 3.2.3

Verteiltes Monitoring: Ja

Redundantes Monitoring: Ja

Anzahl-Hosts: ~1100

Anzahl Services: ~10000

Betriebssystem(e): Debian Lenny, Ubuntu 8.04 LTS

Plugin-Version(en): 1.4.13

NagVis-Version: 1.5.8

NDO-Version: 1.4b9

Sonstige Addon's: PNP (V. 0.6.11), Multicheck (V 0.25), mod_gearman (V 1.0), DokuWiki, Trap2Mod_Gearman (V 1.0)

6

27.03.2009, 07:46

Dieser Query fragt eine Hostgruppe ab
Folgende Tabellen werden benötigt
  • nagios_statehistory
  • nagios_hosts
  • nagios_hostgroup_members
  • nagios_hostgroups

Quellcode

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
SELECT sum(time_to_sec(timediff(END,START ))) as dowver ,concat(' von ',date(beg),' bis ',date(fin)) as vbd ,count(STATUS) as csum , hostname,ali , sec_to_time(sum(time_to_sec(timediff(END,START )))),CONCAT( CAST(hour(sec_to_time(sum(time_to_sec(timediff(END,START )))))/24 AS DECIMAL(3,0)),'  T  ',hour(sec_to_time(sum(time_to_sec(timediff(END,START )))))%24,' ST. ',MINUTE(sec_to_time(sum(time_to_sec(timediff(END,START ))))),'  M. ',SECOND(sec_to_time(sum(time_to_sec(timediff(END,START ))))),' S.' ) as CRdauer, datediff(fin,beg)*24*60*60-sum(time_to_sec(timediff(END,START ))) as upver, 






CONCAT( CAST(((datediff(fin,beg)*24*60*60-sum(time_to_sec(timediff(END,START ))) )/3600)/24 AS DECIMAL(4,0)),' T ',
SUBSTR(CAST(((datediff(fin,beg)*24*60*60-sum(time_to_sec(timediff(END,START ))) )/3600)%24 as DECIMAL(4,2)),1,2),' ST.',
 SUBSTR(CAST(((datediff(fin,beg)*24*60*60-sum(time_to_sec(timediff(END,START ))) )/60)%60 AS DECIMAL(4,2)),1,2),' M.',
CAST(((datediff(fin,beg)*24*60*60-sum(time_to_sec(timediff(END,START ))) ))%60 AS DECIMAL(2,0)),' S.' ) as updauer,




ROUND((100.000000000/(datediff(fin,beg)*24*60*60))*(sum(time_to_sec(timediff(END,START )))),3) as downprz,

ROUND((100.000000000/(datediff(fin,beg)*24*60*60) )*((datediff(fin,beg)*24*60*60)-(sum(time_to_sec(timediff(END,START ))))),3) as upprz


FROM (

SELECT a.state AS 
STATUS,  beg, fin,a.state_time AS 
START , min( b.state_time ) AS 
END ,  c.display_name AS hostname, e.alias as ali

FROM nagios_statehistory AS a, nagios_statehistory AS b, nagios_hosts c, nagios_hostgroup_members AS d, nagios_hostgroups e,(select '20090101' as beg,'20091231' as fin from dual ) as g


WHERE a.object_id = c.host_object_id
AND b.object_id = a.object_id
AND c.host_object_id = d.host_object_id


AND b.state_type =1
AND a.state_type =1
AND a.state =1
AND d.hostgroup_id = e.hostgroup_id
AND e.alias = "HOSTGRUPPE"

AND date(b.state_time)>=date(a.state_time) 
AND time(b.state_time)>time(a.state_time)
AND a.state_time  BETWEEN beg AND  fin
GROUP BY a.statehistory_id 
) AS tabelle
GROUP BY hostname, 
STATUS


Folgendes muss geändert werden
  • select '20090101' as beg,'20091231' -> Start- und Endedatum
  • HOSTGRUPPE -> Name der Hostgruppe

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »TheCry« (24.04.2009, 12:24)


Andurin

Super Moderator

Beiträge: 4 393

7

27.03.2009, 07:49

Hallo Sascha,

ohne dich in deinem tüchtigen schreibwahn hemmen zu wollen - sollten wir das mal einfach so ins Nagios-Wiki.de klatschen?
Wenn Sie das hier lesen, bin ich schon nicht mehr da... schön war die Ära, toll die Zeiten, super die Kontakte aber für den Moment bin ich raus.

TheCry

Profi

Beiträge: 1 030

Geburtstag: 29.09.1970 (40)

Geschlecht: Männlich

Wohnort: Koblenz

Beruf: Sys-Admin

Anzahl Nagios-Server: 8

Nagios-Version(en): 3.2.3

Verteiltes Monitoring: Ja

Redundantes Monitoring: Ja

Anzahl-Hosts: ~1100

Anzahl Services: ~10000

Betriebssystem(e): Debian Lenny, Ubuntu 8.04 LTS

Plugin-Version(en): 1.4.13

NagVis-Version: 1.5.8

NDO-Version: 1.4b9

Sonstige Addon's: PNP (V. 0.6.11), Multicheck (V 0.25), mod_gearman (V 1.0), DokuWiki, Trap2Mod_Gearman (V 1.0)

8

27.03.2009, 07:50

Mit diesem Query kann man mehrere Hostgruppen abfragen

Folgende Tabellen werden benötigt
  • nagios_statehistory
  • nagios_hosts
  • nagios_hostgroup_members
  • nagios_hostgroups


Quellcode

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
SELECT sum(time_to_sec(timediff(END,START ))) as dowver ,concat(' von ',date(beg),' bis ',date(fin)) as vbd ,count(STATUS) as csum , hostname,ali ,CONCAT( CAST(hour(sec_to_time(sum(time_to_sec(timediff(END,START )))))/24 AS DECIMAL(3,0)),'  T  ',hour(sec_to_time(sum(time_to_sec(timediff(END,START )))))%24,' ST. ',MINUTE(sec_to_time(sum(time_to_sec(timediff(END,START ))))),'  M. ',SECOND(sec_to_time(sum(time_to_sec(timediff(END,START ))))),' S.' ) as CRdauer, datediff(fin,beg)*24*60*60-sum(time_to_sec(timediff(END,START ))) as upver,




CONCAT( CAST(((datediff(fin,beg)*24*60*60-sum(time_to_sec(timediff(END,START ))) )/3600)/24 AS DECIMAL(4,0)),' T ', CAST(((datediff(fin,beg)*24*60*60-sum(time_to_sec(timediff(END,START ))) )/3600)%24 AS DECIMAL(2,0)),'ST.', CAST(((datediff(fin,beg)*24*60*60-sum(time_to_sec(timediff(END,START ))) )/60)%60 AS DECIMAL(2,0)),' M.',CAST(((datediff(fin,beg)*24*60*60-sum(time_to_sec(timediff(END,START ))) ))%60 AS DECIMAL(2,0)),' S.' ) as updauer,




ROUND((100.000000000/(datediff(fin,beg)*24*60*60))*(sum(time_to_sec(timediff(END,START )))),3) as downprz,

ROUND((100.000000000/(datediff(fin,beg)*24*60*60) )*((datediff(fin,beg)*24*60*60)-(sum(time_to_sec(timediff(END,START ))))),3) as upprz


FROM (

SELECT a.state AS 
STATUS, '20081001' as beg,'20081113' as fin,a.state_time AS 
START , min( b.state_time ) AS 
END ,  c.display_name AS hostname, e.alias as ali

FROM nagios_statehistory AS a, nagios_statehistory AS b, nagios_hosts c, nagios_hostgroup_members AS d, nagios_hostgroups e

WHERE a.object_id = c.host_object_id
AND b.object_id = a.object_id
AND c.host_object_id = d.host_object_id


AND b.state_type =1
AND a.state_type =1
AND a.state =1
AND d.hostgroup_id = e.hostgroup_id
AND e.alias IN('HOSTGRUPPE1','HOSTGRUPPE2','HOSTGRUPPE3')


AND date(b.state_time)>=date(a.state_time) 
AND time(b.state_time)>time(a.state_time)
AND a.state_time  BETWEEN '20081001' AND  '20081113'
GROUP BY a.statehistory_id 
) AS tabelle
GROUP BY hostname, 
STATUS


Folgendes muss geändert werden
  • AND e.alias IN('HOSTGRUPPE1','HOSTGRUPPE2','HOSTGRUPPE3') -> Trage hier die verschiedenen Hostgruppen ein
  • STATUS, '20081001' as beg,'20081113' -> Start- und Endedatum
  • AND a.state_time BETWEEN '20081001' AND '20081113' -> Start. und Endedatum

TheCry

Profi

Beiträge: 1 030

Geburtstag: 29.09.1970 (40)

Geschlecht: Männlich

Wohnort: Koblenz

Beruf: Sys-Admin

Anzahl Nagios-Server: 8

Nagios-Version(en): 3.2.3

Verteiltes Monitoring: Ja

Redundantes Monitoring: Ja

Anzahl-Hosts: ~1100

Anzahl Services: ~10000

Betriebssystem(e): Debian Lenny, Ubuntu 8.04 LTS

Plugin-Version(en): 1.4.13

NagVis-Version: 1.5.8

NDO-Version: 1.4b9

Sonstige Addon's: PNP (V. 0.6.11), Multicheck (V 0.25), mod_gearman (V 1.0), DokuWiki, Trap2Mod_Gearman (V 1.0)

9

27.03.2009, 07:52

Zitat von »Andurin«

Hallo Sascha,

ohne dich in deinem tüchtigen schreibwahn hemmen zu wollen - sollten wir das mal einfach so ins Nagios-Wiki.de klatschen?


Das kann ich gerne machen...
War auch der letzte Query den ich jetzt habe..
Nur einen Qeury der die Serial von laussers "check_hpasm" rausfiltert wäre noch in der Hosentasche.. ;)

Aber ins WIKI mache ich dann nächste Woche!

croft

Fortgeschrittener

Beiträge: 155

Geburtstag: 08.07.1976 (35)

Geschlecht: Weiblich

Wohnort: Kassel

Beruf: Sysadmin Linux/SAN/Storage/K-Vorsorge

Anzahl Nagios-Server: 6

Nagios-Version(en): 2.6/3.0.1/3.0.3/3.2.0

Icinga-Version(en): 1.2

Verteiltes Monitoring: Ja

Redundantes Monitoring: Nein

Anzahl-Hosts: >1000

Anzahl Services: >4000

Betriebssystem(e): Suse 9.3 SLES10 SLES11

Plugin-Version(en): 1.4.14

NagVis-Version: 1.4

NDO-Version: 1.4b.9

IDO-Version: 1.2

Sonstige Addon's: pnp 0.4.14, PNP4Nagios 0.6.x, NagiosQL 3.0.3

10

27.03.2009, 10:52

Du hast mir gerade eine Menge Arbeit erspart :thumbsup:An dem Thema bin ich auch grad dran und nun ein ganzes Stück weiter.

Herzlichen Dank und liebe Grüße

Lara

roxy78

Anfänger

Beiträge: 42

Geschlecht: Weiblich

Wohnort: Frankfurt

Beruf: Sysadmin

Anzahl Nagios-Server: 1

Nagios-Version(en): -

Icinga-Version(en): 1.3.0

Verteiltes Monitoring: Nein

Redundantes Monitoring: Nein

Anzahl-Hosts: 290

Anzahl Services: 3500

Betriebssystem(e): RHEL6 x86_64

Plugin-Version(en): 1.4.15

IDO-Version: 1.3.0

Sonstige Addon's: pnp-0.6.2

11

31.03.2009, 15:27

Hallo,

gibt's die Query auch für einen einzelnen Service?

Danke!

Gruß
Nicole

TheCry

Profi

Beiträge: 1 030

Geburtstag: 29.09.1970 (40)

Geschlecht: Männlich

Wohnort: Koblenz

Beruf: Sys-Admin

Anzahl Nagios-Server: 8

Nagios-Version(en): 3.2.3

Verteiltes Monitoring: Ja

Redundantes Monitoring: Ja

Anzahl-Hosts: ~1100

Anzahl Services: ~10000

Betriebssystem(e): Debian Lenny, Ubuntu 8.04 LTS

Plugin-Version(en): 1.4.13

NagVis-Version: 1.5.8

NDO-Version: 1.4b9

Sonstige Addon's: PNP (V. 0.6.11), Multicheck (V 0.25), mod_gearman (V 1.0), DokuWiki, Trap2Mod_Gearman (V 1.0)

12

31.03.2009, 19:18

Da habe ich mich bis jetzt noch nicht mit beschäftigt, da dafür kein Interesse bestand.
Ob ich da in nächster zeit zu komme steht auch in den Sternen.

simmerl

Profi

Beiträge: 1 030

Geschlecht: Männlich

Wohnort: München

Beruf: Sysadmin

Anzahl Nagios-Server: 4

Nagios-Version(en): 3

Verteiltes Monitoring: Nein

Redundantes Monitoring: Nein

Anzahl-Hosts: 100

Anzahl Services: 2000

Betriebssystem(e): OpenSuSe, Ubuntu

Plugin-Version(en): -

13

01.04.2009, 09:33

Hi...
sehe ich das richtig, dass Deine Queries die Daten aus der NDO ziehen, die Du dann iReport zur Reporterstellung vorwirfst? (Ich hab damit noch nie gearbeitet)
Hört sich gut an. Vielen Dank!

Simon

TheCry

Profi

Beiträge: 1 030

Geburtstag: 29.09.1970 (40)

Geschlecht: Männlich

Wohnort: Koblenz

Beruf: Sys-Admin

Anzahl Nagios-Server: 8

Nagios-Version(en): 3.2.3

Verteiltes Monitoring: Ja

Redundantes Monitoring: Ja

Anzahl-Hosts: ~1100

Anzahl Services: ~10000

Betriebssystem(e): Debian Lenny, Ubuntu 8.04 LTS

Plugin-Version(en): 1.4.13

NagVis-Version: 1.5.8

NDO-Version: 1.4b9

Sonstige Addon's: PNP (V. 0.6.11), Multicheck (V 0.25), mod_gearman (V 1.0), DokuWiki, Trap2Mod_Gearman (V 1.0)

14

01.04.2009, 10:56

Hi Simon..
Genau das ist es!!!

simmerl

Profi

Beiträge: 1 030

Geschlecht: Männlich

Wohnort: München

Beruf: Sysadmin

Anzahl Nagios-Server: 4

Nagios-Version(en): 3

Verteiltes Monitoring: Nein

Redundantes Monitoring: Nein

Anzahl-Hosts: 100

Anzahl Services: 2000

Betriebssystem(e): OpenSuSe, Ubuntu

Plugin-Version(en): -

15

01.04.2009, 11:07

Spitze. Der Fred ist gebookmarked.

Danke, dass Du das freigibst !

*virtuellesbierrüberschieb* :D

Simon

roxy78

Anfänger

Beiträge: 42

Geschlecht: Weiblich

Wohnort: Frankfurt

Beruf: Sysadmin

Anzahl Nagios-Server: 1

Nagios-Version(en): -

Icinga-Version(en): 1.3.0

Verteiltes Monitoring: Nein

Redundantes Monitoring: Nein

Anzahl-Hosts: 290

Anzahl Services: 3500

Betriebssystem(e): RHEL6 x86_64

Plugin-Version(en): 1.4.15

IDO-Version: 1.3.0

Sonstige Addon's: pnp-0.6.2

16

03.04.2009, 07:41

Hi,

also bei mir sind die Ergebnisse der Query für einen Host falsch.
Durch das DECIMAL(2,0) wird aufgerundet. Da steht dann bei mir z.B. 31T 24ST, obwohl es eigentlich 30T 23ST sein sollte.
Wie kann ich das umgehen?

Danke!

Gruß
Nicole

TheCry

Profi

Beiträge: 1 030

Geburtstag: 29.09.1970 (40)

Geschlecht: Männlich

Wohnort: Koblenz

Beruf: Sys-Admin

Anzahl Nagios-Server: 8

Nagios-Version(en): 3.2.3

Verteiltes Monitoring: Ja

Redundantes Monitoring: Ja

Anzahl-Hosts: ~1100

Anzahl Services: ~10000

Betriebssystem(e): Debian Lenny, Ubuntu 8.04 LTS

Plugin-Version(en): 1.4.13

NagVis-Version: 1.5.8

NDO-Version: 1.4b9

Sonstige Addon's: PNP (V. 0.6.11), Multicheck (V 0.25), mod_gearman (V 1.0), DokuWiki, Trap2Mod_Gearman (V 1.0)

17

03.04.2009, 08:45

Ich muss mich erst einmal mit den Queries beschäftigen...
Die ganzen Queries hat ein Kollege von uns getätigt, der aber nicht mehr bei uns ist.

Da ist bestimmt noch Verbessserungsbedarf und ich hoffe das auch noch weiter daran gearbeitet wird.
Deswegen habe ich das ja auch freigegeben!

Nur mal so als Beispiel...
Hier mal ein Query von einer unserer Maschinen und das dazugehörige iReport-Template


Ich kann jetzt bei usnerer Maschine keinen Fehler feststellen... Vielleicht hast Du mit Deinem Server einen Grenzwert erreicht, wo der Query dann nicht so sauber ist.

roxy78

Anfänger

Beiträge: 42

Geschlecht: Weiblich

Wohnort: Frankfurt

Beruf: Sysadmin

Anzahl Nagios-Server: 1

Nagios-Version(en): -

Icinga-Version(en): 1.3.0

Verteiltes Monitoring: Nein

Redundantes Monitoring: Nein

Anzahl-Hosts: 290

Anzahl Services: 3500

Betriebssystem(e): RHEL6 x86_64

Plugin-Version(en): 1.4.15

IDO-Version: 1.3.0

Sonstige Addon's: pnp-0.6.2

18

03.04.2009, 09:12

Wäre schön, wenn sich noch andere damit auseinander setzen würden.

Ich versuche immer noch eine Query für einen Service zu bauen,
aber die Ergebnisse für die Hosts stimmen auch nicht.

Ich habe den Nagios Availability Report mit der Datenbank verglichen.
Die Einträge sind alle vorhanden in der DB, aber bei der Query läuft was falsch.
Die liefert bei mir immer nur die erste Downtime zurück.
Wenn der Host mehrmals in einem Monat critical/down war, dann werden die restlichen Zeiten nicht mit berechnet.

Ich bin kein SQL Fachmann und schliesse auch nicht aus, dass ich was falsch gemacht habe,
das Ergebnis passt jedenfalls nicht.

Gruß
Nicole

TheCry

Profi

Beiträge: 1 030

Geburtstag: 29.09.1970 (40)

Geschlecht: Männlich

Wohnort: Koblenz

Beruf: Sys-Admin

Anzahl Nagios-Server: 8

Nagios-Version(en): 3.2.3

Verteiltes Monitoring: Ja

Redundantes Monitoring: Ja

Anzahl-Hosts: ~1100

Anzahl Services: ~10000

Betriebssystem(e): Debian Lenny, Ubuntu 8.04 LTS

Plugin-Version(en): 1.4.13

NagVis-Version: 1.5.8

NDO-Version: 1.4b9

Sonstige Addon's: PNP (V. 0.6.11), Multicheck (V 0.25), mod_gearman (V 1.0), DokuWiki, Trap2Mod_Gearman (V 1.0)

19

03.04.2009, 12:40

Ich habe mir mal meine Ausgabe angesehen.
Wie auch in meinem Query oben habe ich den Zeitraum vom 01.09.2008 - 14.11.2008 gewählt.
Den Screenshot per iReport ist ja einen Beitrag über Dir.
Nun der Screenshot aus Nagios...


In der Uptime ist wirklich eine Stunde zuviel drin..
Mal schauen ob ich den Kollegen irgendwie an die Strippe bekome

roxy78

Anfänger

Beiträge: 42

Geschlecht: Weiblich

Wohnort: Frankfurt

Beruf: Sysadmin

Anzahl Nagios-Server: 1

Nagios-Version(en): -

Icinga-Version(en): 1.3.0

Verteiltes Monitoring: Nein

Redundantes Monitoring: Nein

Anzahl-Hosts: 290

Anzahl Services: 3500

Betriebssystem(e): RHEL6 x86_64

Plugin-Version(en): 1.4.15

IDO-Version: 1.3.0

Sonstige Addon's: pnp-0.6.2

20

03.04.2009, 13:39

Und war der Server am Stück 10 Stunden down oder an mehreren Tagen?

Ein Problem gibt es auch noch, wenn die Downtime über den Zeitraum hinaus geht.
Also der Server geht am 25.03. down und ist immer noch down, aber ich gebe als Ende den 31.03. an.
Dann werden die 6 Tage nicht gezählt.


Gruß
Nicole

Ähnliche Themen