Недавно наконец переехали с Zabbix первой линейки на 2.0.4
всё отлично переезжает кроме мониторинга nginx.
Что было:
есть скрипт nginx_stats.sh (немного переписанный от оригинального)
вызывается он из Заббикса как внешняя проверка
скрипт ждёт на входе два параметра имя хоста и параметр для сбора.
в первой линейке заббикса внешняя проверка автоматически первым параметром передавала имя хоста,а вторым и последующими - пользовательские параметры.
проблема решилась очень просто в второй версии
я просто стал передавать IP хоста первым параметром:
и сбор наладился.
На этом я успокоился.
---------------------------------------
НО! мне наткнулся на проблемы когда стал строить агрегативные графики по группам , а именно
выдает такую ошибку
No items for key nginx_stats.sh*UNKNOWN*,active in group(s) content
получается что параметр {HOST.CONN} имеет в данном случае значения.
Как варианты решения я вижу следующие варианты
1. Использовать макрос заместо {HOST.CONN}
пока ковырял макросы понял как использовать в пользовательских макросах системные переменные:
т.е. {$H3} =$HOSTNAME - мне возвращает имя хоста где работает скрипт (zabbix...)
но, задав {$H3} =$HOST.CONN - я получил строку ".CONN" , потому что переменная $HOST -пустая, а точку он воспринимает как конкатинацию
Вопрос №1. Можно ли как то это победить?
всё отлично переезжает кроме мониторинга nginx.
Что было:
есть скрипт nginx_stats.sh (немного переписанный от оригинального)
вызывается он из Заббикса как внешняя проверка
Code:
nginx_stats.sh[active]
в первой линейке заббикса внешняя проверка автоматически первым параметром передавала имя хоста,а вторым и последующими - пользовательские параметры.
проблема решилась очень просто в второй версии
я просто стал передавать IP хоста первым параметром:
Code:
nginx_stats.sh[{HOST.CONN},active]
На этом я успокоился.
---------------------------------------
НО! мне наткнулся на проблемы когда стал строить агрегативные графики по группам , а именно
Code:
grpsum["content","nginx_stats.sh[{HOST.CONN},active]","last","0"]
No items for key nginx_stats.sh*UNKNOWN*,active in group(s) content
получается что параметр {HOST.CONN} имеет в данном случае значения.
Как варианты решения я вижу следующие варианты
1. Использовать макрос заместо {HOST.CONN}
пока ковырял макросы понял как использовать в пользовательских макросах системные переменные:
Code:
если переменная {HOSTNAME} то в макросе её нужно использовать как $HOSTNAME
но, задав {$H3} =$HOST.CONN - я получил строку ".CONN" , потому что переменная $HOST -пустая, а точку он воспринимает как конкатинацию
Вопрос №1. Можно ли как то это победить?
Comment