[Pkg-nagios-devel] Bug#743931: icinga: Check command not found depending on service name contents
Joerg Jaspert
joerg at debian.org
Tue Apr 8 14:07:11 UTC 2014
Package: icinga
Version: 1.7.1-5~bpo60+1
Severity: normal
Dear Maintainer,
first off, this is with a plenty old icinga version, so it is possible
it could be fixed already. I can only update in some 3 to 6 months
time though, and Alexander Wirt said I should file a bug anyways, so
here it goes:
Whenever a service check name contains the string " UNUSED" at the
end, icinga goes "I cant find the command for this check".
Take the following lines, they are taken from the diff when I found
and fixed the issue. While this is condensed, there really are only
such changes removing the string.
- name: "GigabitEthernet2/4 UNUSED"
+ name: "GigabitEthernet2/4"
- name: "Fast Ethernet Port 20044 UNUSED"
+ name: "Fast Ethernet Port 20044"
- name: "RMON Port 13 on Unit 1 UNUSED"
+ name: "RMON Port 13 on Unit 1"
- name: "HP VC Flex-10/10D Module 4.10 d14 UNUSED"
+ name: "HP VC Flex-10/10D Module 4.10 d14"
*NOTHING* else got changed in the config. With the UNUSED removed (ie
the + lines), icinga works all nice and fine, all checks finish as
expected, all good.
Now take the - lines into the config, ie plain adding " UNUSED", and
icinga goes haywire:
[1396955917] The command defined for service GigabitEthernet2/4 UNUSED does not exist
Obviously the command exists. Its used fine when " UNUSED" isnt
there. It also works manually.
Turning debug log to -1, then looking for it, gave *ME* no clue
either. I could see icinga starting the service check, building up the
command line to run. All fine to the end, all variables replaced,
perfect. Cppy/Paste the result, all works. It runs it (or tries to),
says output goes to a tempfile, it reads that, it breaks and says
command not found. Also says "Exit code 127".
I can't currently attach the debug log as it got deleted already (and
was really too big, in the size of gigabytes), but if you really need
it, I can see if I can recreate something for you.
For completness sake I reproduce a service check config here. Its the
one that works, but to make it break, just add the " UNUSED" to its name:
-
name: "Fast Ethernet Port 20044"
hosts: ctronfac-2a-ch
use: local-service
servicegroups: Switchports-Unused
check: "check_snmp!IF-MIB::ifOperStatus.20044!'down(2)'"
max_check_attempts: 10
check_interval: 20
retry_interval: 2
check_freshness: 1
freshness_threshold: 600
check_period: 24x7
notes: "UNUSED PORT "
notification_options: n
notification_interval: 0
depends: ICMP
define service {
use generic-service
normal_check_interval 5
max_check_attempts 4
name local-service
notification_options c
contact_groups admins
register 0
notification_period 24x7
notification_interval 1200
check_period 24x7
display_name local-service
retry_check_interval 1
}
define service {
parallelize_check 1
name generic-service
register 0
check_freshness 0
check_period default
is_volatile 0
retain_status_information 1
passive_checks_enabled 1
retain_nonstatus_information 1
display_name generic-service
failure_prediction_enabled 1
obsess_over_service 1
active_checks_enabled 1
process_perf_data 1
flap_detection_enabled 1
event_handler_enabled 1
notifications_enabled 1
}
--
bye Joerg
-- System Information:
Debian Release: 7.3
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 3.2.0-4-amd64 (SMP w/1 CPU core)
Locale: LANG=de_DE.utf8, LC_CTYPE=de_DE.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
More information about the Pkg-nagios-devel
mailing list