# Nagios wont start.

## Rooney

I have followed the guide at the Wiki

and at the end when it comes to starting the process i just get the following, all symlinks are correct so i dont know why it can see any of the config files.

 *Quote:*   

> 
> 
> Nagios 1.4.1
> 
> Copyright (c) 1999-2006 Ethan Galstad (nagios@nagios.org)
> ...

 

 *Quote:*   

> 
> 
> ls /etc/nagios/
> 
> cgi.cfg            escalations.cfg  misccommands.cfg  send_nsca.cfg
> ...

 

 *Quote:*   

> 
> 
> ls /usr/local/nagios/etc/
> 
> cgi.cfg            escalations.cfg  misccommands.cfg  send_nsca.cfg
> ...

 

----------

## Errtu

Can you post the contents of /etc/nagios/nagios.cfg ?

----------

## Rooney

 *Errtu wrote:*   

> Can you post the contents of /etc/nagios/nagios.cfg ?

 

here you go  :Smile: 

```
# log_file=/var/nagios/nagios.log

log_file=/var/log/nagios/nagios.log

# status_file=/var/nagios/status.log

status_file=/var/log/nagios/status.log

# comment_file=/var/nagios/comment.log

comment_file=/var/log/nagios/comment.log

# downtime_file=/var/nagios/downtime.log

downtime_file=/var/log/nagios/downtime.log

# lock_file=/var/nagios/nagios.lock

lock_file=/var/run/nagios.pid

# use_syslog=1

use_syslog=0

# enable_flap_detection=0

enable_flap_detection=1

# date_format=us

date_format=euro

# admin_email=nagios

admin_email=myemail@domain.tld
```

----------

## Errtu

You have no cfg_file entry. Try adding a line like this:

```
cfg_file=/etc/nagios/commands.cfg
```

.. or wherever you placed your cfg's  :Smile:   and restart nagios.

----------

## Rooney

 *Errtu wrote:*   

> You have no cfg_file entry. Try adding a line like this:
> 
> ```
> cfg_file=/etc/nagios/commands.cfg
> ```
> ...

 

I think you have hit the nail on the head, i had replced the config file with the config from the wiki and not ammend the orginal so i have removed quite a few required values, 

Many Thanks Rooney  :Smile:   :Smile:   :Smile:   :Smile: 

----------

## ariesow

i have the same problem as Rooney had but solve when i added the missing command line, put another problem pop up.

```
##############################################################################

#

# NAGIOS.CFG - Sample Main Config File for Nagios 

#

# Read the documentation for more information on this configuration

# file.  I've provided some comments here, but things may not be so

# clear without further explanation.

#

# Last Modified: 03-08-2005

#

##############################################################################

# LOG FILE

# This is the main log file where service and host events are logged

# for historical purposes.  This should be the first option specified 

# in the config file!!!

log_file=/var/nagios/nagios.log

# OBJECT CONFIGURATION FILE(S)

# This is the configuration file in which you define hosts, host

# groups, contacts, contact groups, services, etc.  I guess it would

# be better called an object definition file, but for historical

# reasons it isn't.  You can split object definitions into several

# different config files by using multiple cfg_file statements here.

# Nagios will read and process all the config files you define.

# This can be very useful if you want to keep command definitions 

# separate from host and contact definitions...

# Plugin commands (service and host check commands)

# Arguments are likely to change between different releases of the

# plugins, so you should use the same config file provided with the

# plugin release rather than the one provided with Nagios.

#cfg_file=/etc/nagios/checkcommands.cfg

# Misc commands (notification and event handler commands, etc)

#cfg_file=/etc/nagios/misccommands.cfg

# You can split other types of object definitions across several

# config files if you wish (as done here), or keep them all in a

# single config file.

cfg_file=/etc/nagios/commands.cfg

#cfg_file=/etc/nagios/contactgroups.cfg

#cfg_file=/etc/nagios/contacts.cfg

localhost nagios # cat nagios.cfg

##############################################################################

#

# NAGIOS.CFG - Sample Main Config File for Nagios 

#

# Read the documentation for more information on this configuration

# file.  I've provided some comments here, but things may not be so

# clear without further explanation.

#

# Last Modified: 03-08-2005

#

##############################################################################

# LOG FILE

# This is the main log file where service and host events are logged

# for historical purposes.  This should be the first option specified 

# in the config file!!!

log_file=/var/nagios/nagios.log

# OBJECT CONFIGURATION FILE(S)

# This is the configuration file in which you define hosts, host

# groups, contacts, contact groups, services, etc.  I guess it would

# be better called an object definition file, but for historical

# reasons it isn't.  You can split object definitions into several

# different config files by using multiple cfg_file statements here.

# Nagios will read and process all the config files you define.

# This can be very useful if you want to keep command definitions 

# separate from host and contact definitions...

# Plugin commands (service and host check commands)

# Arguments are likely to change between different releases of the

# plugins, so you should use the same config file provided with the

# plugin release rather than the one provided with Nagios.

#cfg_file=/etc/nagios/checkcommands.cfg

# Misc commands (notification and event handler commands, etc)

#cfg_file=/etc/nagios/misccommands.cfg

# You can split other types of object definitions across several

# config files if you wish (as done here), or keep them all in a

# single config file.

cfg_file=/etc/nagios/commands.cfg

#cfg_file=/etc/nagios/contactgroups.cfg

#cfg_file=/etc/nagios/contacts.cfg

#cfg_file=/etc/nagios/dependencies.cfg

#cfg_file=/etc/nagios/escalations.cfg

#cfg_file=/etc/nagios/hostgroups.cfg

cfg_file=/etc/nagios/hosts.cfg

cfg_file=/etc/nagios/services.cfg

#cfg_file=/etc/nagios/timeperiods.cfg

# Extended host/service info definitions are now stored along with

# other object definitions:

#cfg_file=/etc/nagios/hostextinfo.cfg

#cfg_file=/etc/nagios/serviceextinfo.cfg

# You can also tell Nagios to process all config files (with a .cfg

# extension) in a particular directory by using the cfg_dir

# directive as shown below:

#cfg_dir=/etc/nagios/servers

#cfg_dir=/etc/nagios/printers

#cfg_dir=/etc/nagios/switches

#cfg_dir=/etc/nagios/routers

# OBJECT CACHE FILE

# This option determines where object definitions are cached when

# Nagios starts/restarts.  The CGIs read object definitions from 

# this cache file (rather than looking at the object config files

# directly) in order to prevent inconsistencies that can occur

# when the config files are modified after Nagios starts.

object_cache_file=/var/nagios/objects.cache

# RESOURCE FILE

# This is an optional resource file that contains $USERx$ macro

# definitions. Multiple resource files can be specified by using

# multiple resource_file definitions.  The CGIs will not attempt to

# read the contents of resource files, so information that is

# considered to be sensitive (usernames, passwords, etc) can be

# defined as macros in this file and restrictive permissions (600)

# can be placed on this file.

resource_file=/etc/nagios/resource.cfg

# STATUS FILE

# This is where the current status of all monitored services and

# hosts is stored.  Its contents are read and processed by the CGIs.

# The contentsof the status file are deleted every time Nagios

#  restarts.

status_file=/var/nagios/status.dat

# NAGIOS USER

# This determines the effective user that Nagios should run as.  

# You can either supply a username or a UID.

nagios_user=nagios

# NAGIOS GROUP

# This determines the effective group that Nagios should run as.  

# You can either supply a group name or a GID.

nagios_group=nagios

# EXTERNAL COMMAND OPTION

# This option allows you to specify whether or not Nagios should check

# for external commands (in the command file defined below).  By default

# Nagios will *not* check for external commands, just to be on the

# cautious side.  If you want to be able to use the CGI command interface

# you will have to enable this.  Setting this value to 0 disables command

# checking (the default), other values enable it.

check_external_commands=0

# EXTERNAL COMMAND CHECK INTERVAL

# This is the interval at which Nagios should check for external commands.

# This value works of the interval_length you specify later.  If you leave

# that at its default value of 60 (seconds), a value of 1 here will cause

# Nagios to check for external commands every minute.  If you specify a

# number followed by an "s" (i.e. 15s), this will be interpreted to mean

# actual seconds rather than a multiple of the interval_length variable.

# Note: In addition to reading the external command file at regularly 

# scheduled intervals, Nagios will also check for external commands after

# event handlers are executed.

# NOTE: Setting this value to -1 causes Nagios to check the external

# command file as often as possible.

#command_check_interval=1

#command_check_interval=15s

command_check_interval=-1

# EXTERNAL COMMAND FILE

# This is the file that Nagios checks for external command requests.

# It is also where the command CGI will write commands that are submitted

# by users, so it must be writeable by the user that the web server

# is running as (usually 'nobody').  Permissions should be set at the 

# directory level instead of on the file, as the file is deleted every

# time its contents are processed.

command_file=/var/nagios/rw/nagios.cmd

# COMMENT FILE

# This is the file that Nagios will use for storing host and service

# comments.

comment_file=/var/nagios/comments.dat

# DOWNTIME FILE

# This is the file that Nagios will use for storing host and service

# downtime data.

downtime_file=/var/nagios/downtime.dat

# LOCK FILE

# This is the lockfile that Nagios will use to store its PID number

# in when it is running in daemon mode.

lock_file=/var/nagios/nagios.lock

# TEMP FILE

# This is a temporary file that is used as scratch space when Nagios

# updates the status log, cleans the comment file, etc.  This file

# is created, used, and deleted throughout the time that Nagios is

# running.

temp_file=/var/nagios/nagios.tmp

# EVENT BROKER OPTIONS

# Controls what (if any) data gets sent to the event broker.

# Values:  0      = Broker nothing

#         -1      = Broker everything

#         <other> = See documentation

event_broker_options=-1

# EVENT BROKER MODULE(S)

# This directive is used to specify an event broker module that should

# by loaded by Nagios at startup.  Use multiple directives if you want

# to load more than one module.  Arguments that should be passed to

# the module at startup are seperated from the module path by a space.

#

# Example:

#

#   nebmodule=<modulepath> [moduleargs]

#broker_module=/somewhere/module1.o

#broker_module=/somewhere/module2.o arg1 arg2=3 debug=0

# LOG ROTATION METHOD

# This is the log rotation method that Nagios should use to rotate

# the main log file. Values are as follows..

#       n       = None - don't rotate the log

#       h       = Hourly rotation (top of the hour)

#       d       = Daily rotation (midnight every day)

#       w       = Weekly rotation (midnight on Saturday evening)

#       m       = Monthly rotation (midnight last day of month)

log_rotation_method=d

# LOG ARCHIVE PATH

# This is the directory where archived (rotated) log files should be 

# placed (assuming you've chosen to do log rotation).

log_archive_path=/var/nagios/archives

# LOGGING OPTIONS

# If you want messages logged to the syslog facility, as well as the

# NetAlarm log file set this option to 1.  If not, set it to 0.

use_syslog=1

# NOTIFICATION LOGGING OPTION

# If you don't want notifications to be logged, set this value to 0.

# If notifications should be logged, set the value to 1.

log_notifications=1

# SERVICE RETRY LOGGING OPTION

# If you don't want service check retries to be logged, set this value

# to 0.  If retries should be logged, set the value to 1.

log_service_retries=1

# HOST RETRY LOGGING OPTION

# If you don't want host check retries to be logged, set this value to

# 0.  If retries should be logged, set the value to 1.

log_host_retries=1

# EVENT HANDLER LOGGING OPTION

# If you don't want host and service event handlers to be logged, set

# this value to 0.  If event handlers should be logged, set the value

# to 1.

log_event_handlers=1

# INITIAL STATES LOGGING OPTION

# If you want Nagios to log all initial host and service states to

# the main log file (the first time the service or host is checked)

# you can enable this option by setting this value to 1.  If you

# are not using an external application that does long term state

# statistics reporting, you do not need to enable this option.  In

# this case, set the value to 0.

log_initial_states=0

# EXTERNAL COMMANDS LOGGING OPTION

# If you don't want Nagios to log external commands, set this value

# to 0.  If external commands should be logged, set this value to 1.

# Note: This option does not include logging of passive service

# checks - see the option below for controlling whether or not

# passive checks are logged.

log_external_commands=1

# PASSIVE CHECKS LOGGING OPTION

# If you don't want Nagios to log passive host and service checks, set

# this value to 0.  If passive service checks should be logged, set

# this value to 1.

log_passive_checks=1

# GLOBAL HOST AND SERVICE EVENT HANDLERS

# These options allow you to specify a host and service event handler

# command that is to be run for every host or service state change.

# The global event handler is executed immediately prior to the event

# handler that you have optionally specified in each host or

# service definition. The command argument is the short name of a

# command definition that you define in your host configuration file.

# Read the HTML docs for more information.

#global_host_event_handler=somecommand

#global_service_event_handler=somecommand

# SERVICE INTER-CHECK DELAY METHOD

# This is the method that Nagios should use when initially

# "spreading out" service checks when it starts monitoring.  The

# default is to use smart delay calculation, which will try to

# space all service checks out evenly to minimize CPU load.

# Using the dumb setting will cause all checks to be scheduled

# at the same time (with no delay between them)!  This is not a

# good thing for production, but is useful when testing the

# parallelization functionality.

#       n       = None - don't use any delay between checks

#       d       = Use a "dumb" delay of 1 second between checks

#       s       = Use "smart" inter-check delay calculation

#       x.xx    = Use an inter-check delay of x.xx seconds

service_inter_check_delay_method=s

# MAXIMUM SERVICE CHECK SPREAD

# This variable determines the timeframe (in minutes) from the

# program start time that an initial check of all services should

# be completed.  Default is 30 minutes.

max_service_check_spread=30

# SERVICE CHECK INTERLEAVE FACTOR

# This variable determines how service checks are interleaved.

# Interleaving the service checks allows for a more even

# distribution of service checks and reduced load on remote

# hosts.  Setting this value to 1 is equivalent to how versions

# of Nagios previous to 0.0.5 did service checks.  Set this

# value to s (smart) for automatic calculation of the interleave

# factor unless you have a specific reason to change it.

#       s       = Use "smart" interleave factor calculation

#       x       = Use an interleave factor of x, where x is a

#                 number greater than or equal to 1.

service_interleave_factor=s

# HOST INTER-CHECK DELAY METHOD

# This is the method that Nagios should use when initially

# "spreading out" host checks when it starts monitoring.  The

# default is to use smart delay calculation, which will try to

# space all host checks out evenly to minimize CPU load.

# Using the dumb setting will cause all checks to be scheduled

# at the same time (with no delay between them)!

#       n       = None - don't use any delay between checks

#       d       = Use a "dumb" delay of 1 second between checks

#       s       = Use "smart" inter-check delay calculation

#       x.xx    = Use an inter-check delay of x.xx seconds

host_inter_check_delay_method=s

# MAXIMUM HOST CHECK SPREAD

# This variable determines the timeframe (in minutes) from the

# program start time that an initial check of all hosts should

# be completed.  Default is 30 minutes.

max_host_check_spread=30

# MAXIMUM CONCURRENT SERVICE CHECKS

# This option allows you to specify the maximum number of 

# service checks that can be run in parallel at any given time.

# Specifying a value of 1 for this variable essentially prevents

# any service checks from being parallelized.  A value of 0

# will not restrict the number of concurrent checks that are

# being executed.

max_concurrent_checks=0

# SERVICE CHECK REAPER FREQUENCY

# This is the frequency (in seconds!) that Nagios will process

# the results of services that have been checked.

service_reaper_frequency=10

# AUTO-RESCHEDULING OPTION

# This option determines whether or not Nagios will attempt to

# automatically reschedule active host and service checks to

# "smooth" them out over time.  This can help balance the load on

# the monitoring server.  

# WARNING: THIS IS AN EXPERIMENTAL FEATURE - IT CAN DEGRADE

# PERFORMANCE, RATHER THAN INCREASE IT, IF USED IMPROPERLY

auto_reschedule_checks=0

# AUTO-RESCHEDULING INTERVAL

# This option determines how often (in seconds) Nagios will

# attempt to automatically reschedule checks.  This option only

# has an effect if the auto_reschedule_checks option is enabled.

# Default is 30 seconds.

# WARNING: THIS IS AN EXPERIMENTAL FEATURE - IT CAN DEGRADE

# PERFORMANCE, RATHER THAN INCREASE IT, IF USED IMPROPERLY

auto_rescheduling_interval=30

# AUTO-RESCHEDULING WINDOW

# This option determines the "window" of time (in seconds) that

# Nagios will look at when automatically rescheduling checks.

# Only host and service checks that occur in the next X seconds

# (determined by this variable) will be rescheduled. This option

# only has an effect if the auto_reschedule_checks option is

# enabled.  Default is 180 seconds (3 minutes).

# WARNING: THIS IS AN EXPERIMENTAL FEATURE - IT CAN DEGRADE

# PERFORMANCE, RATHER THAN INCREASE IT, IF USED IMPROPERLY

auto_rescheduling_window=180

# SLEEP TIME

# This is the number of seconds to sleep between checking for system

# events and service checks that need to be run.

sleep_time=0.25

# TIMEOUT VALUES

# These options control how much time Nagios will allow various

# types of commands to execute before killing them off.  Options

# are available for controlling maximum time allotted for

# service checks, host checks, event handlers, notifications, the

# ocsp command, and performance data commands.  All values are in

# seconds.

service_check_timeout=60

host_check_timeout=30

event_handler_timeout=30

notification_timeout=30

ocsp_timeout=5

perfdata_timeout=5

# RETAIN STATE INFORMATION

# This setting determines whether or not Nagios will save state

# information for services and hosts before it shuts down.  Upon

# startup Nagios will reload all saved service and host state

# information before starting to monitor.  This is useful for 

# maintaining long-term data on state statistics, etc, but will

# slow Nagios down a bit when it (re)starts.  Since its only

# a one-time penalty, I think its well worth the additional

# startup delay.

retain_state_information=1

# STATE RETENTION FILE

# This is the file that Nagios should use to store host and

# service state information before it shuts down.  The state 

# information in this file is also read immediately prior to

# starting to monitor the network when Nagios is restarted.

# This file is used only if the preserve_state_information

# variable is set to 1.

state_retention_file=/var/nagios/retention.dat

# RETENTION DATA UPDATE INTERVAL

# This setting determines how often (in minutes) that Nagios

# will automatically save retention data during normal operation.

# If you set this value to 0, Nagios will not save retention

# data at regular interval, but it will still save retention

# data before shutting down or restarting.  If you have disabled

# state retention, this option has no effect.

retention_update_interval=60

# USE RETAINED PROGRAM STATE

# This setting determines whether or not Nagios will set 

# program status variables based on the values saved in the

# retention file.  If you want to use retained program status

# information, set this value to 1.  If not, set this value

# to 0.

use_retained_program_state=1

# USE RETAINED SCHEDULING INFO

# This setting determines whether or not Nagios will retain

# the scheduling info (next check time) for hosts and services

# based on the values saved in the retention file.  If you

# If you want to use retained scheduling info, set this

# value to 1.  If not, set this value to 0.

use_retained_scheduling_info=0

# INTERVAL LENGTH

# This is the seconds per unit interval as used in the

# host/contact/service configuration files.  Setting this to 60 means

# that each interval is one minute long (60 seconds).  Other settings

# have not been tested much, so your mileage is likely to vary...

interval_length=60

# AGGRESSIVE HOST CHECKING OPTION

# If you don't want to turn on aggressive host checking features, set

# this value to 0 (the default).  Otherwise set this value to 1 to

# enable the aggressive check option.  Read the docs for more info

# on what aggressive host check is or check out the source code in

# base/checks.c

use_aggressive_host_checking=0

# SERVICE CHECK EXECUTION OPTION

# This determines whether or not Nagios will actively execute

# service checks when it initially starts.  If this option is 

# disabled, checks are not actively made, but Nagios can still

# receive and process passive check results that come in.  Unless

# you're implementing redundant hosts or have a special need for

# disabling the execution of service checks, leave this enabled!

# Values: 1 = enable checks, 0 = disable checks

execute_service_checks=1

# PASSIVE SERVICE CHECK ACCEPTANCE OPTION

# This determines whether or not Nagios will accept passive

# service checks results when it initially (re)starts.

# Values: 1 = accept passive checks, 0 = reject passive checks

accept_passive_service_checks=1

# HOST CHECK EXECUTION OPTION

# This determines whether or not Nagios will actively execute

# host checks when it initially starts.  If this option is 

# disabled, checks are not actively made, but Nagios can still

# receive and process passive check results that come in.  Unless

# you're implementing redundant hosts or have a special need for

# disabling the execution of host checks, leave this enabled!

# Values: 1 = enable checks, 0 = disable checks

execute_host_checks=1

# PASSIVE HOST CHECK ACCEPTANCE OPTION

# This determines whether or not Nagios will accept passive

# host checks results when it initially (re)starts.

# Values: 1 = accept passive checks, 0 = reject passive checks

accept_passive_host_checks=1

# NOTIFICATIONS OPTION

# This determines whether or not Nagios will sent out any host or

# service notifications when it is initially (re)started.

# Values: 1 = enable notifications, 0 = disable notifications

enable_notifications=1

# EVENT HANDLER USE OPTION

# This determines whether or not Nagios will run any host or

# service event handlers when it is initially (re)started.  Unless

# you're implementing redundant hosts, leave this option enabled.

# Values: 1 = enable event handlers, 0 = disable event handlers

enable_event_handlers=1

# PROCESS PERFORMANCE DATA OPTION

# This determines whether or not Nagios will process performance

# data returned from service and host checks.  If this option is

# enabled, host performance data will be processed using the

# host_perfdata_command (defined below) and service performance

# data will be processed using the service_perfdata_command (also

# defined below).  Read the HTML docs for more information on

# performance data.

# Values: 1 = process performance data, 0 = do not process performance data

process_performance_data=0

# HOST AND SERVICE PERFORMANCE DATA PROCESSING COMMANDS

# These commands are run after every host and service check is

# performed.  These commands are executed only if the

# enable_performance_data option (above) is set to 1.  The command

# argument is the short name of a command definition that you 

# define in your host configuration file.  Read the HTML docs for

# more information on performance data.

#host_perfdata_command=process-host-perfdata

#service_perfdata_command=process-service-perfdata

# HOST AND SERVICE PERFORMANCE DATA FILES

# These files are used to store host and service performance data.

# Performance data is only written to these files if the

# enable_performance_data option (above) is set to 1.

#host_perfdata_file=/tmp/host-perfdata

#service_perfdata_file=/tmp/service-perfdata

# HOST AND SERVICE PERFORMANCE DATA FILE TEMPLATES

# These options determine what data is written (and how) to the

# performance data files.  The templates may contain macros, special

# characters (\t for tab, \r for carriage return, \n for newline)

# and plain text.  A newline is automatically added after each write

# to the performance data file.  Some examples of what you can do are

# shown below.

#host_perfdata_file_template=[HOSTPERFDATA]\t$TIMET$\t$HOSTNAME$\t$HOSTEXECUTIONTIME$\t$HOSTOUTPUT$\t$HOSTPERFDATA$

#service_perfdata_file_template=[SERVICEPERFDATA]\t$TIMET$\t$HOSTNAME$\t$SERVICEDESC$\t$SERVICEEXECUTIONTIME$\t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$

# HOST AND SERVICE PERFORMANCE DATA FILE MODES

# This option determines whether or not the host and service

# performance data files are opened in write ("w") or append ("a")

# mode.  Unless you are the files are named pipes, you will probably

# want to use the default mode of append ("a").

#host_perfdata_file_mode=a

#service_perfdata_file_mode=a

# HOST AND SERVICE PERFORMANCE DATA FILE PROCESSING INTERVAL

# These options determine how often (in seconds) the host and service

# performance data files are processed using the commands defined

# below.  A value of 0 indicates the files should not be periodically

# processed.

#host_perfdata_file_processing_interval=0

#service_perfdata_file_processing_interval=0

# HOST AND SERVICE PERFORMANCE DATA FILE PROCESSING COMMANDS

# These commands are used to periodically process the host and

# service performance data files.  The interval at which the

# processing occurs is determined by the options above.

#host_perfdata_file_processing_command=process-host-perfdata-file

#service_perfdata_file_processing_command=process-service-perfdata-file

# OBSESS OVER SERVICE CHECKS OPTION

# This determines whether or not Nagios will obsess over service

# checks and run the ocsp_command defined below.  Unless you're

# planning on implementing distributed monitoring, do not enable

# this option.  Read the HTML docs for more information on

# implementing distributed monitoring.

# Values: 1 = obsess over services, 0 = do not obsess (default)

obsess_over_services=0

# OBSESSIVE COMPULSIVE SERVICE PROCESSOR COMMAND

# This is the command that is run for every service check that is

# processed by Nagios.  This command is executed only if the

# obsess_over_service option (above) is set to 1.  The command 

# argument is the short name of a command definition that you

# define in your host configuration file. Read the HTML docs for

# more information on implementing distributed monitoring.

#ocsp_command=somecommand

# ORPHANED SERVICE CHECK OPTION

# This determines whether or not Nagios will periodically 

# check for orphaned services.  Since service checks are not

# rescheduled until the results of their previous execution 

# instance are processed, there exists a possibility that some

# checks may never get rescheduled.  This seems to be a rare

# problem and should not happen under normal circumstances.

# If you have problems with service checks never getting

# rescheduled, you might want to try enabling this option.

# Values: 1 = enable checks, 0 = disable checks

check_for_orphaned_services=0

# SERVICE FRESHNESS CHECK OPTION

# This option determines whether or not Nagios will periodically

# check the "freshness" of service results.  Enabling this option

# is useful for ensuring passive checks are received in a timely

# manner.

# Values: 1 = enabled freshness checking, 0 = disable freshness checking

check_service_freshness=1

# SERVICE FRESHNESS CHECK INTERVAL

# This setting determines how often (in seconds) Nagios will

# check the "freshness" of service check results.  If you have

# disabled service freshness checking, this option has no effect.

service_freshness_check_interval=60

# HOST FRESHNESS CHECK OPTION

# This option determines whether or not Nagios will periodically

# check the "freshness" of host results.  Enabling this option

# is useful for ensuring passive checks are received in a timely

# manner.

# Values: 1 = enabled freshness checking, 0 = disable freshness checking

check_host_freshness=0

# HOST FRESHNESS CHECK INTERVAL

# This setting determines how often (in seconds) Nagios will

# check the "freshness" of host check results.  If you have

# disabled host freshness checking, this option has no effect.

host_freshness_check_interval=60

# AGGREGATED STATUS UPDATES

# This option determines whether or not Nagios will 

# aggregate updates of host, service, and program status

# data.  Normally, status data is updated immediately when

# a change occurs.  This can result in high CPU loads if

# you are monitoring a lot of services.  If you want Nagios

# to only refresh status data every few seconds, disable

# this option.

# Values: 1 = enable aggregate updates, 0 = disable aggregate updates

aggregate_status_updates=1

# AGGREGATED STATUS UPDATE INTERVAL

# Combined with the aggregate_status_updates option,

# this option determines the frequency (in seconds!) that

# Nagios will periodically dump program, host, and 

# service status data.  If you are not using aggregated

# status data updates, this option has no effect.

status_update_interval=15

# FLAP DETECTION OPTION

# This option determines whether or not Nagios will try

# and detect hosts and services that are "flapping".  

# Flapping occurs when a host or service changes between

# states too frequently.  When Nagios detects that a 

# host or service is flapping, it will temporarily supress

# notifications for that host/service until it stops

# flapping.  Flap detection is very experimental, so read

# the HTML documentation before enabling this feature!

# Values: 1 = enable flap detection

#         0 = disable flap detection (default)

enable_flap_detection=0

# FLAP DETECTION THRESHOLDS FOR HOSTS AND SERVICES

# Read the HTML documentation on flap detection for

# an explanation of what this option does.  This option

# has no effect if flap detection is disabled.

low_service_flap_threshold=5.0

high_service_flap_threshold=20.0

low_host_flap_threshold=5.0

high_host_flap_threshold=20.0

# DATE FORMAT OPTION

# This option determines how short dates are displayed. Valid options

# include:

#       us              (MM-DD-YYYY HH:MM:SS)

#       euro            (DD-MM-YYYY HH:MM:SS)

#       iso8601         (YYYY-MM-DD HH:MM:SS)

#       strict-iso8601  (YYYY-MM-DDTHH:MM:SS)

#

date_format=us

# P1.PL FILE LOCATION

# This value determines where the p1.pl perl script (used by the

# embedded Perl interpreter) is located.  If you didn't compile

# Nagios with embedded Perl support, this option has no effect.

p1_file=/usr/nagios/bin/p1.pl

# ILLEGAL OBJECT NAME CHARACTERS

# This option allows you to specify illegal characters that cannot

# be used in host names, service descriptions, or names of other

# object types.

illegal_object_name_chars=`~!$%^&*|'"<>?,()=

# ILLEGAL MACRO OUTPUT CHARACTERS

# This option allows you to specify illegal characters that are

# stripped from macros before being used in notifications, event

# handlers, etc.  This DOES NOT affect macros used in service or

# host check commands.

# The following macros are stripped of the characters you specify:

#       $HOSTOUTPUT$

#       $HOSTPERFDATA$

#       $HOSTACKAUTHOR$

#       $HOSTACKCOMMENT$

#       $SERVICEOUTPUT$

#       $SERVICEPERFDATA$

#       $SERVICEACKAUTHOR$

#       $SERVICEACKCOMMENT$

illegal_macro_output_chars=`~$&|'"<>

# REGULAR EXPRESSION MATCHING

# This option controls whether or not regular expression matching

# takes place in the object config files.  Regular expression

# matching is used to match host, hostgroup, service, and service

# group names/descriptions in some fields of various object types.

# Values: 1 = enable regexp matching, 0 = disable regexp matching

use_regexp_matching=0

# "TRUE" REGULAR EXPRESSION MATCHING

# This option controls whether or not "true" regular expression 

# matching takes place in the object config files.  This option

# only has an effect if regular expression matching is enabled

# (see above).  If this option is DISABLED, regular expression

# matching only occurs if a string contains wildcard characters

# (* and ?).  If the option is ENABLED, regexp matching occurs

# all the time (which can be annoying).

# Values: 1 = enable true matching, 0 = disable true matching

use_true_regexp_matching=0

# ADMINISTRATOR EMAIL ADDRESS

# The email address of the administrator of *this* machine (the one

# doing the monitoring).  Nagios never uses this value itself, but

# you can access this value by using the $ADMINEMAIL$ macro in your

# notification commands.

admin_email=nagios

# ADMINISTRATOR PAGER NUMBER/ADDRESS

# The pager number/address for the administrator of *this* machine.

# Nagios never uses this value itself, but you can access this

# value by using the $ADMINPAGER$ macro in your notification

# commands.

admin_pager=pagenagios

# DAEMON CORE DUMP OPTION

# This option determines whether or not Nagios is allowed to create

# a core dump when it runs as a daemon.  Note that it is generally

# considered bad form to allow this, but it may be useful for

# debugging purposes.

# Values: 1 - Allow core dumps

#         0 - Do not allow core dumps (default)

daemon_dumps_core=0

#cfg_file=/etc/nagios/commands.cfg

# EOF (End of file)
```

Now this error  pop 

```
Reading configuration data...

Error: Template 'generic-service' specified in service definition could not be not found (config file '/etc/nagios/services.cfg', starting on line 2)

Error: Template 'generic-service' specified in service definition could not be not found (config file '/etc/nagios/services.cfg', starting on line 31)

***> One or more problems was encountered while processing the config files...
```

How can i troubleshoot this problem ?

please help

----------

## Errtu

You have specified a filename/template in /etc/nagios/services.cfg on lines 2 and 31 that either doesn't exist, or nagios is unable to read from it (permissions?).

----------

## ariesow

Below is my services.cfg

```
# myhost-service template

define service{

        use        generic-service

        name       myhost-service 

        hostgroups myhost

        register   0

        }

# nmap ssh

define service{

        use                             generic-service         ; Name of service template to use

        host_name                       localhost

        service_description             nmap ssh

        is_volatile                     0

        check_period                    24x7

        max_check_attempts              3

        normal_check_interval           3

        retry_check_interval            1

        contact_groups                  <edit-this>             ; Make sure that the value here is also located in the contactgroup.cfg

        notification_interval           120

        notification_period             24x7

        notification_options            w,u,c,r

        check_command                   "/usr/bin/nmap -sT -p22 -P0 localhost| grep open 2> /dev/null"

        }

# PING

define service{

       use                             generic-service         ; Name of service template to use

       host_name                       localhost

       service_description             PING

       is_volatile                     0

       check_period                    24x7

       max_check_attempts              3

       normal_check_interval           5

       retry_check_interval            1

       contact_groups                  <edit-this>             ; Make sure that the value here is also located in the contactgroup.cfg

       notification_interval           120

       notification_period             24x7

       notification_options            c,r

       check_command                   check_ping!100.0,20%!500.0,60%

       }

# SSH

define service{

       use                             myhost-service 

       host_name                       *

       service_description             SSH

       is_volatile                     0

       check_period                    24x7

       max_check_attempts              3

       normal_check_interval           5

       retry_check_interval            1

       contact_groups                  <edit this>

       notification_interval           120

       notification_period             24x7

       notification_options            c,r

       check_command                   check_ssh

}

```

Is this alright ? and where usually i can find the service template or file ?

----------

## Errtu

Hi,

Sorry for the late reply. The generic-service template is located in your services/services.cfg file (in nagios dir) and should contain something like:

```
define service{

        name                            generic-service ; The 'name' of this service template

        active_checks_enabled           1       ; Active service checks are enabled

        passive_checks_enabled          1       ; Passive service checks are enabled/accepted

        parallelize_check               1       ; Active service checks should be parallelized (disabling this can lead to major performance problems)

        obsess_over_service             1       ; We should obsess over this service (if necessary)

        check_freshness                 0       ; Default is to NOT check service 'freshness'

        notifications_enabled           1       ; Service notifications are enabled

        event_handler_enabled           1       ; Service event handler is enabled

        flap_detection_enabled          1       ; Flap detection is enabled

        failure_prediction_enabled      1       ; Failure prediction is enabled

        process_perf_data               1       ; Process performance data

        retain_status_information       1       ; Retain status information across program restarts

        retain_nonstatus_information    1       ; Retain non-status information across program restarts

        register                        0       ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL SERVICE, JUST A TEMPLATE!

        }
```

----------

