There are several different configuration files that you're going to need to create or edit before you start monitoring anything. Be patient! Configuring Icinga can take quite a while, especially if you're first-time user. Once you figure out how things work, it'll all be well worth your time. :-)
![]() |
Note |
---|---|
Sample configuration files are installed in the /usr/local/icinga/etc/ directory when you follow the quickstart installation guide. If you installed a package then the sample files might be missing. The contents is listed here for reference. |
Names and locations of these configuration files are all up to you but it is commonly accepted to have files called
icinga.cfg
, resource.cfg
, and cgi.cfg
in the main config
directory.
The names of the object definition files may show the type of definitions (contacts.cfg, commands.cfg
,
timeperiods.cfg
, notifications.cfg
), the type of hardware (printer.cfg
,
switch.cfg
), or the object which is described (localhost.cfg
). If your installation doesn't
contain any of these files then there is no need to panic. Using a web-based configuration tool, a database driven script, or editing
the files with your favourite editor the files may be in separate folders per geographical location (country, branch, ...) and a file
per physical or logical unit (room, rack, application, development, ...), or the concept which seems to suit your needs best.
The main configuration file contains a number of directives that affect how the Icinga daemon operates and links to several other files. This config file is read by both the Icinga daemon and the CGIs. This is where you're going to want to get started in your configuration adventures.
Documentation for the main configuration file can be found here.
Resource files can be used to store user-defined macros. The main point of having resource files is to use them to store sensitive configuration information (like passwords), without making them available to the CGIs.
You can specify one or more optional resource files by using the resource_file directive in your main configuration file.
Object definition files are used to define hosts, services, hostgroups, contacts, contactgroups, commands, etc. This is where you define all the things you want to monitor and how you want to monitor them.
You can specify one or more object definition files by using the cfg_file and/or cfg_dir directives in your main configuration file, but it is advisable to stick to one type of directive (either cfg_dir or cfg_file until you understand the implications using both at a time).
An introduction to object definitions, and how they relate to each other, can be found here.
Your object definition files can in turn include other files using the include_file or include_dir directives. These can only occur outside of the actual object definitions, and behave very much like the cfg_file= and cfg_dir= directives in the main configuration file.
The CGI configuration file contains a number of directives that affect the operation of the CGIs. It also contains a reference to the main configuration file, so the CGIs know how you've configured Icinga and where your object definitions are stored.
Documentation for the CGI configuration file can be found here.
© 1999-2009 Ethan Galstad, 2009-2017 Icinga Development Team, https://www.icinga.com