Ad Widget

Collapse

Как прикрутить bash скрипт к Zabbix?

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • dyuha85
    Member
    • Aug 2012
    • 41

    #1

    Как прикрутить bash скрипт к Zabbix?

    Добрый день!

    Стоит задача мониторить сайт. В случае если сайт хакнули и изменили контент сайта, то Zabbix должен отослать алерт.

    Нашёл bash скрипты
    здесь и здесь

    Сами по себе они не плохо работают, но хотелось бы реализовать это через Zabbix. Просто я не имею представления как внедрять в Zabbix bash скрипты.

    Подскажите пожалуйста куда копать.

    Заранее благодарю.
  • AlexP
    Junior Member
    • Jul 2013
    • 2

    #2
    Привет!!! В конгфиге твоего zabbix сервера есть строчка AlertScriptsPath (или можно указать свою папку) её необходимо раскоментировать сохранить и перезапустить zabbix server.
    2.Положить сам скрипт по пути указанному в строчке AlertScriptsPath

    Comment

    • EAK
      Junior Member
      • Oct 2009
      • 24

      #3
      В файле zabbix_agentd.conf прописывается строка:
      UserParameter=ключ,команда
      В самом Zabbix создается элемент данных с таким ключом. И, соответственно, будет выдавать результат выполнения команды.
      Подробнее написано в документации, в разделе "Пользовательские параметры"

      Comment

      • dyuha85
        Member
        • Aug 2012
        • 41

        #4
        Спасибо за ваши ответы, но задачу решил на половину.

        Вообщем погуглил и "состряпал" маленький скриптик на проверку идентичности meta тэгов.

        Code:
        #!/bin/bash
        
        site="$1"
        key="$2"
        
        meta=`wget -O- -q $site | awk '/meta secret/{ gsub(/. *meta secret=\042|\042. */,"");print }'`
        
        if [ $key == $meta  ]; then
           echo "1"
        else
           echo "0"
        fi
        Далее указал путь скрипта в UserParameter :
        Code:
        UserParameter=tag[*],/home/test/meta.sh $1 $2
        Zabbix agent обрабатывает и возвращает всё нормально, но это только на некоторых сайтах, не на всех (причём сайты висят и на Drupal, и на Wordpress).

        Логика такая, что когда я запускаю скрипт, указывая ключи url сайта и ключ, то при сходстве всех ключей он возвращает 1, если нет 0. Конечно же, в header сайта этот ключ тоже приписывается :
        Code:
        <meta secret="zZhVwr62wC-www.site.com">
        Общий синтаксис такой:
        Code:
        /home/test/meta.sh www.site.com zZhVwr62wC-www.site.com
        Проблема в том, что как упоминалось выше, не все сайты так срабатывают. На некоторых сайтах при полной идентичности (я проверял вручную), возвращает 0

        Проверка показала, что wget криво возвращает значение.


        Может быть кто то сможет помочь допилить скрипт, т.к. знания мои иссякли? Буду вам премного благодарен.

        Спасибо заранее
        Last edited by dyuha85; 20-08-2013, 11:29.

        Comment

        • v.goncharov
          Member
          • Mar 2013
          • 58

          #5
          Вопрос у меня в тему поста, но не в тему его содержимого. Надеюсь на помощь профи.

          Пользуемся заббиксом довольно давно, и в папке externalscripts уже под две сотни скриптов, ориентироваться в них становится сложно.

          Можно ли их как-то разбить по папкам? как, например, conf.d файлики для конфигураций apache?

          Т.е., например, в папке externalscripts я создам кучу подпапок, в них рассую все скрипты, и вызывать элемент данных чисто по имени скрипта.
          (хотя, если надо, могу исправить имя скрипта на папка/имя)

          Comment

          • SergeniuS
            Member
            • Jan 2012
            • 68

            #6
            Originally posted by v.goncharov
            Можно ли их как-то разбить по папкам? как, например, conf.d файлики для конфигураций apache?

            Т.е., например, в папке externalscripts я создам кучу подпапок, в них рассую все скрипты, и вызывать элемент данных чисто по имени скрипта.
            (хотя, если надо, могу исправить имя скрипта на папка/имя)
            Как на счёт такого решения:
            1. Создаёте структуру папок с нужной иерархией
            2. На каждый скрипт из дерева папок делаете симлинк на externalscripts


            Что даёт:
            • В Zabbix ничего не нужно перенастраивать
            • Удобная структура папок для поддержки скриптов

            Comment

            • v.goncharov
              Member
              • Mar 2013
              • 58

              #7
              Да, примерно такое решение и думал сделать. Хотелось бы как-то поэлегантнее, что ли. Ну да ладно, спасибо, буду переносить

              Comment

              Working...