Ad Widget

Collapse

Хранение логов

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • swap_i
    Junior Member
    • Jul 2011
    • 6

    #1

    Хранение логов

    Возникла такая задача: хранить логи самописной программы в Zabbix.

    Мои шаги:
    - создал на сервере Zabbix элемент с типом log и ключом example.log
    - настроил агента на кокретной машине
    - вызываю zabbix_sender.exe -c C:\ZabbixAgent\agent.conf -k example.log -o "Log is working"

    После этого в разделе Latest data (последние данные) можно увидеть отправленные сообщения. Но как мне сообщить серверу недостающие параметры (важность, локальное время, eventId)?

    Делал ли кто то подобное? Или мне проще реализовать в программе хранение логов в формате Zabbix и настроить агента через UserParameter=log[...]?
  • zalex_ua
    Senior Member
    Zabbix Certified Trainer
    Zabbix Certified SpecialistZabbix Certified Professional
    • Oct 2009
    • 1286

    #2
    Originally posted by swap_i
    Возникла такая задача: хранить логи самописной программы в Zabbix.

    Мои шаги:
    - создал на сервере Zabbix элемент с типом log и ключом example.log
    - настроил агента на кокретной машине
    - вызываю zabbix_sender.exe -c C:\ZabbixAgent\agent.conf -k example.log -o "Log is working"
    Тип информации Лог предназначен только для журналов событий Виндовс. И работает только с агентом в активном режиме.

    Originally posted by swap_i
    После этого в разделе Latest data (последние данные) можно увидеть отправленные сообщения. Но как мне сообщить серверу недостающие параметры (важность, локальное время, eventId)?
    Zabbix_sender не умеет отправлять эти поля, да и не положено ему это уметь.
    Originally posted by swap_i
    Делал ли кто то подобное? Или мне проще реализовать в программе хранение логов в формате Zabbix и настроить агента через UserParameter=log[...]?
    Делали, но это уже скриптинг (хакинг). Изучите эту тематику - там как раз задействован весь арсенал скриптинга (хакинга). Смотрите еще сюда.
    Может быть вы найдете себе там все что нужно.

    Comment

    • swap_i
      Junior Member
      • Jul 2011
      • 6

      #3
      Что то я запутался. Я тип Log не могу использовать. Для syslog я так понял делают отдельную разработку. А в каком тогда формате Zabbix эти логи понимает? Для каких логов создан вообще Log file monitoring?

      Я хочу взять лог, который понимает Zabbix и выводить свои логи с таком же формате, чтобы Zabbix смог их легко забирать стандартными средствами. Есть такой файл лога для примера?


      Ещё вопрос: что за параметр pattern_to_match в настройках? Почему то в документации нигде не описано как писать этот параметр.
      http://www.zabbix.com/documentation/...ile_monitoring
      Last edited by swap_i; 27-07-2011, 10:18.

      Comment

      • zalex_ua
        Senior Member
        Zabbix Certified Trainer
        Zabbix Certified SpecialistZabbix Certified Professional
        • Oct 2009
        • 1286

        #4
        Originally posted by swap_i
        Что то я запутался. Я тип Log не могу использовать. Для syslog я так понял делают отдельную разработку.
        syslog - это решение от сообщества, это не официальное решение от разработчиков. Там присутствуют патчи чтобы веб-интерфейс правильно отображал историю логов. С одного наскоку там не разберешься, нужно садится и вникать. У меня это решение успешно работает.


        Originally posted by swap_i
        А в каком тогда формате Zabbix эти логи понимает? Для каких логов создан вообще Log file monitoring?

        Я хочу взять лог, который понимает Zabbix и выводить свои логи с таком же формате, чтобы Zabbix смог их легко забирать стандартными средствами. Есть такой файл лога для примера?
        Логи бывают двух типов - обычный текстовый файл где каждая строка есть определенным событием (одной записью). Для таких логов используется ключ log[] или logrt[]. Поддерживается для юникса и виндолвса.

        Другой тип - только для журнала событий виндовс.
        Для них используется ключ eventlog[] Как раз для этого ключа существует много полей (ИД, источник, ...). Этот соответсвенно поддерживается только для виндовса. Но это как "хакинг" используется для упомянутых выше сислогов.

        Originally posted by swap_i
        Ещё вопрос: что за параметр pattern_to_match в настройках? Почему то в документации нигде не описано как писать этот параметр.
        http://www.zabbix.com/documentation/...ile_monitoring
        В другом месте это названо как regexp

        Да, эта неконсистенция понятий это немного нехорошо, следует это исправить.

        Это регулярное выражение, и если найденная строка в логе соответствует ему, то оно будет передано агентом серверу. Это так называемая фильтрация на стороне агента.

        Comment

        • swap_i
          Junior Member
          • Jul 2011
          • 6

          #5
          Originally posted by zalex_ua
          syslog - это решение от сообщества, это не официальное решение от разработчиков. Там присутствуют патчи чтобы веб-интерфейс правильно отображал историю логов. С одного наскоку там не разберешься, нужно садится и вникать. У меня это решение успешно работает.
          Понятно


          Originally posted by zalex_ua
          Логи бывают двух типов - обычный текстовый файл где каждая строка есть определенным событием (одной записью). Для таких логов используется ключ log[] или logrt[]. Поддерживается для юникса и виндолвса.
          Так а формат то какой у этих файлов? Или Zabbix тупо берёт строку и отдаёт на сервер и опять таки поля не заполнены остаются?

          Originally posted by zalex_ua
          Другой тип - только для журнала событий виндовс.
          Для них используется ключ eventlog[] Как раз для этого ключа существует много полей (ИД, источник, ...). Этот соответсвенно поддерживается только для виндовса. Но это как "хакинг" используется для упомянутых выше сислогов.
          Ну это да, я понял.

          Originally posted by zalex_ua
          В другом месте это названо как regexp

          Да, эта неконсистенция понятий это немного нехорошо, следует это исправить.

          Это регулярное выражение, и если найденная строка в логе соответствует ему, то оно будет передано агентом серверу. Это так называемая фильтрация на стороне агента.
          Это тоже понятно.



          Спасибо за разъяснения, а то я думал документацию не дочитал.
          Что ж, придётся думать что делать. Зря разработчики Zabbix не сделали прям в протоколе возможность логирования.

          Comment

          • zalex_ua
            Senior Member
            Zabbix Certified Trainer
            Zabbix Certified SpecialistZabbix Certified Professional
            • Oct 2009
            • 1286

            #6
            Originally posted by swap_i
            Так а формат то какой у этих файлов? Или zabbix тупо берёт строку и отдаёт на сервер и опять таки поля не заполнены остаются?
            блин, та там разные таблицы в БД используются для этих двух разных типов логов. рассмотрите схему БД и все станет ясно.

            Originally posted by swap_i
            Так а формат то какой у этих файлов? Или zabbix тупо берёт строку и отдаёт на сервер и опять таки поля не заполнены остаются?
            да, тупо берет и использует каждую полную строку как значение. К таким логам "незаполненные поля" не относятся - см. предыдущее примечание.

            Originally posted by swap_i
            Зря разработчики zabbix не сделали прям в протоколе возможность логирования.
            Это очень расплывчатое мнение. В протоколе это предусмотрено! - а как по вашему агент отсылает записи из журнала событий виндовс?

            Другое дело что заббикс_сендер не умеет этого делать, но я считаю что и правильно что не умеет. Кому нужно - пишет скрипт.

            Comment

            Working...