Size: a a a

Zabbix Russian Community

2020 April 04

A

Alexander in Zabbix Russian Community
Inetov
а чем они могут тут подойти?
я почитал про эти команды, но так и не понял чем они лучше или какую функциональность добавят. приведённый выше вызов работает. единственный минус, который я вижу - заббикс не узнает, если во время запуска скрипта произойдёт ошибка (не во время выполнения, а именно запуска - неправильное имя файла, например)
в скрипте сендером в самом начале и в конце пихаешь в айтем отработки задания 1 и 0. начал скрипт работать - айтем стал 1. отработал - стал 0. лови как тебе удобно отработку скрипта - проще всего по времени ловить, почему айтем не вернулся в 0 по завершению
источник

I

Inetov in Zabbix Russian Community
Alexander
про саму задачу расскажи
выполнить проверку внешним скриптом, который может выполняться до минуты в нормальном режиме, если коротко.
а в заббиксе есть ограничение в 30 сек на выполнение внешней проверки.
источник

I

Inetov in Zabbix Russian Community
Alexander
в скрипте сендером в самом начале и в конце пихаешь в айтем отработки задания 1 и 0. начал скрипт работать - айтем стал 1. отработал - стал 0. лови как тебе удобно отработку скрипта - проще всего по времени ловить, почему айтем не вернулся в 0 по завершению
спасибо, полезно. только как сделать, чтоб триггер сразу не сработал?
источник

RM

Roman Monakhov in Zabbix Russian Community
Пардон, но сдаётся мне, что всё можно было решить через ansible.
источник

A

Alexander in Zabbix Russian Community
Inetov
спасибо, полезно. только как сделать, чтоб триггер сразу не сработал?
время дай ему для сработки
источник

A

Alexander in Zabbix Russian Community
Inetov
выполнить проверку внешним скриптом, который может выполняться до минуты в нормальном режиме, если коротко.
а в заббиксе есть ограничение в 30 сек на выполнение внешней проверки.
до минуты - крон+сендер
источник

I

Inetov in Zabbix Russian Community
знатоки, это не баг, случаем, в заббиксе?
мне в общем-то не особо важно, но поведение заббикса и консоли отличается:
если вызвать скрипт-обёртку в консоли, то внутри него достаточно написать
./script_name.sh &
и управление сразу возвращается (т.е. без ожидания результата)
а заббикс с этим же скриптом будет ждать завершения script_name.sh
при этом если в скрипте-обёртке написать
./script_name.sh > /dev/null 2>&1 &
то заббикс не будет ждать его завершения
источник

A

Alexander in Zabbix Russian Community
выше про nohup писали тебе
источник

I

Inetov in Zabbix Russian Community
Alexander
выше про nohup писали тебе
как именно он тут должен помочь? пробовал и с ним и без - разницы не вижу
источник

A

Alexander in Zabbix Russian Community
я не знаю, что ты пробуешь
источник

A

Alexander in Zabbix Russian Community
и не знаю, что ты делаешь
источник

A

Alexander in Zabbix Russian Community
здрасьте. у меня айтем вот такой, ключ такой. дергаю такой юзерпараметр, скрипт такой, руками работает так, из заббикса работает вот так. вот лог, вот время выполения
источник

A

Alexander in Zabbix Russian Community
Inetov
знатоки, это не баг, случаем, в заббиксе?
мне в общем-то не особо важно, но поведение заббикса и консоли отличается:
если вызвать скрипт-обёртку в консоли, то внутри него достаточно написать
./script_name.sh &
и управление сразу возвращается (т.е. без ожидания результата)
а заббикс с этим же скриптом будет ждать завершения script_name.sh
при этом если в скрипте-обёртке написать
./script_name.sh > /dev/null 2>&1 &
то заббикс не будет ждать его завершения
плохой дизайн порождать такие процессы. вангую, у тебя нет проверки, что предыдущий скрипт отработал - потенциально ты можешь их наплодить много
источник

IA

Ilya Ableev in Zabbix Russian Community
flock
источник

I

Inetov in Zabbix Russian Community
Alexander
я не знаю, что ты пробуешь
в заббиксе внешняя проверка запускает скрипт test_run.sh, его содержимое:
echo "start"
/usr/lib/zabbix/externalscripts/sleep_script.sh 31 &

содержимое sleep_script.sh:
sleep $1
echo "after sleep"

результат: заббикс прервёт выполнение по таймауту.
если же перенаправить вывод в скрипте test_run.sh:
/usr/lib/zabbix/externalscripts/sleep_script.sh 31 > /dev/null 2>&1 &
то прерывания не будет, заббикс получит значение "start"

так понятно?
источник

C

Combot in Zabbix Russian Community
🌟 Inetov has reached level 3!
источник

MC

Maxim Chudinov in Zabbix Russian Community
Inetov
выполнить проверку внешним скриптом, который может выполняться до минуты в нормальном режиме, если коротко.
а в заббиксе есть ограничение в 30 сек на выполнение внешней проверки.
Засунь свой скрипт в system.run без ожидания результата. Только, как сказали выше, учти время его выполнения и поставь интервал для item больше
источник

I

Inetov in Zabbix Russian Community
Alexander
плохой дизайн порождать такие процессы. вангую, у тебя нет проверки, что предыдущий скрипт отработал - потенциально ты можешь их наплодить много
согласен, но лучше варианта пока не нашёл
источник

I

Inetov in Zabbix Russian Community
Maxim Chudinov
Засунь свой скрипт в system.run без ожидания результата. Только, как сказали выше, учти время его выполнения и поставь интервал для item больше
на сколько я понял - это можно сделать только через агента, а это в свою очередь потребует создание нового агента (так как один там уже есть и его конфигом я не управляю, а по умолчанию опция EnableRemoteCommands выключена.
источник

MC

Maxim Chudinov in Zabbix Russian Community
Inetov
на сколько я понял - это можно сделать только через агента, а это в свою очередь потребует создание нового агента (так как один там уже есть и его конфигом я не управляю, а по умолчанию опция EnableRemoteCommands выключена.
Тогда читать man cron  и zabbix_sender. Увеличением таймаута для всего сервера посадишь в очередь все собираемые метрики из-за десятка собираемых больше 30 секунд
источник