Size: a a a

Мониторинг

2019 March 02

AG

Alex Gluck in Мониторинг
И уж точно не говорил о том что Владышев приезжал и плечами пожимал
источник

AK

Andrey Konovalov in Мониторинг
Тут суть не в скрипте, а в том, что непонятно, что происходит в момент запуска remote command'ы. Вернее, в какой момент она запускается.
Ну и у Вас/тебя же нет такой штуки, так что бы, да кабы - не канает. У меня тоже очень нехило забубёно сложного фвункционала над zabbix'ом, но вот да, есть вещи, которые мне видятся неочевидными и доходят тяжело. Судя по issue с t- arget list'ом и запуском на сервере - не только у меня так, этот момент реально сделан весьма мутно.
источник

AK

Andrey Konovalov in Мониторинг
Alex Gluck
И уж точно не говорил о том что Владышев приезжал и плечами пожимал
Он не пожимал, а сказал просто, что они в курсе и работают над этим. В частности, над нормальным API, которое не кусок тормозного PHP, лезущего в базу и IT Service'ов, которые работают нормально, когда их там от силы несколько сотен.
источник

AG

Alex Gluck in Мониторинг
Andrey Konovalov
Тут суть не в скрипте, а в том, что непонятно, что происходит в момент запуска remote command'ы. Вернее, в какой момент она запускается.
Ну и у Вас/тебя же нет такой штуки, так что бы, да кабы - не канает. У меня тоже очень нехило забубёно сложного фвункционала над zabbix'ом, но вот да, есть вещи, которые мне видятся неочевидными и доходят тяжело. Судя по issue с t- arget list'ом и запуском на сервере - не только у меня так, этот момент реально сделан весьма мутно.
Я заглянул в схемы бд и исходники. Всё примитивно наколеночно
источник

OK

Oleg Kostikov in Мониторинг
источник
2019 March 04

AK

Andrey Konovalov in Мониторинг
Мне нужно на прокси дёргать скрипт. В принципе можно zabbix_get'ом, но решение какое-то очень костыльное.
источник

AK

Andrey Konovalov in Мониторинг
Ну т.е. оно, например, будет работать только если есть доступ с сервера до прокси по порту 10050. У нас не везде есть такой доступ, всё рассчитано на то, что прокси пушит данные в сервер.
источник

AK

Andrey Konovalov in Мониторинг
Alex Gluck
Я не полностью понимаю твою задачу, но уверен что это скучный примитив который я даже с учётом написания и тестирования скрипта сделал бы минут за 30
В результате оно так не работает, как ты описал, к сожалению.
А mediatype-скрипт отработает на сервере, с которого нет доступа к целевым хостам по SNMP (мне это необходимо).
источник

OK

Oleg Kostikov in Мониторинг
Andrey Konovalov
Ну т.е. оно, например, будет работать только если есть доступ с сервера до прокси по порту 10050. У нас не везде есть такой доступ, всё рассчитано на то, что прокси пушит данные в сервер.
Если я правильно понял из вашей беседы, речь шла о том, чтобы скрипт вносил некие изменения через api. Для этого он должен запускаться на сервере, а не на прокси.
источник

AK

Andrey Konovalov in Мониторинг
Oleg Kostikov
Если я правильно понял из вашей беседы, речь шла о том, чтобы скрипт вносил некие изменения через api. Для этого он должен запускаться на сервере, а не на прокси.
Олег, не совсем.
API имеет дело с базой.
Хост в момент запуска команды 100% есть уже в базе.
Запрос в БД из remote_command "увидит" хост, точно так же как и API его увидит, с этим нет проблем.

Проблема в том, что remote commands спроектированы каким-то очень странным образом: доюиться того, чтобы скрипт просто выполнился на нужном хосте (zabbix-прокси в данном случае) - крайне сложно.
И краеугольный вопрос здесь: где описана логика этого (чудесного!!!! мы же позитивные люди) target list'а ?
источник

AK

Andrey Konovalov in Мониторинг
Я имею в виду: где она в исходниках. Документация в данном случае не полна и не точна, это просто отписка в чистом виде
источник

AK

Andrey Konovalov in Мониторинг
источник

AK

Andrey Konovalov in Мониторинг
Поменял target host на zabbix-server. Имеем вот такое бредовое сообщение. Видать, оно реально попыталось запустить на zabbix-сервере.
источник

OK

Oleg Kostikov in Мониторинг
"Хост в момент запуска команды 100% есть уже в базе"
В том и дело, что нет. Для api он там будет только после обновления кэша конфигурации
источник

AK

Andrey Konovalov in Мониторинг
Сейчас я уже отчаялся просто и решил запустить через ssh эту несчастную команду.
С заббикс-агентом всё плохо, потому что у нас есть общая политика для агентов - запрет Remote Commands, он продиктован безопасниками и PCI DSS
источник

AK

Andrey Konovalov in Мониторинг
Oleg Kostikov
"Хост в момент запуска команды 100% есть уже в базе"
В том и дело, что нет. Для api он там будет только после обновления кэша конфигурации
Гм... На этот случай я могу просто вставить ожидание появления хоста в базе. Но реально пока проблема сугубо в том, что скрипт просто тупо не запускается, а не в том, что он запускается, но не видит хоста. Дальше в своём скрипте я могу сколь угодно сложнуб логику реализовать, лишь до него вообще дело дошло.
источник

OK

Oleg Kostikov in Мониторинг
Я что хотел сказать всем этим: есть макрос {HOST.IP}, который, как выяснилось, получает ip сразу, и при условии уникальности ip для хостов однозначно характеризует хост. Значит, его можно сразу передать в скрипт, а дальше вставить в скрипт или задержку, или дергать обновление конфига.
источник

AK

Andrey Konovalov in Мониторинг
Oleg Kostikov
Я что хотел сказать всем этим: есть макрос {HOST.IP}, который, как выяснилось, получает ip сразу, и при условии уникальности ip для хостов однозначно характеризует хост. Значит, его можно сразу передать в скрипт, а дальше вставить в скрипт или задержку, или дергать обновление конфига.
{HOST.IP} получает IP для хоста из target list, судя по моим экспериментам.
Кстати, скрипт для экспериментов на всякий случай:
https://pastebin.com/p6pp7A49
источник

AK

Andrey Konovalov in Мониторинг
Там нужно сделать файл setenv.conf только, чтобы можно было смотреть mysql'ем, есть ли вообще хост или нет
источник

AK

Andrey Konovalov in Мониторинг
Жизнеутверждающее issue на эту же тему https://support.zabbix.com/browse/ZBX-11543
источник