mirror of
https://github.com/ceph/ceph
synced 2024-12-22 11:31:55 +00:00
52deebaa5c
The old link references a 2017 version of the template, I experienced problems using this version of the template with the latest version of Ceph. Ceph would report "Failed to send data to Zabbix", by importing the newer 2019 version of the template within Zabbix Ceph could again send data (due to changed Zabbix Trapper item keys). Propose to replace the link for a link referencing the master branch of the template so the newest version is always referenced in the docs. Signed-off-by: Mathijs Smit <m.smit@goldenvalue.nl>
154 lines
3.5 KiB
ReStructuredText
154 lines
3.5 KiB
ReStructuredText
Zabbix Module
|
|
=============
|
|
|
|
The Zabbix module actively sends information to a Zabbix server like:
|
|
|
|
- Ceph status
|
|
- I/O operations
|
|
- I/O bandwidth
|
|
- OSD status
|
|
- Storage utilization
|
|
|
|
Requirements
|
|
------------
|
|
|
|
The module requires that the *zabbix_sender* executable is present on *all*
|
|
machines running ceph-mgr. It can be installed on most distributions using
|
|
the package manager.
|
|
|
|
Dependencies
|
|
^^^^^^^^^^^^
|
|
Installing zabbix_sender can be done under Ubuntu or CentOS using either apt
|
|
or dnf.
|
|
|
|
On Ubuntu Xenial:
|
|
|
|
::
|
|
|
|
apt install zabbix-agent
|
|
|
|
On Fedora:
|
|
|
|
::
|
|
|
|
dnf install zabbix-sender
|
|
|
|
|
|
Enabling
|
|
--------
|
|
You can enable the *zabbix* module with:
|
|
|
|
::
|
|
|
|
ceph mgr module enable zabbix
|
|
|
|
Configuration
|
|
-------------
|
|
|
|
Two configuration keys are vital for the module to work:
|
|
|
|
- zabbix_host
|
|
- identifier (optional)
|
|
|
|
The parameter *zabbix_host* controls the hostname of the Zabbix server to which
|
|
*zabbix_sender* will send the items. This can be a IP-Address if required by
|
|
your installation.
|
|
|
|
The *identifier* parameter controls the identifier/hostname to use as source
|
|
when sending items to Zabbix. This should match the name of the *Host* in
|
|
your Zabbix server.
|
|
|
|
When the *identifier* parameter is not configured the ceph-<fsid> of the cluster
|
|
will be used when sending data to Zabbix.
|
|
|
|
This would for example be *ceph-c4d32a99-9e80-490f-bd3a-1d22d8a7d354*
|
|
|
|
Additional configuration keys which can be configured and their default values:
|
|
|
|
- zabbix_port: 10051
|
|
- zabbix_sender: /usr/bin/zabbix_sender
|
|
- interval: 60
|
|
- discovery_interval: 100
|
|
|
|
Configuration keys
|
|
^^^^^^^^^^^^^^^^^^^
|
|
|
|
Configuration keys can be set on any machine with the proper cephx credentials,
|
|
these are usually Monitors where the *client.admin* key is present.
|
|
|
|
::
|
|
|
|
ceph zabbix config-set <key> <value>
|
|
|
|
For example:
|
|
|
|
::
|
|
|
|
ceph zabbix config-set zabbix_host zabbix.localdomain
|
|
ceph zabbix config-set identifier ceph.eu-ams02.local
|
|
|
|
The current configuration of the module can also be shown:
|
|
|
|
::
|
|
|
|
ceph zabbix config-show
|
|
|
|
|
|
Template
|
|
^^^^^^^^
|
|
A `template <https://raw.githubusercontent.com/ceph/ceph/master/src/pybind/mgr/zabbix/zabbix_template.xml>`_.
|
|
(XML) to be used on the Zabbix server can be found in the source directory of the module.
|
|
|
|
This template contains all items and a few triggers. You can customize the triggers afterwards to fit your needs.
|
|
|
|
|
|
Multiple Zabbix servers
|
|
^^^^^^^^^^^^^^^^^^^^^^^
|
|
It is possible to instruct zabbix module to send data to multiple Zabbix servers.
|
|
|
|
Parameter *zabbix_host* can be set with multiple hostnames separated by commas.
|
|
Hosnames (or IP adderesses) can be followed by colon and port number. If a port
|
|
number is not present module will use the port number defined in *zabbix_port*.
|
|
|
|
For example:
|
|
|
|
::
|
|
|
|
ceph zabbix config-set zabbix_host "zabbix1,zabbix2:2222,zabbix3:3333"
|
|
|
|
|
|
Manually sending data
|
|
---------------------
|
|
If needed the module can be asked to send data immediately instead of waiting for
|
|
the interval.
|
|
|
|
This can be done with this command:
|
|
|
|
::
|
|
|
|
ceph zabbix send
|
|
|
|
The module will now send its latest data to the Zabbix server.
|
|
|
|
Items discovery is accomplished also via zabbix_sender, and runs every `discovery_interval * interval` seconds. If you wish to launch discovery
|
|
manually, this can be done with this command:
|
|
|
|
::
|
|
|
|
ceph zabbix discovery
|
|
|
|
|
|
Debugging
|
|
---------
|
|
|
|
Should you want to debug the Zabbix module increase the logging level for
|
|
ceph-mgr and check the logs.
|
|
|
|
::
|
|
|
|
[mgr]
|
|
debug mgr = 20
|
|
|
|
With logging set to debug for the manager the module will print various logging
|
|
lines prefixed with *mgr[zabbix]* for easy filtering.
|