Zabbix-Vitrage Gateway

Consolidate Zabbix alerts from across multiple sites into a single “at-a-glance” console by using a custom Zabbix [alertscript](


Note: Don’t try to use zabbix with docker image to test, because requires some openstack libraries (oslo.messaging and oslo.config).

Copy the script into the Zabbix servers’ AlertScriptsPath directory which is by default /usr/lib/zabbix/alertscripts and make it executable:

$ wget
$ cp /usr/lib/zabbix/alertscripts/
$ chmod 755 /usr/lib/zabbix/alertscripts/

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:

  1. Create a new media type [Administration > Media Types > Create Media Type]

    Name: Vitrage Notifications
    Type: Script
    Script name:
    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@ <— 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:
    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

To test zabbix events and vitrage alarms, please see zabbix trigger documentation:

Vitrage configuration

  1. Add zabbix to list of datasources in /etc/vitrage/vitrage.conf

types = zabbix,,nova.instance,,static,aodh,cinder.volume,,neutron.port,heat.stack
  1. Add following section to /etc/vitrage/vitrage.conf

url = http://<ip>/zabbix  # URL to zabbix
password = zabbix
user = admin
config_file = /etc/vitrage/zabbix_conf.yaml
  1. Create /etc/vitrage/zabbix_conf.yaml with this content

- zabbix_host: Zabbix server
  name: Zabbix server
  1. Restart vitrage service in devstack/openstack