Ad Widget

Collapse

Внешние скрипты или крон+заббикс траппер

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • oksidant
    Member
    • Jun 2012
    • 46

    #1

    Внешние скрипты или крон+заббикс траппер

    Всем привет!

    Подскажите, пожалуйста.
    У меня делема какой тип получение значений использовать.
    Внешние скрипты, которые заббикс будет запускать самостоятельно.

    Либо использовать запуск скриптов по крону и отправка значение через заббикс_сендер.

    Плюсы первого - не нужно плодить кучу записей в кроне.
    Минусы - запись в документации, что не использовать external scripts слишком часто.

    Так вот вопрос - слошком часто - это как?
    У меня предполагается не более 10 параметров собирать данным способом с не боллее 30 хостов. Интервал в среднем раз в пять минут.

    Спасибо.
  • Jimson
    Senior Member
    • Jan 2008
    • 1327

    #2
    "слишком часто" это вопрос не к забиксу а к системе/серверу
    10 параметров с 30 хостов раз в 5 минут это 1 system exec в секунду, это не "слишком часто"

    Я стараюсь все реализовывать через траппер, вот только никаких кронов, запуск скрипта через крон это таже самая внешняя проверка, за той лишь разницей что system exec делает /usr/sbin/cron, а не /usr/local/sbin/zabbix_server. Но для 1 одного чека в секунду городить огород смысла не имеет.

    Comment

    • yukra
      Senior Member
      • Apr 2013
      • 1359

      #3
      Внешние скрипты (вы ведь про внешние проверки aka external scripts aka https://www.zabbix.com/documentation...types/external )- то они запускаются с заббикс-сервера. Можно конечно понаписать скриптов что бы они ходили по ssh на клиенты, что то там смотрели и возвращали, но это идеологически неверно. Они придуманны например что бы сделать nmap с сервера и проверить открыт ли на клиенте (со стороны сервера) порт 1234 или что то в этом роде.

      Теперь перейдем к ситуации: нее, мы хотим скрипт на клиенте. Тогда есть 2 варианта: 1) Мы хотим каждые 5 минут выполнять скрипт и видеть значение 2) Мы хотим видет значение при наступлении определенного события.
      Решения: 1) Например мы хотим каждые 5 минут видеть колво пользователей в системе, делаем пользовательскую проверку ( https://www.zabbix.com/documentation...userparameters ) и в качестве команды указываем что то типа
      Code:
      w | head -n 1 | awk '{print $4}'
      (не стоит этот код использовать в продакшене

      2) Например у нас есть SVN репозитарий и мы хотим в заббиксе видеть текущую ревизию репозитария в заббиксе. Бегать каждые 5 минут проверять скриптом конечно можно, но както не правильно, особенно если коммитят в этот реп раз в полгода. Тогда мы берем и делаем хук который после каждого коммита в репу будет слать траппером ( https://www.zabbix.com/documentation...mtypes/trapper ) в заббикс текущую версию репозитария.

      На мой взгляд вот такая примерно идеология правильная. По поводу " Минусы - запись в документации, что не использовать external scripts слишком часто" как сказал Jimson все очень субъективно и сильно зависит от железа и потребнойстей.

      Comment

      • oksidant
        Member
        • Jun 2012
        • 46

        #4
        Всем спасибо!

        Да, я именно про external scripts.
        Но мне не нужно, чтобы эти скрипты ходили по ssh на клиента. Наоборот, нужно выполнять их удаленно, т.е. это именно проверка возможности удаленного подключения к клиенту.

        Исходя из ваших сообщений, делаю вывод, что в принципе делать такие проверки не противопоказано, и для моих целей

        Comment

        Working...