Re: [Nagios-devel] Empty hostgroup check in the configuration
Posted: Wed Nov 19, 2008 11:00 am
------=_Part_103954_9793991.1227092404728
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
> No, but the patch does more than you intended, since it also makes
> Nagios fail to produce warnings (or errors) in case the user has
> given a typo so that the hostgroup simply doesn't exist at all.
The checks are still done because I don't remove the execution of
xodtemplate_expand_hostgroups_and_hosts (which expands hostgroups and
hosts, look for their definition and return something like "Error:
Could not find any hostgroup matching...." if the hostgroups are not
found, same for hosts).
In a default Nagios installation, if you specify a bad name for a
hostgroup, you get two errors after a verification of the conf :
- Could not find any hostgroup matching blabla....
- Could not expand hostgroups and/or hosts specified in service blabla...
The first one is returned by xodtemplate_expand_hostgroups (same
thing for expand_hosts), and the second one by
xodtemplate_duplicate_services (the code I removed).
This second error makes the verification fail ("One or more problems
was encountered while processing the config files....etc") whereas the
first one doesn't (alone).
In a Nagios installation with my patch, the "Could not find any
hostgroup matching" errors are shown at the beginning of the
verification of the conf (nagios -v /etc/nagios/nagios.cfg) and the
verification itself ends with "Things look okay - blabla" because the
"Could not find any hostgroup matching..." error doesn't make the
verification fail.
So my second patch (see attachments) makes my modification, makes the
error propagate to the xodtemplate_duplicate_services function, and
thus makes the verification fail if the host_name/hostgroup_name is
bad (and I only get one error, the good one).
I think Nagios verification should fail when encountering the first
error, but maybe it's a development choice not to do it. I'm not
familiar with error propagations in Nagios code (and maybe in C
generally)... so your comments are welcome
Thanks !
--
L.B.
------=_Part_103954_9793991.1227092404728
Content-Type: text/x-patch; name=hostgroup_empty2.patch
Content-Transfer-Encoding: base64
X-Attachment-Id: f_fnpv2tzd0
Content-Disposition: attachment; filename=hostgroup_empty2.patch
LS0tIG5hZ2lvcy0zLjAuNS94ZGF0YS94b2R0ZW1wbGF0ZS5jCTIwMDgtMDYtMjMgMjM6NDM6MjIu
MDAwMDAwMDAwICswMjAwCisrKyBuYWdpb3MtMy4wLjVfaG9zdGdyb3VwZW1wdHkveGRhdGEveG9k
dGVtcGxhdGUuYwkyMDA4LTExLTE5IDEwOjI1OjUxLjAwMDAwMDAwMCArMDEwMApAQCAtNTE1Mywx
MiArNTE1Myw4IEBACiAKIAkJLyogZ2V0IGxpc3Qgb2YgaG9zdHMgKi8KIAkJdGVtcF9tZW1iZXJs
aXN0PXhvZHRlbXBsYXRlX2V4cGFuZF9ob3N0Z3JvdXBzX2FuZF9ob3N0cyh0ZW1wX3NlcnZpY2Ut
Pmhvc3Rncm91cF9uYW1lLHRlbXBfc2VydmljZS0+aG9zdF9uYW1lLHRlbXBfc2VydmljZS0+X2Nv
bmZpZ19maWxlLHRlbXBfc2VydmljZS0+X3N0YXJ0X2xpbmUpOwotCQlpZih0ZW1wX21lbWJlcmxp
c3Q9PU5VTEwpewotI2lmZGVmIE5TQ09SRQotCQkJbG9naXQoTlNMT0dfQ09ORklHX0VSUk9SLFRS
VUUsIkVycm9yOiBDb3VsZCBub3QgZXhwYW5kIGhvc3Rncm91cHMgYW5kL29yIGhvc3RzIHNwZWNp
ZmllZCBpbiBzZXJ2aWNlIChjb25maWcgZmlsZSAnJXMnLCBzdGFydGluZyBvbiBsaW5lICVkKVxu
Iix4b2R0ZW1wbGF0ZV9jb25maWdfZmlsZV9uYW1lKHRlbXBfc2VydmljZS0+X2NvbmZpZ19maWxl
KSx0ZW1wX3NlcnZpY2UtPl9zdGFydF9saW5lKTsKLSNlbmRpZgorCQlpZih0ZW1wX21lbWJlcmxp
c3Q9PUVSUk9SKQogCQkJcmV0dXJuIEVSUk9SOwotCQkgICAgICAgIH0KIAogCQkvKiBhZGQgYSBj
b3B5IG9mIHRoZSBzZXJ2aWNlIGZvciBldmVyeSBob3N0IGluIHRoZSBob3N0Z3JvdXAvaG9zdCBu
YW1lIGxpc3QgKi8KIAkJZmlyc3RfaXRlbT1UUlVFOwpAQCAtMTM2MjIsNiArMTM2MTgsOCBAQAog
CiAJCS8qIGV4cGFuZCBob3N0ICovCiAJCXJlc3VsdD14b2R0ZW1wbGF0ZV9leHBhbmRfaG9zdGdy
b3VwcygmdGVtcF9saXN0LCZyZWplY3RfbGlzdCxob3N0Z3JvdXBzLF9jb25maWdfZmlsZSxfc3Rh
cnRfbGluZSk7CisJCWlmKHJlc3VsdD09RVJST1IpCisJCQlyZXR1cm4gRVJST1I7CiAJCWlmKHJl
c3VsdCE9T0spewogCQkJeG9kdGVtcGxhdGVfZnJlZV9tZW1iZXJsaXN0KCZ0ZW1wX2xpc3QpOwog
CQkJeG9kdGVtcGxhdGVfZnJlZV9tZW1iZXJsaXN0KCZyZWplY3RfbGlzdCk7CkBAIC0xMzYzNCw2
ICsxMzYzMiw4IEBACiAKIAkJLyogZXhwYW5kIGhvc3RzICovCiAJCXJlc3VsdD14b2R0ZW1wbGF0
ZV9leHBhbmRfaG9zdHMoJnRlbXBfbGlzdCwmcmVqZWN0X2xpc3QsaG9zdHMsX2NvbmZpZ19maWxl
LF9zdGFydF9saW5lKTsKKwkJaWYocmVzdWx0PT1FUlJPUikKKwkJCXJldHVybiBFUlJPUjs
...[email truncated]...
This post was automatically imported from historical nagios-devel mailing list archives
Original poster: [email protected]
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
> No, but the patch does more than you intended, since it also makes
> Nagios fail to produce warnings (or errors) in case the user has
> given a typo so that the hostgroup simply doesn't exist at all.
The checks are still done because I don't remove the execution of
xodtemplate_expand_hostgroups_and_hosts (which expands hostgroups and
hosts, look for their definition and return something like "Error:
Could not find any hostgroup matching...." if the hostgroups are not
found, same for hosts).
In a default Nagios installation, if you specify a bad name for a
hostgroup, you get two errors after a verification of the conf :
- Could not find any hostgroup matching blabla....
- Could not expand hostgroups and/or hosts specified in service blabla...
The first one is returned by xodtemplate_expand_hostgroups (same
thing for expand_hosts), and the second one by
xodtemplate_duplicate_services (the code I removed).
This second error makes the verification fail ("One or more problems
was encountered while processing the config files....etc") whereas the
first one doesn't (alone).
In a Nagios installation with my patch, the "Could not find any
hostgroup matching" errors are shown at the beginning of the
verification of the conf (nagios -v /etc/nagios/nagios.cfg) and the
verification itself ends with "Things look okay - blabla" because the
"Could not find any hostgroup matching..." error doesn't make the
verification fail.
So my second patch (see attachments) makes my modification, makes the
error propagate to the xodtemplate_duplicate_services function, and
thus makes the verification fail if the host_name/hostgroup_name is
bad (and I only get one error, the good one).
I think Nagios verification should fail when encountering the first
error, but maybe it's a development choice not to do it. I'm not
familiar with error propagations in Nagios code (and maybe in C
generally)... so your comments are welcome
Thanks !
--
L.B.
------=_Part_103954_9793991.1227092404728
Content-Type: text/x-patch; name=hostgroup_empty2.patch
Content-Transfer-Encoding: base64
X-Attachment-Id: f_fnpv2tzd0
Content-Disposition: attachment; filename=hostgroup_empty2.patch
LS0tIG5hZ2lvcy0zLjAuNS94ZGF0YS94b2R0ZW1wbGF0ZS5jCTIwMDgtMDYtMjMgMjM6NDM6MjIu
MDAwMDAwMDAwICswMjAwCisrKyBuYWdpb3MtMy4wLjVfaG9zdGdyb3VwZW1wdHkveGRhdGEveG9k
dGVtcGxhdGUuYwkyMDA4LTExLTE5IDEwOjI1OjUxLjAwMDAwMDAwMCArMDEwMApAQCAtNTE1Mywx
MiArNTE1Myw4IEBACiAKIAkJLyogZ2V0IGxpc3Qgb2YgaG9zdHMgKi8KIAkJdGVtcF9tZW1iZXJs
aXN0PXhvZHRlbXBsYXRlX2V4cGFuZF9ob3N0Z3JvdXBzX2FuZF9ob3N0cyh0ZW1wX3NlcnZpY2Ut
Pmhvc3Rncm91cF9uYW1lLHRlbXBfc2VydmljZS0+aG9zdF9uYW1lLHRlbXBfc2VydmljZS0+X2Nv
bmZpZ19maWxlLHRlbXBfc2VydmljZS0+X3N0YXJ0X2xpbmUpOwotCQlpZih0ZW1wX21lbWJlcmxp
c3Q9PU5VTEwpewotI2lmZGVmIE5TQ09SRQotCQkJbG9naXQoTlNMT0dfQ09ORklHX0VSUk9SLFRS
VUUsIkVycm9yOiBDb3VsZCBub3QgZXhwYW5kIGhvc3Rncm91cHMgYW5kL29yIGhvc3RzIHNwZWNp
ZmllZCBpbiBzZXJ2aWNlIChjb25maWcgZmlsZSAnJXMnLCBzdGFydGluZyBvbiBsaW5lICVkKVxu
Iix4b2R0ZW1wbGF0ZV9jb25maWdfZmlsZV9uYW1lKHRlbXBfc2VydmljZS0+X2NvbmZpZ19maWxl
KSx0ZW1wX3NlcnZpY2UtPl9zdGFydF9saW5lKTsKLSNlbmRpZgorCQlpZih0ZW1wX21lbWJlcmxp
c3Q9PUVSUk9SKQogCQkJcmV0dXJuIEVSUk9SOwotCQkgICAgICAgIH0KIAogCQkvKiBhZGQgYSBj
b3B5IG9mIHRoZSBzZXJ2aWNlIGZvciBldmVyeSBob3N0IGluIHRoZSBob3N0Z3JvdXAvaG9zdCBu
YW1lIGxpc3QgKi8KIAkJZmlyc3RfaXRlbT1UUlVFOwpAQCAtMTM2MjIsNiArMTM2MTgsOCBAQAog
CiAJCS8qIGV4cGFuZCBob3N0ICovCiAJCXJlc3VsdD14b2R0ZW1wbGF0ZV9leHBhbmRfaG9zdGdy
b3VwcygmdGVtcF9saXN0LCZyZWplY3RfbGlzdCxob3N0Z3JvdXBzLF9jb25maWdfZmlsZSxfc3Rh
cnRfbGluZSk7CisJCWlmKHJlc3VsdD09RVJST1IpCisJCQlyZXR1cm4gRVJST1I7CiAJCWlmKHJl
c3VsdCE9T0spewogCQkJeG9kdGVtcGxhdGVfZnJlZV9tZW1iZXJsaXN0KCZ0ZW1wX2xpc3QpOwog
CQkJeG9kdGVtcGxhdGVfZnJlZV9tZW1iZXJsaXN0KCZyZWplY3RfbGlzdCk7CkBAIC0xMzYzNCw2
ICsxMzYzMiw4IEBACiAKIAkJLyogZXhwYW5kIGhvc3RzICovCiAJCXJlc3VsdD14b2R0ZW1wbGF0
ZV9leHBhbmRfaG9zdHMoJnRlbXBfbGlzdCwmcmVqZWN0X2xpc3QsaG9zdHMsX2NvbmZpZ19maWxl
LF9zdGFydF9saW5lKTsKKwkJaWYocmVzdWx0PT1FUlJPUikKKwkJCXJldHVybiBFUlJPUjs
...[email truncated]...
This post was automatically imported from historical nagios-devel mailing list archives
Original poster: [email protected]