vitrage/doc/source/zabbix_vitrage.rst
Tovin Seven e2b21d516d Beautify, correct URLs in documentation files
- Beautify, re-indent, format code in a lot of doc files
- Use relative URLs instead of absolute github URLs
- Some absolute github urls are not corrected yet:
    + URL for enabling vitrage in devstack
    + URL for enabling vitrage in horizon
- Update year number in doc/source/config.py from 2013 to 2016

My thought: We should have a blueprint
    to create more concise and easy to access like other project
    (nova: http://docs.openstack.org/developer/nova/).
    Currently, that site for vitrage has not existed yet.

Notes: Change github URLs to relative URLs
    (or absolute URLs in docs.openstack.org/developers)
    will not work correctly
    if we do not have official documentation site.
    Hence, other people cannot follow the link to html page
    if they read vitrage documentation in github mirror.

Change-Id: Ifff8355c7e5291f68a7592d1617644053d790d5e
2016-11-18 04:34:55 +00:00

115 lines
3.6 KiB
ReStructuredText

Zabbix-Vitrage Gateway
======================
Consolidate Zabbix alerts from across multiple sites into a single "at-a-glance" console by using a custom Zabbix [alertscript](https://www.zabbix.com/documentation/3.0/manual/config/notifications/media/script).
Installation
------------
**Note:** Don't try to use zabbix with docker image to test, because ``zabbix_vitrage.py`` requires some openstack libraries (``oslo.messaging`` and ``oslo.config``).
Copy the ``zabbix_vitrage.py`` script into the Zabbix servers' ``AlertScriptsPath`` directory which is by default ``/usr/lib/zabbix/alertscripts`` and make it executable:
.. code-block:: bash
$ wget https://raw.githubusercontent.com/openstack/vitrage/master/vitrage/datasources/zabbix/auxiliary/zabbix_vitrage.py
$ cp zabbix_vitrage.py /usr/lib/zabbix/alertscripts/
$ chmod 755 /usr/lib/zabbix/alertscripts/zabbix_vitrage.py
Install ``oslo.messaging`` and ``oslo.config`` to zabbix host (may require root):
.. code:: bash
$ pip install oslo.messaging oslo.config
Zabbix web ui configuration
---------------------------
To forward zabbix events to Vitrage a new media script needs to be created and associated with a user. Follow the steps below as a Zabbix Admin user:
1. Create a new media type [Admininstration > Media Types > Create Media Type]
| **Name:** Vitrage Notifications
| **Type:** Script
| **Script name:** zabbix_vitrage.py
| **Script parameters**:
| **1st line:** {ALERT.SENDTO}
| **2nd line:** {ALERT.SUBJECT}
| **3rd line:** {ALERT.MESSAGE}
2. Modify the Media for the Admin user [Administration > Users]
| **Type:** Vitrage Notifications
| **Send to:** ``rabbit://rabbit_user:rabbit_pass@127.0.0.1:5672/`` <--- Vitrage message bus url
| **When active:** 1-7,00:00-24:00
| **Use if severity:** tick all options
| **Status:** Enabled
**Note:** Default ``rabbit_user/rabbit_pass`` for devstack rabbitmq is ``stackrabbit/secret``
3. Configure Action [Configuration > Actions > Create Action > Action]
| **Name:** Forward to Vitrage
| **Default Subject:** {TRIGGER.STATUS}
| **Add an operation:**
| **Send to Users:** Admin
| **Send only to:** Vitrage Notifications
| **Default Message:**
| host={HOST.NAME1}
| hostid={HOST.ID1}
| hostip={HOST.IP1}
| triggerid={TRIGGER.ID}
| description={TRIGGER.NAME}
| rawtext={TRIGGER.NAME.ORIG}
| expression={TRIGGER.EXPRESSION}
| value={TRIGGER.VALUE}
| priority={TRIGGER.NSEVERITY}
| lastchange={EVENT.DATE} {EVENT.TIME}
| **To send events add under the Conditions tab:**
| (A) Maintenance status not in `maintenance`
For a full list of trigger macros see https://www.zabbix.com/documentation/3.0/manual/appendix/macros/supported_by_location
To test zabbix events and vitrage alarms, please see zabbix trigger documentation: https://www.zabbix.com/documentation/3.2/manual/config/triggers/trigger
Vitrage configuration
---------------------
1. Add zabbix to list of datasources in ``/etc/vitrage/vitrage.conf``
.. code::
[datasources]
types = zabbix,nova.host,nova.instance,nova.zone,static_physical,aodh,cinder.volume,neutron.network,neutron.port,heat.stack
2. Add following section to ``/etc/vitrage/vitrage.conf``
.. code::
[zabbix]
url = http://<ip>/zabbix # URL to zabbix
password = zabbix
user = admin
config_file = /etc/vitrage/zabbix_conf.yaml
2. Create ``/etc/vitrage/zabbix_conf.yaml`` with this content
.. code ::
zabbix:
- zabbix_host: Zabbix server
type: nova.host
name: Zabbix server
4. Restart vitrage service in devstack/openstack
DONE
----