Ad Widget

Collapse

Мониторинг файлов в папке, оповещение

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • mgkmgk
    Member
    • Apr 2020
    • 54

    #1

    Мониторинг файлов в папке, оповещение

    Доброго дня!
    Задача: Windows , есть папка c:\temp, в ней с различной периодичностью генерятлся файлы типа 12345.log, нужно парсить последний созданный файл на предмет записи в нем к примеру error и выдавать об этом алерт, как дополнение в алерте выдавать полную строку, к примеру:
    Line 2427: 2021-03-16 08:28:05 192.168.1.5 OutboundConnectionResponse error ................



    logrt["C:\temp\^.*$","error"] - находит error в новых созданных файлах, нужно прикрутить полную строку ошибки.
  • Kos
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • Aug 2015
    • 3404

    #2
    С такой метрикой logrt агент должен пересылать на сервер полную строку, в которой он нашёл подстроку "error".
    В Latest data эти данные попадают?
    Если да - то всё в порядке, "полная строка ошибки" у вас есть. Куда её надо "прикрутить"?

    Comment

    • mgkmgk
      Member
      • Apr 2020
      • 54

      #3
      Не верно я описал дополнение, нужно что бы в названии ошибки\алерта был к примеру email который присутсвует в полной строке ошибки, строка с ошибкой выглядит так:
      +Recipient+disabled+<[email protected]> 0 0 57
      возможно с помощью регулярного выражения выцепить только адрес [email protected] или с ковычками и поместить его в название ошибки ?
      Что бы оповещение которое отправляется имело вид например <Problem [email protected]>
      Last edited by mgkmgk; 18-03-2021, 12:59.

      Comment

      • Kos
        Senior Member
        Zabbix Certified SpecialistZabbix Certified Professional
        • Aug 2015
        • 3404

        #4
        Строка с ошибкой не может выглядеть так, т.к. она (по изначальному условию задачи) должна содержать подстроку "error", которой я здесь не вижу.
        Повторю вопрос: что сейчас попадает в Latest data? Попадают ли туда те данные, которые вы хотите видеть в уведомлении об ошибке?

        Comment

        • mgkmgk
          Member
          • Apr 2020
          • 54

          #5
          Данные попадают, хорошо пусть строка будет выглядить так: .......error+<[email protected]> 0 0 57.............., разве это меняет суть вопроса ?

          Comment

          • Kos
            Senior Member
            Zabbix Certified SpecialistZabbix Certified Professional
            • Aug 2015
            • 3404

            #6
            Originally posted by mgkmgk
            Данные попадают, хорошо пусть строка будет выглядить так: .......error+<[email protected]> 0 0 57.............., разве это меняет суть вопроса ?
            Суть вопроса меняет: я понимаю, что речь идёт именно о той строке, которую агент нашёл и переслал на сервер (а не о какой-либо ещё - например, следующей после строки со словом "error").

            Используйте в имени триггера макрос {ITEM.VALUE} с использованием макрофункции для того, чтобы извлечь нужный фрагмент строки.
            Т.е. что-то вроде:
            Code:
            {{ITEM.VALUE}.regsub("(<.+@.+>)","\1")}

            Comment

            • mgkmgk
              Member
              • Apr 2020
              • 54

              #7
              Спасибо, добавил в оперативные даты, у меня стоит 2 оповещения на почту и в телеграм, в телегу приходит Operational data: <почта>, но на емейл Operational data: пустой, попробовал сделать идентичный шаблон проблемы в оповещениях, все равно пусто.

              Comment

              • Kos
                Senior Member
                Zabbix Certified SpecialistZabbix Certified Professional
                • Aug 2015
                • 3404

                #8
                Смотрите шаблон для почтовых оповещений в свойствах конкретного Action-а - если он задан там, то шаблон в свойствах Media type будет игнорироваться.

                Comment

                • mgkmgk
                  Member
                  • Apr 2020
                  • 54

                  #9
                  Не понял, что вы имеете в виду, вот так выглядит шаблон для телеграм, эти же параметры я перенес в почтовые оповещения, но Operational data пустой
                  Attached Files

                  Comment

                  • Kos
                    Senior Member
                    Zabbix Certified SpecialistZabbix Certified Professional
                    • Aug 2015
                    • 3404

                    #10
                    Originally posted by mgkmgk
                    Не понял, что вы имеете в виду, вот так выглядит шаблон для телеграм, эти же параметры я перенес в почтовые оповещения, но Operational data пустой
                    Т.е. в получаемом по почте уведомлении фраза "Operation data:" присутствует, а после неё - пусто? Или после неё - нераскрытый макрос {EVENT.OPDATA}? Или вообще этой фразы нет?

                    Я имел в виду, что шаблон для почтового оповещения в Zabbix, начиная с пятой версии, можно задать в двух местах:
                    • в свойствах канала доставки (Administration -> Media types -> Email -> Message templates);
                    • в свойствах непосредственно самого Action-а (Configuration -> Actions -> Trigger actions -> конкретный Action -> вкладка Operations -> свойства конкретной операции (при выставленной галочке "Custom message").
                    До пятой версии все шаблоны оповещений находились только в свойствах Action-а (и при обновлении там и оставались).
                    Так вот, если шаблон оповещения явно задан в свойствах самого Action-а, то именно он и будет использоваться; соответственно - шаблон на уровне канала доставки будет проигнорирован. И если вы пытались редактировать последний, то результата не увидите.

                    Comment

                    • mgkmgk
                      Member
                      • Apr 2020
                      • 54

                      #11
                      Да, после Operation data - пусто.
                      Вопрос решен: параметр {{ITEM.VALUE}.regsub("(<.+@.+>)","\1")} внесен в "Имя" и "Оперативные данные" триггера,
                      теперь в телегу и на почту приходит оповещение с темой вида: Problem: <[email protected]>
                      Спасибо!

                      Comment

                      • mgkmgk
                        Member
                        • Apr 2020
                        • 54

                        #12
                        Появилась схожая задача, мониторить журнал событий windows (application, level: Information) по определенной фразе: RECOVERY to
                        Пробую:
                        eventlog[Application,,"Information"] - так мониторится весь лог по типу Информация, конкретный id события не подходит, так как содержит не только искомое
                        eventlog[Application,,"Information","RECOVERY to"] - перестает писать журнал

                        каким образом можно поймать RECOVERY to в журнале ?

                        Comment

                        • Kos
                          Senior Member
                          Zabbix Certified SpecialistZabbix Certified Professional
                          • Aug 2015
                          • 3404

                          #13
                          Originally posted by mgkmgk
                          Появилась схожая задача, мониторить журнал событий windows (application, level: Information) по определенной фразе: RECOVERY to
                          Пробую:
                          eventlog[Application,,"Information"] - так мониторится весь лог по типу Информация, конкретный id события не подходит, так как содержит не только искомое
                          eventlog[Application,,"Information","RECOVERY to"] - перестает писать журнал

                          каким образом можно поймать RECOVERY to в журнале ?
                          Вас ведь, наверное, интересуют сообщения с конкретным ID и от конкретного Source? Вот их и ищите. Плюс можно добавить и искомую строку, если она фигурирует в тексте сообщения:
                          Code:
                          eventlog[Application,"RECOVERY to","Information",<source>,<eventid>]

                          Comment

                          • mgkmgk
                            Member
                            • Apr 2020
                            • 54

                            #14
                            Спасибо!
                            Если ошибка будет висеть не закрытой и в логе появиться еще одна такая же ошибка, каким должен быть триггер, что бы отобразить это, сейчас стоит такой:
                            {sql2014:eventlog[Application,"RECOVERY to FULL","Information"].logsource()}=1
                            Режим генерации событий ПРОБЛЕМА : одиночный, если поставить множественный, то будет спамить об одной и тойже ошибке.

                            Comment

                            • Kos
                              Senior Member
                              Zabbix Certified SpecialistZabbix Certified Professional
                              • Aug 2015
                              • 3404

                              #15
                              Наверное, всё же лучше стараться придерживаться практики "одна тема на форуме - один вопрос".
                              А то это уже третий вопрос, который от исходного ("мониторинг файлов в папке") отличается очень сильно.

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

                              Comment

                              Working...