Blog
Skip to end of metadata
Go to start of metadata
Представляю Вашему вниманию вариант организации связи NOC с Zabbix на уровне триггеров базы данных.
 
Версия PostgreSQL от 9.1
База Zabbix может быть как PostgreSQL так и MySQL.
Связь реализована на основе Foreign Data Wrappers (FDW) http://wiki.postgresql.org/wiki/Foreign_data_wrappers
 
Версия Zabbix 2.2.0, но это не принципиально.
Необходимо изменить только SQL с созданием внешних таблиц соответственно вашей версии Zabbix,
а в коде pgsql используются только id и переменные ROWTYPE.
 
Версия NOC значения не имеет, поскольку используются всего две таблицы:
- sa_managedobject поля NAME, ADDRESS
- sa_managedobjectattribute поля key (с содержимым 'platform'), value.
 
Порядок действий:
-----------------
Zabbix:
-----------------
1. Импортировать шаблоны. Хотя на самом деле можно использовать любые
только нужно заполнить таблицу соответствия в NOC (см. ниже).
2. Изменить тип индекса на уникальный для имени хоста ( runme_zabbix.sql ).
 

NOC:
-----------------
1. Пользователь noc должен быть суперюзером на время исполнения runme_noc.sql
Потом можно лишить его этой привилегии.
2. Перед тем как исполнить runme_noc.sql почитайте комментарии в скриптах.

В итоге при добавлении, изменении или удалении хоста в NOC
соответствующие изменения автоматически произойдут и в заббиксе.
Триггерная функция написана так, что при возникновении ошибки
транзакция в NOC безусловно произойдёт.

 

TAR c SQL скриптами и шаблонами для Zabbix доступен  http://yadi.sk/d/hhrJv1T6E5vGd