MichaW
Anfänger
Beiträge: 38
Anzahl Nagios-Server: 2
Nagios-Version(en): 3.2.1
Verteiltes Monitoring: Nein
Redundantes Monitoring: Nein
Anzahl-Hosts: 25
Anzahl Services: 100
Betriebssystem(e): Debian Squeeze
Plugin-Version(en): 1.4.15
NagVis-Version: 1.4.6
Anfänger
Beiträge: 39
Anzahl Nagios-Server: 4
Nagios-Version(en): 3.2
Verteiltes Monitoring: Ja
Redundantes Monitoring: Ja
Anzahl-Hosts: 750
Anzahl Services: 6800
Betriebssystem(e): linux
Plugin-Version(en): 1.4
Sonstige Addon's: pnp4nagios
2
Gestern, 09:42
![]() |
Quellcode |
1 2 3 4 |
define servicegroup { servicegroup_name standard_nrpe_checks alias alle per nrpe ausgefuehrten servicechecks auf nicht windows systemen } |
![]() |
Quellcode |
1 2 3 4 5 |
define servicedependency { service_description check nrpe dependent_servicegroup_name standard_nrpe_checks notification_failure_criteria c,p,w,u } |
![]() |
Quellcode |
1 2 3 4 5 |
define service { ... servicegroups standard_nrpe_checks .... } |
![]() |
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 |
diff -Naur nagios-3.0.6-orig/xdata/xodtemplate.c nagios-3.0.6/xdata/xodtemplate.c --- xdata/xodtemplate.c-orig 2009-09-02 17:15:52.000000000 -0400 +++ xdata/xodtemplate.c 2009-09-02 17:21:55.000000000 -0400 @@ -5247,6 +5247,7 @@ char *service_descriptions=NULL; int first_item=FALSE; + int same_host_servicedependency=FALSE; /*************************************/ @@ -5725,6 +5726,11 @@ my_free(temp_servicedependency->dependent_service_description); my_free(temp_servicedependency->dependent_hostgroup_name); } + + /* MG(20090902): Same host servicegroups dependencies */ + same_host_servicedependency=FALSE; + if(temp_servicedependency->host_name==NULL && temp_servicedependency->hostgroup_name==NULL) + same_host_servicedependency=TRUE; /* duplicate service dependency entries */ first_item=TRUE; @@ -5742,6 +5748,10 @@ my_free(temp_servicedependency->dependent_service_description); temp_servicedependency->dependent_service_description=(char *)strdup(temp_dependentservice->name2); + + /* MG(20090902): Same host servicegroups dependencies */ + if(same_host_servicedependency==TRUE) + temp_servicedependency->host_name=(char *)strdup(temp_dependentservice->name1); /* clear the dependent servicegroup */ temp_servicedependency->have_dependent_servicegroup_name=FALSE; @@ -5757,7 +5767,11 @@ } /* duplicate service dependency definition */ - result=xodtemplate_duplicate_servicedependency(temp_servicedependency,temp_servicedependency->host_name,temp_servicedependency->service_description,NULL,NULL,temp_dependentservice->name1,temp_dependentservice->name2,NULL,NULL); + /* MG(20090902): Same host servicegroups dependencies */ + if(same_host_servicedependency==TRUE) + result=xodtemplate_duplicate_servicedependency(temp_servicedependency,temp_dependentservice->name1,temp_servicedependency->service_description,NULL,NULL,temp_dependentservice->name1,temp_dependentservice->name2,NULL,NULL); + else + result=xodtemplate_duplicate_servicedependency(temp_servicedependency,temp_servicedependency->host_name,temp_servicedependency->service_description,NULL,NULL,temp_dependentservice->name1,temp_dependentservice->name2,NULL,NULL); /* exit on error */ if(result==ERROR){ |
MichaW
Anfänger
Beiträge: 38
Anzahl Nagios-Server: 2
Nagios-Version(en): 3.2.1
Verteiltes Monitoring: Nein
Redundantes Monitoring: Nein
Anzahl-Hosts: 25
Anzahl Services: 100
Betriebssystem(e): Debian Squeeze
Plugin-Version(en): 1.4.15
NagVis-Version: 1.4.6
3
Gestern, 15:06
Das sieht sehr vielversprechend aus. Ich gucks mir an und schreib dann nat. auch hier ins Forum ob es geklappt hat.
Zitat von »smiler«
Hallo,
bei den service dependencies gibt es die sogenannte "same host dependency",
wenn du hostname und dependent host name weglaesst wird beides gleichgesetzt. Ich habe das bei uns auf diese Weise gelöst und habe den laufenden nrpe-daemon als "master" service und die per nrpe ausgeführten checks als Abhaengigkeit festgelegt. Um das durchzuführen müssen die nrpe checks, die abhaengig sind in eine Servicegruppe eingefügt werden. bei Dir müssten dann wohl alle nicht-snmp-uptime checks in die entsprechende Servicegruppe. So siehts bei uns aus: