Коллеги, кто как борется с такой ситуацией в плане отображения триггеров…
Имеем описание триггера «Административное состояние интерфейса E21: {ITEM.VALUE}»
Состояние триггеров можно просмотреть в двух менюшках:
1) "Monitoring" -> "Triggers"
2) "Monitoring" -> "Events"
Через первое меню удобно проводить так называемый «оперативный контроль», когда на экране отображаются только активные триггера, т.е. по активным проблемам. Через второе меню удобно анализировать «поведение» триггера в целом. Для обоих случаев с целью отображения текущего значения элемента вполне подходит макрос {ITEM.VALUE} (особенно если его пропатчить в части «valuemapped»). В результате его применения в описании триггера в окне "Monitoring" -> "Triggers" имеем те значения, которые актуальны именно в данные момент времени. А в окне "Monitoring" -> "Events" данный макрос будет отображать те значения элемента, которые были актуальны на момент смены состояния триггера как для статуса «PROBLEM», так и для статуса «OK».
Казалось бы, все хорошо! Но, ничто не вечно под луной…
И наступает период, который в конфигурации элемента (ITEM), называется «Keep history (in days)». В результате очистки «исторических» значений, триггер приобретает вот такой вид:
«Административное состояние интерфейса E21: -»
хотя до этого момента выглядел гораздо лучше:
«Административное состояние интерфейса E21: Down (0)»
Начинаешь разбираться почему так. Заходишь в меню: "Monitoring" -> "Latestdata" и видишь, что для данного элемента по-прежнему пишется:
«Интерфейс E21, административное 10 Aug 2011 17:45:19 Down (0) - Graph»
Но при этом, если здесь нажать «Graph» и посмотреть ВСЕ значения для данного элемента, то там будет пусто, т.к. сработал «Keep history (in days)».
Почему в меню "Monitoring" -> "Triggers" и "Monitoring" -> "Events" в качестве значения отображается прочерк, а для "Monitoring" -> "Latestdata" последнее состояние/значение находится?
Смотрим БД и видим, что:
select * from items where itemid=28543
*************************** 1. row ***************************
itemid: 28543
type: 2
snmp_community:
snmp_oid:
snmp_port: 161
hostid: 10189
description: Интерфейс E21, административное
key_: ifAdminStatus.1021
delay: 60
history: 90
trends: 365
lastvalue: 0
lastclock: 1312987519
prevvalue: NULL
status: 0
value_type: 3
<- обрезал ->
Параметр «lastvalue» равен нулю.
Данное обстоятельство наводит на мысль, а не использовать ли в описании триггера вместо макроса {ITEM.VALUE} макрос {ITEM.LASTVALUE}. Меняем и получаем:
1) В меню "Monitoring" -> "Triggers" триггер отображается как:
«Административное состояние интерфейса E21: Down (0)»
Вроде как все хорошо, но…
2) В меню "Monitoring" -> " Events " история состояния триггера отображается как:
Административное состояние интерфейса E21: Down (0) PROBLEM Warning 18h 35m 20s No Ok
Административное состояние интерфейса E21: Down (0) OK Warning 8m 23s No Ok
Административное состояние интерфейса E21: Down (0) PROBLEM Warning 1m 27s No Ok
Административное состояние интерфейса E21: Down (0) OK Warning 43m 48s No Ok
То есть, для всех изменений состояний «PROBLEM» и «OK» в качестве значения подставляется значение, которое отдает макрос {ITEM.LASTVALUE}, т.е. НУЛЬ, а это не правильно именно для исторических состояний триггеров «ОК», если такие имеются.
Вопрос в том, как можно сделать так, что бы в окне с активными триггерам «"Monitoring" -> "Triggers"», не смотря на возраст триггера и настройки параметра элемента «Keep history (in days)» все таки отображалось ПОСЛЕДНЕЕ значение, которое было получено элементом? А в меню "Monitoring" -> "Events" отображались «исторические» значения, которые подставляются макросом {ITEM.VALUE} и подчиняются параметру элемента «Keep history (in days)».
Есть ли у кого то подобная реализация?
На мой взгляд, что бы достичь вышеописанного, можно использовать в качестве «Keep history (in days)» большой интервал, например 365 дней и использовать в триггерах макрос {ITEM.VALUE}. Но тогда получим рост БД, что не хотелось бы. Или же, как вариант, что бы при очистке «исторических» значений, при любом интервале «Keep history (in days)» в любом случае оставалось последнее значение элемента.
Собственно, хотелось бы услышать ваше мнение и рекомендации.
Спасибо.
Имеем описание триггера «Административное состояние интерфейса E21: {ITEM.VALUE}»
Состояние триггеров можно просмотреть в двух менюшках:
1) "Monitoring" -> "Triggers"
2) "Monitoring" -> "Events"
Через первое меню удобно проводить так называемый «оперативный контроль», когда на экране отображаются только активные триггера, т.е. по активным проблемам. Через второе меню удобно анализировать «поведение» триггера в целом. Для обоих случаев с целью отображения текущего значения элемента вполне подходит макрос {ITEM.VALUE} (особенно если его пропатчить в части «valuemapped»). В результате его применения в описании триггера в окне "Monitoring" -> "Triggers" имеем те значения, которые актуальны именно в данные момент времени. А в окне "Monitoring" -> "Events" данный макрос будет отображать те значения элемента, которые были актуальны на момент смены состояния триггера как для статуса «PROBLEM», так и для статуса «OK».
Казалось бы, все хорошо! Но, ничто не вечно под луной…
И наступает период, который в конфигурации элемента (ITEM), называется «Keep history (in days)». В результате очистки «исторических» значений, триггер приобретает вот такой вид:
«Административное состояние интерфейса E21: -»
хотя до этого момента выглядел гораздо лучше:
«Административное состояние интерфейса E21: Down (0)»
Начинаешь разбираться почему так. Заходишь в меню: "Monitoring" -> "Latestdata" и видишь, что для данного элемента по-прежнему пишется:
«Интерфейс E21, административное 10 Aug 2011 17:45:19 Down (0) - Graph»
Но при этом, если здесь нажать «Graph» и посмотреть ВСЕ значения для данного элемента, то там будет пусто, т.к. сработал «Keep history (in days)».
Почему в меню "Monitoring" -> "Triggers" и "Monitoring" -> "Events" в качестве значения отображается прочерк, а для "Monitoring" -> "Latestdata" последнее состояние/значение находится?
Смотрим БД и видим, что:
select * from items where itemid=28543
*************************** 1. row ***************************
itemid: 28543
type: 2
snmp_community:
snmp_oid:
snmp_port: 161
hostid: 10189
description: Интерфейс E21, административное
key_: ifAdminStatus.1021
delay: 60
history: 90
trends: 365
lastvalue: 0
lastclock: 1312987519
prevvalue: NULL
status: 0
value_type: 3
<- обрезал ->
Параметр «lastvalue» равен нулю.
Данное обстоятельство наводит на мысль, а не использовать ли в описании триггера вместо макроса {ITEM.VALUE} макрос {ITEM.LASTVALUE}. Меняем и получаем:
1) В меню "Monitoring" -> "Triggers" триггер отображается как:
«Административное состояние интерфейса E21: Down (0)»
Вроде как все хорошо, но…
2) В меню "Monitoring" -> " Events " история состояния триггера отображается как:
Административное состояние интерфейса E21: Down (0) PROBLEM Warning 18h 35m 20s No Ok
Административное состояние интерфейса E21: Down (0) OK Warning 8m 23s No Ok
Административное состояние интерфейса E21: Down (0) PROBLEM Warning 1m 27s No Ok
Административное состояние интерфейса E21: Down (0) OK Warning 43m 48s No Ok
То есть, для всех изменений состояний «PROBLEM» и «OK» в качестве значения подставляется значение, которое отдает макрос {ITEM.LASTVALUE}, т.е. НУЛЬ, а это не правильно именно для исторических состояний триггеров «ОК», если такие имеются.
Вопрос в том, как можно сделать так, что бы в окне с активными триггерам «"Monitoring" -> "Triggers"», не смотря на возраст триггера и настройки параметра элемента «Keep history (in days)» все таки отображалось ПОСЛЕДНЕЕ значение, которое было получено элементом? А в меню "Monitoring" -> "Events" отображались «исторические» значения, которые подставляются макросом {ITEM.VALUE} и подчиняются параметру элемента «Keep history (in days)».
Есть ли у кого то подобная реализация?
На мой взгляд, что бы достичь вышеописанного, можно использовать в качестве «Keep history (in days)» большой интервал, например 365 дней и использовать в триггерах макрос {ITEM.VALUE}. Но тогда получим рост БД, что не хотелось бы. Или же, как вариант, что бы при очистке «исторических» значений, при любом интервале «Keep history (in days)» в любом случае оставалось последнее значение элемента.
Собственно, хотелось бы услышать ваше мнение и рекомендации.
Спасибо.

Comment