LINUX.ORG.RU

Сообщения alsarins

 

zabbix, вопросы по автообнаружению (LLD)

Форум — General

Подскажите по zabbix. Есть задача: динамически мониторить табличные пространства в БД Oracle и их динамику (размер). Т.е.
А) нужно автоматически определять текущий набор табличных пространств в базах (используя JSON формат обнаружения)
Б) отдавать по ним текущий размер (с этим пока и проблема)

Задачу (А) планируется решить так:
1. на агенте добавляем параметр:
UserParameter=oracle.tbs.discovery[*],script_name1
(пока скрипт фейковый, просто генерирует JSON формат данных. Заменю на реальные когда разберусь с zabbix)

вывод скрипта:

{
«data»:[

{ «{#TABLESPACE}»:«SYSTEM»},
{ «{#TABLESPACE}»:«TEMP»},
{ «{#TABLESPACE}»:«UNDOTBS»}

]
}

2. создаем правило обнаружения для хоста:

имя = tablespace_auto_discovery
тип = Zabbix agent
ключ = oracle.tbs.discovery
макрос = {#TABLESPACE}

3. создаем прототип данных для обнаружения:

имя = tablespace {#TABLESPACE}
тип = Zabbix agent
ключ = oracle.tbs.discovery[{#TABLESPACE},name]
тип = текст

Результат: в zabbix для хоста успешно добавляются параметры:
название = tablespace SYSTEM, ключ = oracle.tbs.discovery[SYSTEM,name]
название = tablespace TEMP, ключ oracle.tbs.discovery[TEMP,name]
название = tablespace UNDOTBS, ключ oracle.tbs.discovery[UNDOTBS,name]

Вопрос: как теперь решить задачу (Б) и на сервер передавать доп. данные по размеру этого динамического параметра (в моем случае размер табличного пространства)? Т.е. чтобы появился параметр с ключем oracle.tbs.discovery[SYSTEM,size] (а лучше oracle.tbs[SYSTEM,size]) и принимал целочисленные значения? Желательно чтобы агент сам отправлял этот параметр, а не сервер запрашивал с агента (zabbix_sender, zabbix trap?)

Думал сначала, что это делается по аналогии, но это очевидно не так. Когда я дополнительно другим параметром агента отправляю на сервер данные в JSON формате вида:

{
«data»:[

{ «{#TS_NAME}»:«SYSTEM», «{#TS_SIZE}»:«8» },
{ «{#TS_NAME}»:«TEMP», «{#TS_SIZE}»:«12» }

]
}

+ создаю правило обнаружения по фильтру #TS_SIZE + прототип данных , то значением является не число, а текст в JSON формате, т.е. по сути я реализовываю просто автообнаружение еще одного параметра, без получения его значения

 , , ,

alsarins
()

RSS подписка на новые темы