Page 1 of 2
how can check specific sensors in specific time
Posted: Sun Oct 07, 2018 10:05 am
by baber
Dear all
Hi
i have added a server to nagios in below i put my server.cfg file
Code: Select all
use local-service
host_name cm
service_description CPU Load
servicegroups TS
check_command check_nrpe!check_load
}
#define service{
# use local-service
# host_name cm
# service_description SNMP
# check_command check_nrpe!check_snmp!'-H localhost -C public -o .1.3.6.1.4.1.2021.11.9.0'
# }
define service{
use local-service
host_name cm
service_description Memory
servicegroups TS
check_command check_nrpe!check_mem!'-w 10 -c 5 -f -C'
}
define service{
use local-service
host_name cm
service_description DNS
check_command check_nrpe!check_dns
}
define service{
use local-service
host_name cm
service_description Current Users
servicegroups TS
check_command check_nrpe!check_users
}
now i want to know how can check two sensors in a specific time for example i want DNS check and Current Users check not check between 13:00-19:00 every day and check other times of day
is that possible ?
BR
Babak
Re: how can check specific sensors in specific time
Posted: Mon Oct 08, 2018 8:22 am
by mcapra
Yes, it is possible by using the
check_period directive under your service/host definitions.
This directive is used to specify the short name of the time period during which active checks of this [host, service] can be made.
This directive references a Nagios timeperiod object.
More info:
https://assets.nagios.com/downloads/nag ... riods.html
https://assets.nagios.com/downloads/nag ... tions.html
https://assets.nagios.com/downloads/nag ... timeperiod
Re: how can check specific sensors in specific time
Posted: Mon Oct 08, 2018 12:41 pm
by tgriep
Thanks
@mcapra for the help.
What you would do is to setup a timeperiod line the example below and use that for your service's check_period.
Code: Select all
define timeperiod {
timeperiod_name not13to19
alias Do not check from 13:00 to 19:00
saturday 00:00-13:00,19:00-24:00
friday 00:00-13:00,19:00-24:00
thursday 00:00-13:00,19:00-24:00
wednesday 00:00-13:00,19:00-24:00
tuesday 00:00-13:00,19:00-24:00
monday 00:00-13:00,19:00-24:00
sunday 00:00-13:00,19:00-24:00
}
That way the service will only check between the hours of 00:00-13:00 and 19:00-24:00.
Try that out and post if you have any further questions.
Re: how can check specific sensors in specific time
Posted: Mon Oct 08, 2018 2:01 pm
by baber
thanks
but not work correctly
this is my timeperiod.cfg file
Code: Select all
###############################################################################
# TIMEPERIODS.CFG - SAMPLE TIMEPERIOD DEFINITIONS
#
#
# NOTES: This config file provides you with some example timeperiod definitions
# that you can reference in host, service, contact, and dependency
# definitions.
#
# You don't need to keep timeperiods in a separate file from your other
# object definitions. This has been done just to make things easier to
# understand.
#
###############################################################################
###############################################################################
###############################################################################
#
# TIME PERIODS
#
###############################################################################
###############################################################################
# This defines a timeperiod where all times are valid for checks,
# notifications, etc. The classic "24x7" support nightmare. :-)
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
}
# 'workhours' timeperiod definition
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
}
# 'none' timeperiod definition
define timeperiod{
timeperiod_name none
alias No Time Is A Good Time
}
# Some U.S. holidays
# Note: The timeranges for each holiday are meant to *exclude* the holidays from being
# treated as a valid time for notifications, etc. You probably don't want your pager
# going off on New Year's. Although you're employer might... :-)
define timeperiod{
name us-holidays
timeperiod_name us-holidays
alias U.S. Holidays
january 1 00:00-00:00 ; New Years
monday -1 may 00:00-00:00 ; Memorial Day (last Monday in May)
july 4 00:00-00:00 ; Independence Day
monday 1 september 00:00-00:00 ; Labor Day (first Monday in September)
thursday 4 november 00:00-00:00 ; Thanksgiving (4th Thursday in November)
december 25 00:00-00:00 ; Christmas
}
# This defines a modified "24x7" timeperiod that covers every day of the
# year, except for U.S. holidays (defined in the timeperiod above).
define timeperiod{
timeperiod_name 24x7_sans_holidays
alias 24x7 Sans Holidays
use us-holidays ; Get holiday exceptions from other timeperiod
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
}
# 'Switch workhours' timeperiod definition
define timeperiod{
timeperiod_name Switch_workhours
alias Switch Work Hours
sunday 00:00-01:00,06:00-24:00
monday 00:00-01:00,06:00-24:00
tuesday 00:00-01:00,06:00-24:00
wednesday 00:00-01:00,06:00-24:00
thursday 00:00-01:00,06:00-24:00
friday 00:00-01:00,06:00-24:00
saturday 00:00-01:00,06:00-24:00
}
define timeperiod{
timeperiod_name Chakavakcustom
alias Chakavakcustom
sunday 06:00-18:00
monday 06:00-18:00
tuesday 06:00-18:00
wednesday 06:00-18:00
thursday 06:00-18:00
friday 06:00-18:00
saturday 06:00-18:00
}
and this is my server.cfg file
Code: Select all
define host{
use windows-server ; Inherit default values from a template
host_name chakavakMQ-Live ; The name we're giving to this host
alias server chakavakMQ-Live ; A longer name associated with the host
address 1.1.1.1 ; IP address of the host
}
define service{
use local-service
host_name chakavakMQ-Live
service_description Memory Usage
servicegroups TS
check_command check_nt!MEMUSE!-w 90 -c 95
}
#define service{
# use local-service
# host_name chakavakMQ-Live
# service_description Service
# servicegroups TS
# check_command check_nt!SERVICESTATE!-d SHOWALL -l SNMP
# }
define service{
use local-service
host_name chakavakMQ-Live
service_description Cpu Usage
servicegroups TS
check_command check_nrpe!alias_cpu
}
define service{
use local-service
host_name chakavakMQ-Live
service_description Disk Space
servicegroups TS
check_command check_nrpe!alias_volumes
}
#define service{
# use local-service
# host_name chakavakMQ-Live
# service_description Uptime
# check_command check_nrpe!alias_up
# }
#define service{
# use local-service
# host_name chakavakMQ-Live
# service_description Time
# check_command check_nrpe!check_windows_time
# }
define service{
use local-service
host_name chakavakMQ-Live
service_description channel1
servicegroups TS
check_command check_nrpe!check_mqstatuschannel_1
check_period Chakavakcustom
}
#define service{
#use local-service
#host_name chakavakMQ-Live
#service_description channel2
#check_command check_nrpe!check_mqstatuschannel_2
#}
define service{
use local-service
host_name chakavakMQ-Live
service_description channel2
servicegroups TS
check_command check_nrpe!check_mqstatuschannel_2
check_period Chakavakcustom
}
define service{
use local-service
host_name chakavakMQ-Live
service_description channel3
servicegroups TS
check_command check_nrpe!check_mqstatuschannel_3
check_period Chakavakcustom
}
#define service{
#use local-service
#host_name chakavakMQ-Live
#service_description channel5
#check_command check_nrpe!check_mqstatuschannel_5
#}
define service{
use local-service
host_name chakavakMQ-Live
service_description channel4
servicegroups TS
check_command check_nrpe!check_mqstatuschannel_4
check_period Chakavakcustom
}
as show in previous codes i want check channel1,channel2,channel3,channel4 in al of days between 06:00-18:00 and not check in other times but this not work it now checking in all times
and my mean is after time 18:00 those services will critical and i want diable checking for not show this critical error in nagios
is that corect ?
Re: how can check specific sensors in specific time
Posted: Mon Oct 08, 2018 2:22 pm
by tgriep
Did you restart the nagios process to load the changes?
Re: how can check specific sensors in specific time
Posted: Mon Oct 08, 2018 2:46 pm
by baber
tgriep wrote:Did you restart the nagios process to load the changes?
yes
Re: how can check specific sensors in specific time
Posted: Mon Oct 08, 2018 3:09 pm
by tgriep
What version of Nagios Core are you running?
Re: how can check specific sensors in specific time
Posted: Thu Oct 11, 2018 6:54 am
by baber
tgriep wrote:What version of Nagios Core are you running?
so thanks my problem solved.
just want to know if i want it check all days of the week except fridays is follow correct ? ( i removed friday from the timeperiod)
define timeperiod{
timeperiod_name Chakavakcustom
alias Chakavakcustom
sunday 06:00-16:45
monday 06:00-16:45
tuesday 06:00-16:45
wednesday 06:00-16:45
thursday 06:00-13:30
saturday 06:00-16:45
}
BR
Babak
Re: how can check specific sensors in specific time
Posted: Thu Oct 11, 2018 8:56 am
by tgriep
Yes, removing the Friday period is correct. It will not check on that day if it doesn't exist.
Re: how can check specific sensors in specific time
Posted: Sat Oct 13, 2018 12:04 am
by baber
tgriep wrote:Yes, removing the Friday period is correct. It will not check on that day if it doesn't exist.
so thanks
my problem solved
BR
Babak