Nagios for MS Exchange Server

Has anyone got a script example for monitoring MS exchange servers that I could have a look at?

I use NSClient to monitor my Exchange servers. Here are the service definitions that I use:

Service definition

define service{
use generic-service
host_name in-ex01
service_description check_nt_diskSystem
is_volatile 0
check_period 24x7
max_check_attempts 20
normal_check_interval 3
retry_check_interval 1
contact_groups exchange-admins
notification_interval 120
notification_period 24x7
notification_options w,u,c,r
check_command check_nt_disk!C!80!90
}

Service definition

define service{
use generic-service
host_name in-ex01
service_description check_nt_diskLogs
is_volatile 0
check_period 24x7
max_check_attempts 20
normal_check_interval 3
retry_check_interval 1
contact_groups exchange-admins
notification_interval 120
notification_period 24x7
notification_options w,u,c,r
check_command check_nt_disk!D!80!90
}

Service definition

define service{
use generic-service
host_name in-ex01
service_description check_nt_diskInfoStore
is_volatile 0
check_period 24x7
max_check_attempts 20
normal_check_interval 3
retry_check_interval 1
contact_groups exchange-admins
notification_interval 120
notification_period 24x7
notification_options w,u,c,r
check_command check_nt_disk!E!80!90
}

Service definition

define service{
use generic-service
host_name in-ex01
service_description check_nt_cpuload
is_volatile 0
check_period 24x7
max_check_attempts 20
normal_check_interval 3
retry_check_interval 1
contact_groups exchange-admins
notification_interval 120
notification_period 24x7
notification_options w,u,c,r
check_command check_nt_cpuload!10,80,95
}

Service definition

define service{
use generic-service
host_name in-ex01
service_description check_nt_uptime
is_volatile 0
check_period 24x7
max_check_attempts 20
normal_check_interval 3
retry_check_interval 1
contact_groups exchange-admins
notification_interval 120
notification_period 24x7
notification_options w,u,c,r
check_command check_nt_uptime
}

Service definition

define service{
use generic-service
host_name in-ex01
service_description check_nt_memuse
is_volatile 0
check_period 24x7
max_check_attempts 20
normal_check_interval 3
retry_check_interval 1
contact_groups exchange-admins
notification_interval 120
notification_period 24x7
notification_options w,u,c,r
check_command check_nt_memuse!80,90
}

Service definition

define service{
use generic-service
host_name in-ex01
service_description check_smtp
is_volatile 0
check_period 24x7
max_check_attempts 20
normal_check_interval 3
retry_check_interval 1
contact_groups exchange-admins
notification_interval 120
notification_period 24x7
notification_options w,u,c,r
check_command check_smtp
}

Service definition

define service{
use generic-service
host_name in-ex01
service_description check_pop
is_volatile 0
check_period 24x7
max_check_attempts 20
normal_check_interval 3
retry_check_interval 1
contact_groups exchange-admins
notification_interval 120
notification_period 24x7
notification_options w,u,c,r
check_command check_pop
}

Service definition

define service{
use generic-service
host_name in-ex01
service_description check_http
is_volatile 0
check_period 24x7
max_check_attempts 20
normal_check_interval 3
retry_check_interval 1
contact_groups exchange-admins
notification_interval 120
notification_period 24x7
notification_options w,u,c,r
check_command check_http
}

Serivce definition

define service{
use generic-service
host_name in-ex01
service_description check_nt_serviceMSExchangeIS
is_volatile 0
check_period 24x7
max_check_attempts 20
normal_check_interval 3
retry_check_interval 1
contact_groups exchange-admins
notification_interval 120
notification_period 24x7
notification_options w,u,c,r
check_command check_nt_service!MSExchangeIS
}

with NSClient you can get any performance counter values you can see in the perfromance snap-in. :wink:

Luca