Service checks in hosts.cfg?

chiel chiel at gmx.net
Sat Feb 24 15:40:36 CET 2007


Hi Hugo,

Thank you for your comments. I understand this way nagios must be 
configured.

define service{
         use                             mydyndns-template
         host_name 
ns2.mydyndns.org,ns3.mydyndns.org,ns4.mydyndns.org,ns5.mydyndns.org
         service_description             PING
         check_command                   check_ping!300,20%!1000,60%
         contact_groups                  mydyndns-org
}


In the above example you define all your hosts that you want to check with 
ping on one line. Let say I want to check over a 100 hosts with this 
services, must they al go on 1 line (?!).
I can't put the hostgroup here because not al the hosts in that hostgroup 
respond to ping.
(Of course I split up the config files as much as I can with creating 
cfg_dir's)


Michiel


----- Original Message ----- 
From: "Hugo van der Kooij" <hvdkooij at vanderkooij.org>
To: "Nagios Users mailinglist" <nagios-users at lists.sourceforge.net>
Sent: Saturday, February 24, 2007 3:06 PM
Subject: Re: [Nagios-users] Service checks in hosts.cfg?


> On Sat, 24 Feb 2007, chiel wrote:
>
>> I have been working with Nagios for a couple of days now and I'm just 
>> beginning to understand the principle of the config (.cfg) files.
>> I understand that you create a service (let say Ping) and put all your 
>> hosts (or hostgroups) in there that you want to check with ping.
>
> First off. Print the manual in full or whatever allows you to read it
> cover to cover. But go over the full manual at least once from cover to
> cover.
>
>> But is it also possible to define these checks in the hosts.cfg file??
>> So I would become something like this:
>>
>> define host{
>>    host_name      server1
>>    alias               Linux server 1
>>    address         10.0.0.1
>>    contact_groups  network_team
>>    checks          check_ping, check_load, check_snmp     <--- This line
>> }
>
> This is rather completely wrong. I think you need to reverse your way of
> thinking.
>
> Think of hosts as machines. You can add a check on the machine but it is
> just to see if the hardware is there. For this most people use the default
> check but in some cases you need to deviate. That is where the checks on a
> host end.
>
> You care about service provided. You only check the host to make sure they
> remain active because you need them to run the service. In this regard you
> can think of CPU and memory usages as services on which other services
> rely. (If your CPU is 0% idle your MySQL service is likely to be running
> poorly.)
>
> So you need to add a 100 hosts if you have a 100 machines. But read the
> part on templates very very carefully as it will save a lot of time and
> work.
>
> Then you define service which may run on some hosts, mosts hosts or all
> hosts.
>
> So define a service named POSTFIX for example and use the check_smtp check
> to test it.
>
> If in doubt go over the manual a few times and study the mailinglist
> archives.
>
> For example my 4 backup DNS servers:
>
> # 4 backup servers:
> define hostgroup {
>         hostgroup_name                  mydyndns-org
>         alias                           mydyndns.org servers
>         members                         ns2.mydyndns.org
>         members                         ns3.mydyndns.org
>         members                         ns4.mydyndns.org
>         members                         ns5.mydyndns.org
> }
>
> # Template for these hosts
> define host {
>         name                            mydyndns-template
>         register                        0
>         check_command                   check-host-alive
>         max_check_attempts              3
>         active_checks_enabled           1
>         passive_checks_enabled          0
>         check_period                    24x7
>         retain_status_information       1
>         retain_nonstatus_information    1
>         notification_interval           60
>         notification_period             24x7
>         notification_options            d,u,r,f
>         notifications_enabled           1
> }
>
> # The 4 machines:
> define host{
>         use                             mydyndns-template
>         host_name                       ns2.mydyndns.org
>         alias                           DNS server 2
>         address                         204.13.249.82
>         parents                         transip-switch
>         hostgroups                      mydyndns-org
>         contact_groups                  mydyndns-org
>         }
>
> define host{
>         use                             mydyndns-template
>         host_name                       ns3.mydyndns.org
>         alias                           DNS server 3
>         address                         204.13.250.82
> #       address                         63.209.15.211
>         parents                         transip-switch
>         hostgroups                      mydyndns-org
>         contact_groups                  mydyndns-org
>         }
>
> define host{
>         use                             mydyndns-template
>         host_name                       ns4.mydyndns.org
>         alias                           DNS server 4
>         address                         213.155.150.206
>         parents                         transip-switch
>         hostgroups                      mydyndns-org
>         contact_groups                  mydyndns-org
>         }
>
> define host{
>         use                             mydyndns-template
>         host_name                       ns5.mydyndns.org
>         alias                           DNS server 5
>         address                         63.208.196.93
>         parents                         transip-switch
>         hostgroups                      mydyndns-org
>         contact_groups                  mydyndns-org
>         }
>
> # Now group the services on the 4 hosts:
> define servicegroup {
>         servicegroup_name               mydyndns-org
>         alias                           mydyndns.org servers
>         members                         ns2.mydyndns.org, *
>         members                         ns3.mydyndns.org, *
>         members                         ns4.mydyndns.org, *
>         members                         ns5.mydyndns.org, *
>         }
>
> # Service template:
> define service {
>         name                            mydyndns-template
>         register                        0
>         max_check_attempts              3
>         normal_check_interval           5
>         retry_check_interval            1
>         active_checks_enabled           1
>         passive_checks_enabled          1
>         check_period                    24x7
>         retain_status_information       1
>         retain_nonstatus_information    1
>         notification_interval           60
>         notification_period             24x7
>         notification_options            w,u,c,r,f
>         notifications_enabled           1
> }
>
> # Add services to these hosts:
> define service{
>         use                             mydyndns-template
>         host_name 
> ns2.mydyndns.org,ns3.mydyndns.org,ns4.mydyndns.org,ns5.mydyndns.org
>         service_description             DNS
>         check_command                   check_dig!1!5!www.vanderkooij.org
>         contact_groups                  mydyndns-org
>         }
>
> define service{
>         use                             mydyndns-template
>         host_name 
> ns2.mydyndns.org,ns3.mydyndns.org,ns4.mydyndns.org,ns5.mydyndns.org
>         service_description             PING
>         check_command                   check_ping!300,20%!1000,60%
>         contact_groups                  mydyndns-org
> }
>
> ......
>
> Hugo.
>
> -- 
>  hvdkooij at vanderkooij.org http://hvdkooij.xs4all.nl/
>      This message is using 100% recycled electrons.
>
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to share 
> your
> opinions on IT & business topics through brief surveys-and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> _______________________________________________
> Nagios-users mailing list
> Nagios-users at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/nagios-users
> ::: Please include Nagios version, plugin version (-v) and OS when 
> reporting any issue.
> ::: Messages without supporting info will risk being sent to /dev/null 


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Nagios-users mailing list
Nagios-users at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nagios-users
::: Please include Nagios version, plugin version (-v) and OS when reporting any issue. 
::: Messages without supporting info will risk being sent to /dev/null





More information about the Users mailing list