[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