- 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
3.6 KiB
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:
$ 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):
$ 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:
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}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: EnabledNote: Default
rabbit_user/rabbit_pass
for devstack rabbitmq isstackrabbit/secret
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 NotificationsDefault 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
- Add zabbix to list of datasources in
/etc/vitrage/vitrage.conf
[datasources]
types = zabbix,nova.host,nova.instance,nova.zone,static_physical,aodh,cinder.volume,neutron.network,neutron.port,heat.stack
- Add following section to
/etc/vitrage/vitrage.conf
[zabbix]
url = http://<ip>/zabbix # URL to zabbix
password = zabbix
user = admin
config_file = /etc/vitrage/zabbix_conf.yaml
- Create
/etc/vitrage/zabbix_conf.yaml
with this content
zabbix: - zabbix_host: Zabbix server type: nova.host name: Zabbix server
- Restart vitrage service in devstack/openstack