3627ab1944
Change-Id: I655cd0b2a8871ec47ec92006bc7179a96ad13f83
120 lines
4.0 KiB
ReStructuredText
120 lines
4.0 KiB
ReStructuredText
===========================
|
|
Nagios Plugin Configuration
|
|
===========================
|
|
|
|
Configure Access to Nagios
|
|
--------------------------
|
|
|
|
The following should be set in **/etc/vitrage/vitrage.conf**, under [nagios] section:
|
|
|
|
+------------------+---------------------------------------------------------+-------------------------------+
|
|
| Name | Description | Default Value |
|
|
+==================+=========================================================+===============================+
|
|
| user | Nagios user | |
|
|
+------------------+---------------------------------------------------------+-------------------------------+
|
|
| password | Nagios password | |
|
|
+------------------+---------------------------------------------------------+-------------------------------+
|
|
| url | Nagios url for querying the data | |
|
|
+------------------+---------------------------------------------------------+-------------------------------+
|
|
| config_file | Nagios configuration file | /etc/vitrage/nagios_conf.yaml |
|
|
+------------------+---------------------------------------------------------+-------------------------------+
|
|
| changes_interval | Interval of checking changes in the configuration files | 30 seconds |
|
|
+------------------+---------------------------------------------------------+-------------------------------+
|
|
|
|
**Note:** To avoid issues with paging, it is recommended for the URL to be of
|
|
the form *http://<nagios site url>/cgi-bin/status.cgi*, which returns all the
|
|
nagios tests.
|
|
|
|
Nagios access configuration - example
|
|
+++++++++++++++++++++++++++++++++++++
|
|
|
|
When installing Nagios on devstack with IP 10.20.30.40, following
|
|
the instructions here_, this would be the correct configuration:
|
|
|
|
.. _here: https://github.com/openstack/vitrage/blob/master/doc/source/nagios-devstack-installation.rst
|
|
|
|
::
|
|
|
|
[nagios]
|
|
user = omdadmin
|
|
password = omd
|
|
url = http://10.20.30.40:54321/my_site/nagios/cgi-bin/status.cgi
|
|
config_file = /etc/vitrage/nagios_conf.yaml
|
|
|
|
Configure Nagios Host Mapping
|
|
-----------------------------
|
|
|
|
Nagios tests are defined in a table with columns: Host, Service, Status, Last
|
|
Check, etc.
|
|
|
|
A Nagios "host" is not necessarily a resource of type "nova.host". It can also
|
|
be an instance, switch, or other resource types. **nagios_conf.yaml** is used
|
|
to map each Nagios host to a Vitrage resource.
|
|
|
|
Format
|
|
++++++
|
|
|
|
::
|
|
|
|
nagios:
|
|
- nagios_host: <Host as appears in Nagios>
|
|
type: <resource type in Vitrage>
|
|
name: <resource name in Vitrage>
|
|
|
|
- nagios_host: <Host as appears in Nagios>
|
|
type: <resource type in Vitrage>
|
|
name: <resource name in Vitrage>
|
|
|
|
...
|
|
|
|
Note that for ease of use, there is support for wildcards in the "nagios_host"
|
|
value, and references to the actual value for a given wildcard match. See
|
|
**Example 2** below.
|
|
|
|
|
|
|
|
Example 1
|
|
+++++++++
|
|
|
|
The following example is for a system with two hosts. In nagios they are named
|
|
*compute-0, compute-1*, and in nova they are named *host-1, host-2*.
|
|
|
|
::
|
|
|
|
nagios:
|
|
- nagios_host: compute-0
|
|
type: nova.host
|
|
name: host1
|
|
|
|
- nagios_host: compute-1
|
|
type: nova.host
|
|
name: host2
|
|
|
|
Example 2
|
|
+++++++++
|
|
|
|
The following file will
|
|
- map all Nagios hosts named host-*<some_suffix>* or *<some_prefix>*-devstack
|
|
to resources of type nova.host with the same name.
|
|
- map all Nagios hosts named instance-*<some_suffix>* to nova.instance
|
|
resources.
|
|
|
|
Note how the *${nagios_host}* references the instantiation of the regex defined
|
|
in nagios_host.
|
|
|
|
::
|
|
|
|
nagios:
|
|
- nagios_host: host-(.*)
|
|
type: nova.host
|
|
name: ${nagios_host}
|
|
|
|
- nagios_host: (.*)-devstack
|
|
type: nova.host
|
|
name: ${nagios_host}
|
|
|
|
- nagios_host: instance-(.*)
|
|
type: nova.instance
|
|
name: ${nagios_host}
|
|
|