Ad Widget

Collapse

Мониторинг логов

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • rough-84
    Senior Member
    • Oct 2014
    • 198

    #1

    Мониторинг логов

    Доброго времени суток.
    Подскажите пожалуйста, возможно ли средствами zabbix мониторить логи различных приложений (windows), искать в них определенную строку и писать в zabbix определенное значение:
    Собственно строка из лога:
    2014-12-08 00:00:00 95.211.187.35 GET /Content8888888 - 80 - **.**.64.**http:/test.ru 200 0 0 155

    Собственно нужно искать строку в которой присутствует сайт http:/test.ru и писать в zabbix значение последних 11 значений в строке.

    Если zabbix такое умеет, киньте идею как это можно реализовать, спасибо.
  • rough-84
    Senior Member
    • Oct 2014
    • 198

    #2
    Немного разобрался, но не до конца.
    настройка активного клиента и log[patch,key]
    передает строку в которой присутствует key.
    Но как бы мне вывести не всю строку целиком, а скажем в моём случае мне нужно значение в строке после последнего пробела.
    В описании элемента написано что есть regexp, значит что то подобное zabbix должен уметь.
    Подскажите пожалуйста, через поиск и доки нарыть ничего не удалось.
    Все эти извращения делаю для того что бы настроить парсинг логов, в которых последним значение идёт время отклика хоста.
    спасибо.

    Comment

    • rough-84
      Senior Member
      • Oct 2014
      • 198

      #3
      Народ подскажите где я ошибся
      тестирую лог c:\zabbix\test.log вида :
      1 test 2
      2 test 3
      4 test 5

      log[C:\zabbix\test.log,time]
      получаю все строки с time OK
      log[C:\zabbix\test.log,"time.*([0-9]+)",,,,\0]
      По идее должен бы получить только значения 2, 3,5, но облом:
      Active check [log[C:\zabbix\test.log,"time.*([0-9]+)",,,,\1]] is not supported. Disabled.
      и такая фигня c :
      log[C:\zabbix\test.log,"test.*([0-9]+)$",,,,\0]
      Пример брал с

      Подскажите кто в курсе, где может быть проблема.
      Ps zabbix server 2.4

      Comment

      • aib
        Senior Member
        • Jan 2014
        • 1615

        #4
        А вы не думали, что получить время отклика веб-хоста можно через веб-мониторинг? или вам действительно нужно получить именно строку из (неизвестно кем созданного) лог-файла?

        А по поводу выбора только определенных полей из строки - посмотрите
        Sincerely yours,
        Aleksey

        Comment

        • rough-84
          Senior Member
          • Oct 2014
          • 198

          #5
          спасибо.
          Этот вопрос я решил, агент был 2.0 версии, а output заработал с 2.2 .
          Значение я получаю, теперь другой вопрос.
          На сколько я понимаю я получаю данные в текстовом формате, а тригеры нужны информационные, то есть нужны тигеры по типу
          среднее значение за промежуток времени не должно превышать определенное значение.
          Блин, я в тупике, у кого нить есть идеи ?

          Comment

          • aib
            Senior Member
            • Jan 2014
            • 1615

            #6
            да, с логами только текстовые значения
            если хотите получать номера - пишите собственные скрипты, которые собирают информацию из логов и отдают через UserParamater= в Zabbix Agent.
            Или посылают напрямую в zabbix_sender
            Sincerely yours,
            Aleksey

            Comment

            • rough-84
              Senior Member
              • Oct 2014
              • 198

              #7
              Беда, логи киллометровые, заббикс то парсит с последнего места на котором остановился, что есть вери гуд. Сам я в скриптах не силён таких, програмер просил выяснить как раз реально ли сделать всё силами самого zabiix, жаль что это не предусмотрено.

              Comment

              • rough-84
                Senior Member
                • Oct 2014
                • 198

                #8
                Чтобы закрыть тему и поделиться результатами отпишусь:
                Удалось нарыть следующее:
                1. Перегнать данные из log в float или integer возможно, например создав элемент данных calculations. Условием должно являться то, что в полученных из лога данных присутствуют только числа. мой пример:
                last("logrt[\"C:\inetpub\logs\LogFiles\W3SVC2\u_.*\",\"assortm ent.*iteration=0.*([0-9][0-9][0-9][0-9]+)$\",,,,\"\1\"]")
                К сожалению, для меня данный вариант не прокатил, так у меня за 1 минуту валиться по 1000+ значений в лог, который я вытаскиваю и забирать только последнее в обще ни к селу ни к городу. Ну а выражения avg, sum и другие математические, log не поддерживает.
                Конкретно для своего задания я решил вопрос иначе:
                Изначально я хотел наблюдать за работой сайта, полученные числа это время отклика и в лог заливаются все клики посетителей и время задержки.
                Я создал 2 элемента данных:
                logrt["C:\inetpub\logs\LogFiles\W3SVC2\u_.*","assortment .*iteration=0.* ([0-9]+)$",,,,"\1"]
                Пишу в заббикс все нужные мне числа, в моём случае это как раз время отклика.
                logrt["C:\inetpub\logs\LogFiles\W3SVC2\u_.*","assortment .*iteration=0.*([0-9][0-9][0-9][0-9]+)$",,,,"\1"]
                Пишу в заббикс числа у которых только 4 или больше символов.

                Ну а потом создаю всё тот же calculeted item и делаю выражение:

                100*count("logrt[\"C:\inetpub\logs\LogFiles\W3SVC2\u_.*\",\"assortm ent.*iteration=0.*([0-9][0-9][0-9][0-9]+)$\",,,,\"\1\"]",600)
                /
                count(":logrt[\"C:\inetpub\logs\LogFiles\W3SVC2\u_.*\",\"assortm ent.*iteration=0.* ([0-9]+)$\",,,,\"\1\"]",600)

                Получаю процент от всех значений у которых 4 или больше символов за последние 10 минут.
                Для меня это приемлемо, получился не плохой инструмент для анализа.
                Останется только настроить тригеры и поглядывать в состояния, себе я их вывожу на комплексный экран и смотрю, тригеры делаю даже на идеальное состояние, чтобы бы было наглядно видно картину, ну а на полный ппц можно и уведомления накатить по почте или sms.

                Comment

                Working...