Am 15.05.2012 18:54, schrieb Lori Adams:

It's not a template and is definitely not empty.

It's pretty easy. Create two hostgroups with hosts in them. Then create a third hostgroup with hostgroup members where one of them is included, and the other excluded.

Notice that the error says "could not find group '!hostgroupC', as if it doesn't know how to handle exclusions in the hostgroup_members line.

-Lori

*From:*Wolfgang [mailto:w...@gmx.net]
*Sent:* Tuesday, May 15, 2012 9:33 AM
*To:* icinga-users@lists.sourceforge.net
*Subject:* Re: [icinga-users] nested hostgroups

Am 15.05.2012 18:09, schrieb Lori Adams:

Icinga 1.4.0

Is it true that I cannot do a hostgroup exclusion while attempting nested hostgroups?

define hostgroup {

                hostgroup_name foo

                hostgroup_members hostgroupA,hostgroupB,!hostgroupC

                }

Error: Could not find member group '!hostgroupC' specified in hostgroup

Any chance that this has been corrected in a newer version. I'm aware that 1.6.0 is out.

Lori Adams

Director of Operations Architecture

Cloudmark

510 388 8513 (M)

I cannot confirm your problem so please verify that hostgroupC exists (and is not a template or maybe an empty hostgroup).


I did create such a setup using Icinga 1.4.0 before writing the other posting ;-).

Attached a (modified) localhost.cfg containing the following definitions:

define hostgroup{
    hostgroup_name hg1
    members localhost1
}
define hostgroup{
    hostgroup_name hg2
    members localhost2
}
define hostgroup{
    hostgroup_name hg3
    hostgroup_members hg1,!hg2
}

From what I get that is similar to what you described. Attached an objects.precache containing the following lines:

define hostgroup {
    hostgroup_name    hg1
    members    localhost1
    }

define hostgroup {
    hostgroup_name    hg2
    members    localhost2
    }

define hostgroup {
    hostgroup_name    hg3
    members    localhost1
    }

.../bin/icinga -vp complains about some missing services but there are no errors.
########################################
#       ICINGA OBJECT CACHE FILE
#
# THIS FILE IS AUTOMATICALLY GENERATED
# BY ICINGA.  DO NOT MODIFY THIS FILE!
#
# Created: Tue May 15 19:22:47 2012
########################################

define timeperiod {
        timeperiod_name 24x7
        alias   24 Hours A Day, 7 Days A Week
        sunday  00:00-24:00
        monday  00:00-24:00
        tuesday 00:00-24:00
        wednesday       00:00-24:00
        thursday        00:00-24:00
        friday  00:00-24:00
        saturday        00:00-24:00
        }

define timeperiod {
        timeperiod_name 24x7_sans_holidays
        alias   24x7 Sans Holidays
        january 1       00:00-00:00
        july 4  00:00-00:00
        december 25     00:00-00:00
        monday -1 may   00:00-00:00
        monday 1 september      00:00-00:00
        thursday 4 november     00:00-00:00
        sunday  00:00-24:00
        monday  00:00-24:00
        tuesday 00:00-24:00
        wednesday       00:00-24:00
        thursday        00:00-24:00
        friday  00:00-24:00
        saturday        00:00-24:00
        }

define timeperiod {
        timeperiod_name none
        alias   No Time Is A Good Time
        }

define timeperiod {
        timeperiod_name us-holidays
        alias   U.S. Holidays
        december 25     00:00-00:00
        july 4  00:00-00:00
        january 1       00:00-00:00
        thursday 4 november     00:00-00:00
        monday 1 september      00:00-00:00
        monday -1 may   00:00-00:00
        }

define timeperiod {
        timeperiod_name workhours
        alias   Normal Work Hours
        monday  09:00-17:00
        tuesday 09:00-17:00
        wednesday       09:00-17:00
        thursday        09:00-17:00
        friday  09:00-17:00
        }

define command {
        command_name    check-host-alive
        command_line    $USER1$/check_ping -H $HOSTADDRESS$ -w 3000.0,80% -c 
5000.0,100% -p 5
        }

define command {
        command_name    check_dhcp
        command_line    $USER1$/check_dhcp $ARG1$
        }

define command {
        command_name    check_ftp
        command_line    $USER1$/check_ftp -H $HOSTADDRESS$ $ARG1$
        }

define command {
        command_name    check_hpjd
        command_line    $USER1$/check_hpjd -H $HOSTADDRESS$ $ARG1$
        }

define command {
        command_name    check_http
        command_line    $USER1$/check_http -I $HOSTADDRESS$ $ARG1$
        }

define command {
        command_name    check_imap
        command_line    $USER1$/check_imap -H $HOSTADDRESS$ $ARG1$
        }

define command {
        command_name    check_local_disk
        command_line    $USER1$/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$
        }

define command {
        command_name    check_local_load
        command_line    $USER1$/check_load -w $ARG1$ -c $ARG2$
        }

define command {
        command_name    check_local_mrtgtraf
        command_line    $USER1$/check_mrtgtraf -F $ARG1$ -a $ARG2$ -w $ARG3$ -c 
$ARG4$ -e $ARG5$
        }

define command {
        command_name    check_local_procs
        command_line    $USER1$/check_procs -w $ARG1$ -c $ARG2$ -s $ARG3$
        }

define command {
        command_name    check_local_swap
        command_line    $USER1$/check_swap -w $ARG1$ -c $ARG2$
        }

define command {
        command_name    check_local_users
        command_line    $USER1$/check_users -w $ARG1$ -c $ARG2$
        }

define command {
        command_name    check_nt
        command_line    $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v $ARG1$ 
$ARG2$
        }

define command {
        command_name    check_ping
        command_line    $USER1$/check_ping -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ 
-p 5
        }

define command {
        command_name    check_pop
        command_line    $USER1$/check_pop -H $HOSTADDRESS$ $ARG1$
        }

define command {
        command_name    check_smtp
        command_line    $USER1$/check_smtp -H $HOSTADDRESS$ $ARG1$
        }

define command {
        command_name    check_snmp
        command_line    $USER1$/check_snmp -H $HOSTADDRESS$ $ARG1$
        }

define command {
        command_name    check_ssh
        command_line    $USER1$/check_ssh $ARG1$ $HOSTADDRESS$
        }

define command {
        command_name    check_tcp
        command_line    $USER1$/check_tcp -H $HOSTADDRESS$ -p $ARG1$ $ARG2$
        }

define command {
        command_name    check_udp
        command_line    $USER1$/check_udp -H $HOSTADDRESS$ -p $ARG1$ $ARG2$
        }

define command {
        command_name    notify-host-by-email
        command_line    /usr/bin/printf "%b" "***** Icinga 
*****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: 
$HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: 
$LONGDATETIME$\n" | /usr/bin/mail -s "** $NOTIFICATIONTYPE$ Host Alert: 
$HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$
        }

define command {
        command_name    notify-service-by-email
        command_line    /usr/bin/printf "%b" "***** Icinga 
*****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: 
$HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: 
$LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n" | /usr/bin/mail -s "** 
$NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ 
**" $CONTACTEMAIL$
        }

define command {
        command_name    process-host-perfdata
        command_line    /usr/bin/printf "%b" 
"$LASTHOSTCHECK$\t$HOSTNAME$\t$HOSTSTATE$\t$HOSTATTEMPT$\t$HOSTSTATETYPE$\t$HOSTEXECUTIONTIME$\t$HOSTOUTPUT$\t$HOSTPERFDATA$\n"
 >> /usr/local/icinga/var/host-perfdata.out
        }

define command {
        command_name    process-service-perfdata
        command_line    /usr/bin/printf "%b" 
"$LASTSERVICECHECK$\t$HOSTNAME$\t$SERVICEDESC$\t$SERVICESTATE$\t$SERVICEATTEMPT$\t$SERVICESTATETYPE$\t$SERVICEEXECUTIONTIME$\t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$\n"
 >> /usr/local/icinga/var/service-perfdata.out
        }

define contactgroup {
        contactgroup_name       admins
        alias   Icinga Administrators
        members icingaadmin
        }

define hostgroup {
        hostgroup_name  hg1
        members localhost1
        }

define hostgroup {
        hostgroup_name  hg2
        members localhost2
        }

define hostgroup {
        hostgroup_name  hg3
        members localhost1
        }

define hostgroup {
        hostgroup_name  linux-servers
        alias   Linux Servers
        members localhost
        }

define contact {
        contact_name    icingaadmin
        alias   Icinga Admin
        service_notification_period     24x7
        host_notification_period        24x7
        service_notification_options    w,u,c,r,f,s
        host_notification_options       d,u,r,f,s
        service_notification_commands   notify-service-by-email
        host_notification_commands      notify-host-by-email
        email   icinga@localhost
        host_notifications_enabled      1
        service_notifications_enabled   1
        can_submit_commands     1
        retain_status_information       1
        retain_nonstatus_information    1
        }

define host {
        host_name       localhost
        alias   localhost
        address 127.0.0.1
        check_period    24x7
        check_command   check-host-alive
        contact_groups  admins
        notification_period     workhours
        initial_state   o
        check_interval  5.000000
        retry_interval  1.000000
        max_check_attempts      10
        active_checks_enabled   1
        passive_checks_enabled  1
        obsess_over_host        1
        event_handler_enabled   1
        low_flap_threshold      0.000000
        high_flap_threshold     0.000000
        flap_detection_enabled  1
        flap_detection_options  o,d,u
        freshness_threshold     0
        check_freshness 0
        notification_options    d,u,r
        notifications_enabled   1
        notification_interval   120.000000
        first_notification_delay        0.000000
        stalking_options        n
        process_perf_data       1
        failure_prediction_enabled      1
        retain_status_information       1
        retain_nonstatus_information    1
        }

define host {
        host_name       localhost1
        alias   localhost1
        address 127.0.0.1
        check_period    24x7
        check_command   check-host-alive
        contact_groups  admins
        notification_period     workhours
        initial_state   o
        check_interval  5.000000
        retry_interval  1.000000
        max_check_attempts      10
        active_checks_enabled   1
        passive_checks_enabled  1
        obsess_over_host        1
        event_handler_enabled   1
        low_flap_threshold      0.000000
        high_flap_threshold     0.000000
        flap_detection_enabled  1
        flap_detection_options  o,d,u
        freshness_threshold     0
        check_freshness 0
        notification_options    d,u,r
        notifications_enabled   1
        notification_interval   120.000000
        first_notification_delay        0.000000
        stalking_options        n
        process_perf_data       1
        failure_prediction_enabled      1
        retain_status_information       1
        retain_nonstatus_information    1
        }

define host {
        host_name       localhost2
        alias   localhost2
        address 127.0.0.1
        check_period    24x7
        check_command   check-host-alive
        contact_groups  admins
        notification_period     workhours
        initial_state   o
        check_interval  5.000000
        retry_interval  1.000000
        max_check_attempts      10
        active_checks_enabled   1
        passive_checks_enabled  1
        obsess_over_host        1
        event_handler_enabled   1
        low_flap_threshold      0.000000
        high_flap_threshold     0.000000
        flap_detection_enabled  1
        flap_detection_options  o,d,u
        freshness_threshold     0
        check_freshness 0
        notification_options    d,u,r
        notifications_enabled   1
        notification_interval   120.000000
        first_notification_delay        0.000000
        stalking_options        n
        process_perf_data       1
        failure_prediction_enabled      1
        retain_status_information       1
        retain_nonstatus_information    1
        }

define host {
        host_name       localhost3
        alias   localhost3
        address 127.0.0.1
        check_period    24x7
        check_command   check-host-alive
        contact_groups  admins
        notification_period     workhours
        initial_state   o
        check_interval  5.000000
        retry_interval  1.000000
        max_check_attempts      10
        active_checks_enabled   1
        passive_checks_enabled  1
        obsess_over_host        1
        event_handler_enabled   1
        low_flap_threshold      0.000000
        high_flap_threshold     0.000000
        flap_detection_enabled  1
        flap_detection_options  o,d,u
        freshness_threshold     0
        check_freshness 0
        notification_options    d,u,r
        notifications_enabled   1
        notification_interval   120.000000
        first_notification_delay        0.000000
        stalking_options        n
        process_perf_data       1
        failure_prediction_enabled      1
        retain_status_information       1
        retain_nonstatus_information    1
        }

define service {
        host_name       localhost
        service_description     Current Load
        check_period    24x7
        check_command   check_local_load!5.0,4.0,3.0!10.0,6.0,4.0
        contact_groups  admins
        notification_period     24x7
        initial_state   o
        check_interval  5.000000
        retry_interval  1.000000
        max_check_attempts      4
        is_volatile     0
        parallelize_check       1
        active_checks_enabled   1
        passive_checks_enabled  1
        obsess_over_service     1
        event_handler_enabled   1
        low_flap_threshold      0.000000
        high_flap_threshold     0.000000
        flap_detection_enabled  1
        flap_detection_options  o,w,u,c
        freshness_threshold     0
        check_freshness 0
        notification_options    u,w,c,r
        notifications_enabled   1
        notification_interval   60.000000
        first_notification_delay        0.000000
        stalking_options        n
        process_perf_data       1
        failure_prediction_enabled      1
        retain_status_information       1
        retain_nonstatus_information    1
        }

define service {
        host_name       localhost
        service_description     Current Users
        check_period    24x7
        check_command   check_local_users!20!50
        contact_groups  admins
        notification_period     24x7
        initial_state   o
        check_interval  5.000000
        retry_interval  1.000000
        max_check_attempts      4
        is_volatile     0
        parallelize_check       1
        active_checks_enabled   1
        passive_checks_enabled  1
        obsess_over_service     1
        event_handler_enabled   1
        low_flap_threshold      0.000000
        high_flap_threshold     0.000000
        flap_detection_enabled  1
        flap_detection_options  o,w,u,c
        freshness_threshold     0
        check_freshness 0
        notification_options    u,w,c,r
        notifications_enabled   1
        notification_interval   60.000000
        first_notification_delay        0.000000
        stalking_options        n
        process_perf_data       1
        failure_prediction_enabled      1
        retain_status_information       1
        retain_nonstatus_information    1
        }

define service {
        host_name       localhost
        service_description     HTTP
        check_period    24x7
        check_command   check_http
        contact_groups  admins
        notification_period     24x7
        initial_state   o
        check_interval  5.000000
        retry_interval  1.000000
        max_check_attempts      4
        is_volatile     0
        parallelize_check       1
        active_checks_enabled   1
        passive_checks_enabled  1
        obsess_over_service     1
        event_handler_enabled   1
        low_flap_threshold      0.000000
        high_flap_threshold     0.000000
        flap_detection_enabled  1
        flap_detection_options  o,w,u,c
        freshness_threshold     0
        check_freshness 0
        notification_options    u,w,c,r
        notifications_enabled   0
        notification_interval   60.000000
        first_notification_delay        0.000000
        stalking_options        n
        process_perf_data       1
        failure_prediction_enabled      1
        retain_status_information       1
        retain_nonstatus_information    1
        }

define service {
        host_name       localhost
        service_description     PING
        check_period    24x7
        check_command   check_ping!100.0,20%!500.0,60%
        contact_groups  admins
        notification_period     24x7
        initial_state   o
        check_interval  5.000000
        retry_interval  1.000000
        max_check_attempts      4
        is_volatile     0
        parallelize_check       1
        active_checks_enabled   1
        passive_checks_enabled  1
        obsess_over_service     1
        event_handler_enabled   1
        low_flap_threshold      0.000000
        high_flap_threshold     0.000000
        flap_detection_enabled  1
        flap_detection_options  o,w,u,c
        freshness_threshold     0
        check_freshness 0
        notification_options    u,w,c,r
        notifications_enabled   1
        notification_interval   60.000000
        first_notification_delay        0.000000
        stalking_options        n
        process_perf_data       1
        failure_prediction_enabled      1
        retain_status_information       1
        retain_nonstatus_information    1
        }

define service {
        host_name       localhost
        service_description     Root Partition
        check_period    24x7
        check_command   check_local_disk!20%!10%!/
        contact_groups  admins
        notification_period     24x7
        initial_state   o
        check_interval  5.000000
        retry_interval  1.000000
        max_check_attempts      4
        is_volatile     0
        parallelize_check       1
        active_checks_enabled   1
        passive_checks_enabled  1
        obsess_over_service     1
        event_handler_enabled   1
        low_flap_threshold      0.000000
        high_flap_threshold     0.000000
        flap_detection_enabled  1
        flap_detection_options  o,w,u,c
        freshness_threshold     0
        check_freshness 0
        notification_options    u,w,c,r
        notifications_enabled   1
        notification_interval   60.000000
        first_notification_delay        0.000000
        stalking_options        n
        process_perf_data       1
        failure_prediction_enabled      1
        retain_status_information       1
        retain_nonstatus_information    1
        }

define service {
        host_name       localhost
        service_description     SSH
        check_period    24x7
        check_command   check_ssh
        contact_groups  admins
        notification_period     24x7
        initial_state   o
        check_interval  5.000000
        retry_interval  1.000000
        max_check_attempts      4
        is_volatile     0
        parallelize_check       1
        active_checks_enabled   1
        passive_checks_enabled  1
        obsess_over_service     1
        event_handler_enabled   1
        low_flap_threshold      0.000000
        high_flap_threshold     0.000000
        flap_detection_enabled  1
        flap_detection_options  o,w,u,c
        freshness_threshold     0
        check_freshness 0
        notification_options    u,w,c,r
        notifications_enabled   0
        notification_interval   60.000000
        first_notification_delay        0.000000
        stalking_options        n
        process_perf_data       1
        failure_prediction_enabled      1
        retain_status_information       1
        retain_nonstatus_information    1
        }

define service {
        host_name       localhost
        service_description     Swap Usage
        check_period    24x7
        check_command   check_local_swap!20!10
        contact_groups  admins
        notification_period     24x7
        initial_state   o
        check_interval  5.000000
        retry_interval  1.000000
        max_check_attempts      4
        is_volatile     0
        parallelize_check       1
        active_checks_enabled   1
        passive_checks_enabled  1
        obsess_over_service     1
        event_handler_enabled   1
        low_flap_threshold      0.000000
        high_flap_threshold     0.000000
        flap_detection_enabled  1
        flap_detection_options  o,w,u,c
        freshness_threshold     0
        check_freshness 0
        notification_options    u,w,c,r
        notifications_enabled   1
        notification_interval   60.000000
        first_notification_delay        0.000000
        stalking_options        n
        process_perf_data       1
        failure_prediction_enabled      1
        retain_status_information       1
        retain_nonstatus_information    1
        }

define service {
        host_name       localhost
        service_description     Total Processes
        check_period    24x7
        check_command   check_local_procs!250!400!RSZDT
        contact_groups  admins
        notification_period     24x7
        initial_state   o
        check_interval  5.000000
        retry_interval  1.000000
        max_check_attempts      4
        is_volatile     0
        parallelize_check       1
        active_checks_enabled   1
        passive_checks_enabled  1
        obsess_over_service     1
        event_handler_enabled   1
        low_flap_threshold      0.000000
        high_flap_threshold     0.000000
        flap_detection_enabled  1
        flap_detection_options  o,w,u,c
        freshness_threshold     0
        check_freshness 0
        notification_options    u,w,c,r
        notifications_enabled   1
        notification_interval   60.000000
        first_notification_delay        0.000000
        stalking_options        n
        process_perf_data       1
        failure_prediction_enabled      1
        retain_status_information       1
        retain_nonstatus_information    1
        }

###############################################################################
# LOCALHOST.CFG - SAMPLE OBJECT CONFIG FILE FOR MONITORING THIS MACHINE
#
# NOTE: This config file is intended to serve as an *extremely* simple 
#       example of how you can create configuration entries to monitor
#       the local (Linux) machine.
#
###############################################################################




###############################################################################
###############################################################################
#
# HOST DEFINITION
#
###############################################################################
###############################################################################

# Define a host for the local machine

define host{
        use                     linux-server            ; Name of host template 
to use
                                                        ; This host definition 
will inherit all variables that are defined
                                                        ; in (or inherited by) 
the linux-server host template definition.
        host_name               localhost
        alias                   localhost
        address                 127.0.0.1
        }



###############################################################################
###############################################################################
#
# HOST GROUP DEFINITION
#
###############################################################################
###############################################################################

# Define an optional hostgroup for Linux machines

define hostgroup{
        hostgroup_name  linux-servers ; The name of the hostgroup
        alias           Linux Servers ; Long name of the group
        members         localhost     ; Comma separated list of hosts that 
belong to this group
        }



###############################################################################
###############################################################################
#
# SERVICE DEFINITIONS
#
###############################################################################
###############################################################################


# Define a service to "ping" the local machine

define service{
        use                             local-service         ; Name of service 
template to use
        host_name                       localhost
        service_description             PING
        check_command                   check_ping!100.0,20%!500.0,60%
        }


# Define a service to check the disk space of the root partition
# on the local machine.  Warning if < 20% free, critical if
# < 10% free space on partition.

define service{
        use                             local-service         ; Name of service 
template to use
        host_name                       localhost
        service_description             Root Partition
        check_command                   check_local_disk!20%!10%!/
        }



# Define a service to check the number of currently logged in
# users on the local machine.  Warning if > 20 users, critical
# if > 50 users.

define service{
        use                             local-service         ; Name of service 
template to use
        host_name                       localhost
        service_description             Current Users
        check_command                   check_local_users!20!50
        }


# Define a service to check the number of currently running procs
# on the local machine.  Warning if > 250 processes, critical if
# > 400 users.

define service{
        use                             local-service         ; Name of service 
template to use
        host_name                       localhost
        service_description             Total Processes
        check_command                   check_local_procs!250!400!RSZDT
        }



# Define a service to check the load on the local machine. 

define service{
        use                             local-service         ; Name of service 
template to use
        host_name                       localhost
        service_description             Current Load
        check_command                   
check_local_load!5.0,4.0,3.0!10.0,6.0,4.0
        }



# Define a service to check the swap usage the local machine. 
# Critical if less than 10% of swap is free, warning if less than 20% is free

define service{
        use                             local-service         ; Name of service 
template to use
        host_name                       localhost
        service_description             Swap Usage
        check_command                   check_local_swap!20!10
        }



# Define a service to check SSH on the local machine.
# Disable notifications for this service by default, as not all users may have 
SSH enabled.

define service{
        use                             local-service         ; Name of service 
template to use
        host_name                       localhost
        service_description             SSH
        check_command                   check_ssh
        notifications_enabled           0
        }



# Define a service to check HTTP on the local machine.
# Disable notifications for this service by default, as not all users may have 
HTTP enabled.

define service{
        use                             local-service         ; Name of service 
template to use
        host_name                       localhost
        service_description             HTTP
        check_command                   check_http
        notifications_enabled           0
        }

define host{
        use                     linux-server            ; Name of host template 
to use
        host_name               localhost1
        alias                   localhost1
        address                 127.0.0.1
        }
define host{
        use                     linux-server            ; Name of host template 
to use
        host_name               localhost2
        alias                   localhost2
        address                 127.0.0.1
        }
define host{
        use                     linux-server            ; Name of host template 
to use
        host_name               localhost3
        alias                   localhost3
        address                 127.0.0.1
        }

define hostgroup{
        hostgroup_name hg1
        members localhost1
}
define hostgroup{
        hostgroup_name hg2
        members localhost2
}
define hostgroup{
        hostgroup_name hg3
        hostgroup_members hg1,!hg2
}
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
icinga-users mailing list
icinga-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/icinga-users

Reply via email to