Nick
dZzz...mitry
Добрый день. Подскажите пожалуйста как правильно написать триггер.
dZzz...mitry
Данные берутся внешним выполеннием скрипта, на выходе получаю символьное значение NORMAL. создал триггер блаблабла.iregexp(normalek)}=1 где нормалек - регулярное выражение (Normal [Результат ИСТИНА], GOOD [Результат ИСТИНА]) сегодня вылетел винт и триггер не сработал.
Alexey
значение строковое как полагаю?
dZzz...mitry
да
Alexey
вам нужно кричать когда в строке есть что-то кроме нормал?
dZzz...mitry
да
Alexey
ща секунду
Alexey
.count(#1,NORMAL,ne)}=1
Alexey
https://www.zabbix.com/documentation/2.2/ru/manual/appendix/triggers/functions
Alexey
тут каунт поищите
Alexey
каунт выводит количество значений которые совпадают условию
Alexey
тут так получается. количество значений из 1 последнего значения где значение не Normal
Alexey
получается если последняя строка не нормал то количество будет равно 1 и сработает триггер. как только у вас появится нормал трриггер перейдет в состояние ОК
dZzz...mitry
спасибо большое. а может подскажете почему придуманный мой триггер не подходит.
dZzz...mitry
normalek это регулярное выражение
dZzz...mitry
в котором есть NORMAL
Alexey
вообщем потому что вы ищете вхождение нормал
Alexey
а вам надо было искать наоборот
Alexey
iregexp(регулярка,#1)}=0
dZzz...mitry
спасибо Вам, сейчас я проверю и отпишусь
Alexey
iregexp ищет внезависимости от регистра вхождение регулярки в последнем значении. так вот если найдет то дает 1 если нет то 0. вам надо 0 ловить чтобы на ошибки реагировать
dZzz...mitry
с регулярными выражениями так и не работает. а с count работает.
Адаптивный Рекомбинатор
А помогите с LLD.
Имеется скрипт который генерит JSON:
{ "data":[
{ "{#VMID}":"100","{#VMNAME}":"mgmt-node"},
{ "{#VMID}":"101","{#VMNAME}":"ansible"},
{ "{#VMID}":"102","{#VMNAME}":"win4us"} ] }
на jsonlint.com - валидация ок, заббикс же говорит - Value must be JSON
SS
может кавычки?
Адаптивный Рекомбинатор
так вроде стоят везде
SS
тип кавычек, но это первое что пришло на ум
Адаптивный Рекомбинатор
везде двойные, да
SS
может одинарные надо?
SS
хз ввобщем
Денис
Может еще посмотреть в сторону {} [] или их достаточно.
Целый день провозился на питоне со скобками и пустыми значениями во время итерации
SS
http://gramatik.ru/kogda-stavitsya-vosklitsatelnyj-znak/
SS
глаза режет
Денис
полегчало? Уже, просто пальцы заплетаются...
Roman
Roman
тоже бился, в моём случае помогло.
Адаптивный Рекомбинатор
пробовал
Roman
print ("""{
"data":[ """)
print (',\n'.join(['{ "{#CLI_HW_ADDR}":"%s", "{#CLI_IP}":"%s" }' % ( sEntry["mac"], sEntry["ip"]) for sEntry in loads(data)]))
print (']}')
Адаптивный Рекомбинатор
сделал так
Адаптивный Рекомбинатор
{ "data":
[
{ "{#VMID}":"100","{#VMNAME}":"mgmt-node"},
{ "{#VMID}":"101","{#VMNAME}":"ansible"},
{ "{#VMID}":"102","{#VMNAME}":"win4us"}
]
}
Адаптивный Рекомбинатор
но нет
Kamil
а если в одну строчку?
Nick
Джейсон валидный ?
Адаптивный Рекомбинатор
валидный
Адаптивный Рекомбинатор
в 1 строку наверно перебор
Адаптивный Рекомбинатор
у меня есть вот такой - тоже валидный
Адаптивный Рекомбинатор
и заббикс согласен
Адаптивный Рекомбинатор
{ "data": [ $
{ "{#JOBNAME}":"BackupClient1"},$
{ "{#JOBNAME}":"BackupCatalog"},$
{ "{#JOBNAME}":"RestoreFiles"},$
{ "{#JOBNAME}":"3333333-backup"},$
{ "{#JOBNAME}":"media-backup-mysql"},$
{ "{#JOBNAME}":"media-backup"},$
{ "{#JOBNAME}":"photo-backup"},$
{ "{#JOBNAME}":"123123-backup"},$
{ "{#JOBNAME}":"123123123123-backup"} ] }
Адаптивный Рекомбинатор
а вот с новым - не согласен ((
Адаптивный Рекомбинатор
ай, $ - конец строки
Roman
{
"data":[
{ "{#CLI_HW_ADDR}":"FF:FF:FF:FF:FF:FF", "{#CLI_IP}":"XXX.XXX.XXX.XXY"},
{ "{#CLI_HW_ADDR}":"FF:FF:FF:FF:FF:FF", "{#CLI_IP}":"XXX.XXX.XXX.XXY" }
]}
Nick
А через trapper принимает это Джейсон он? Который якобы валидный?
Nick
Если в одну строку
Адаптивный Рекомбинатор
пояни, пжлста
Nick
Ну ты ему через ллд пытаешься скормить Джейсон как? Через траппер?
Nick
Или через заббикс агента?
Nick
Я к тому что стоит разбить задачу на 2 части.
1 - понять что именно прилетает внутрь заббикса
2 - понять валидный ли Джейсон
Nick
Чтобы было понятно куда копать. Или Джейсон. Или может способ передачи его корраптит
Адаптивный Рекомбинатор
через агента
Alexey
Коллеги. подскажите годный способ слать email уведомления группе лиц одним письмом? чтобы было несколько человек в поле кому или даже поддержка поля копия? Для удобства продолжения переписки по проблеме этим лицам)
Kamil
Alexey
получается что-то вроде группы рассылки?
Alexey
просто группа рассылки на почтовом сервере.
Kamil
нет, это отдельный вид ящика, не рассылка
Адаптивный Рекомбинатор
разобрался
Kamil
но я предложил бы телеграм бота
Адаптивный Рекомбинатор
агент-то не под рутом
Адаптивный Рекомбинатор
вот я тупой
Alexey
а сейчас начальство хочет оффициальное письмо в почту когда проблема долго без комментария и там стращать ответственных
Alexey
Alexey
ладно. я понял. буду использовать группу рассылки. так проще. я вообще пока даж не знаю как слать письма штатными средствами заббикс. что в centos должно быть установлено для этого?
Kamil
" Для удобства продолжения переписки по проблеме этим лицам)" что пож этим понимается?
Kamil