Ad Widget

Collapse

Чтение log-file

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • shabalin82
    Junior Member
    • Dec 2011
    • 17

    #1

    Чтение log-file

    Босс задачу поставил не могу найти решение проблемы.
    Вообщем суть задачи такова cisco отправляет logi на syslog сервер.Zabbix читает этот лог.В случае если попадается нужная строка то сработать должен тригер например упал интерфейс номер 2 в случае если интерфейс снова понднялся необходимо что бы тригер выключился.Я сделал все этапы кроме последнего не могу создать тригер нужный.
  • dima_dm
    Senior Member
    • Dec 2009
    • 2697

    #2
    {vpn-a:log[/var/log/messages,"int failed"].str(“int failed”)}=1 & {vpn-a:log[/var/log/messages,"int OK"].str(“int OK”)}=0

    Но возникает проблема, если придёт последовательно Failed -OK-Failed то триггер второй раз не сработает. Лучше делать через cron скрипт, который парсит лог и отсылает (zabbix_sender) только нужную информацию на Zabbix. А в скрипте уже реализовать всю необходимую логику.
    Да и не нужно весь log файл хранить в базе zabbix и тратить ресурсы сети и zabbix_server, особенно когда он большой.

    Comment

    • shabalin82
      Junior Member
      • Dec 2011
      • 17

      #3
      Спасибо попробую конечно этот вариант.Я в базе логи не храню они лежат в папке с логами.Есть еще вопрос а в тригере значение str может быть любым или есть какие то ограничения ну например не слово FATAL а такое -->"Interface FastEthernet0/3, changed state to administratively down" а если подниметься то "Interface FastEthernet0/3, changed state to administratively up"?????

      Comment

      • dima_dm
        Senior Member
        • Dec 2009
        • 2697

        #4
        Originally posted by shabalin82
        Я в базе логи не храню они лежат в папке с логами.
        Вот когда вы заводите Item log, то все содержимое Log фала (удовлетворяющее маске) передаётся на Zabbix и храниться в базе Zabbix. Поэтому я сам никогда эти функции (log, logrt) Zabbix не использую.
        Originally posted by shabalin82
        Есть еще вопрос а в тригере значение str может быть любым или есть какие то ограничения ну например не слово FATAL а такое -->"Interface FastEthernet0/3, changed state to administratively down" а если подниметься то "Interface FastEthernet0/3, changed state to administratively up"?????
        А для этого есть документация.
        http://www.zabbix.com/documentation/...onfig/triggers
        Last edited by dima_dm; 13-12-2011, 15:14.

        Comment

        • shabalin82
          Junior Member
          • Dec 2011
          • 17

          #5
          Скажи а что это за значение vpn-a в триггере

          Comment

          • dima_dm
            Senior Member
            • Dec 2009
            • 2697

            #6
            Originally posted by shabalin82
            Скажи а что это за значение vpn-a в триггере
            Это имя хоста, просто для примера.

            Comment

            • shabalin82
              Junior Member
              • Dec 2011
              • 17

              #7
              Триггре добавил и почему то теперь пишет в ошибках тригера "triger just added.No status update so far" Что это за ошибка такая.

              Comment

              • shabalin82
                Junior Member
                • Dec 2011
                • 17

                #8
                Все заработало!Не знаю что это было даже.Только теперь триггер почему то не отрабатывает.

                Comment

                • mikhaylov.rv
                  Junior Member
                  • Dec 2011
                  • 12

                  #9
                  тоже по логам

                  Ключ: logwatch.syslog (свой)
                  Тип информации ставлю : Журнал (Лог)

                  в zabbix_agentd.conf

                  Code:
                  UserParameter=logwatch.syslog,cat /var/log/syslog |awk '/warning/ || /err/ || /crit/ || /alert/'
                  все работает если есть хотя бы одно сообщение

                  Отметка времени
                  Code:
                  Watch all lvl syslog
                  10 Янв 2012 15:31:24	sshd test.crit fatal Read from socket failed Connection reset by peer
                  но при отсутствии сообщений в журнале, состояния Элемента данных уходит в состояние на Не поддерживается

                  Как это исправить, так что бы он оставался всегда активным даже если отсутствует искомый элемент в журнале (лог файле)

                  Comment

                  • dima_dm
                    Senior Member
                    • Dec 2009
                    • 2697

                    #10
                    Originally posted by mikhaylov.rv
                    Как это исправить, так что бы он оставался всегда активным даже если отсутствует искомый элемент в журнале (лог файле)
                    Писать скрипт так, чтобы всегда возвращалось какое-нибудь значение.
                    Code:
                    UserParameter=logwatch.syslog,cat /var/log/syslog |awk '/warning/ || /err/ || /crit/ || /alert/'|sed "s/^\$/OK/"

                    Comment

                    • mikhaylov.rv
                      Junior Member
                      • Dec 2011
                      • 12

                      #11
                      Originally posted by dima_dm
                      Писать скрипт так, чтобы всегда возвращалось какое-нибудь значение.
                      Code:
                      UserParameter=logwatch.syslog,cat /var/log/syslog |awk '/warning/ || /err/ || /crit/ || /alert/'|sed "s/^\$/OK/"
                      спасибо!, а то до вырезался из лога ненужной информации (| sed "s/[/[0-9:ID]/\\.....куча куча всяких вырезанных деталек) для более информативного сообщения на сервере zabbix, да после 10 дневной передышки упустил момент, рад оперативности

                      Comment

                      • mikhaylov.rv
                        Junior Member
                        • Dec 2011
                        • 12

                        #12
                        пока дописал к строке
                        Code:
                        && echo "Read log OK"
                        так и я не переживаю что что то вышло из под контроля и если вижу эту надпись спокоен как удав хотя можно и поменять надпись на любителя
                        Code:
                        && echo "admin can sleep in peace"

                        Comment

                        • shabalin82
                          Junior Member
                          • Dec 2011
                          • 17

                          #13
                          Не работает триггер не знаю что делать

                          Comment

                          • genakir
                            Member
                            • Mar 2011
                            • 49

                            #14
                            UserParameter в zabbix_agent Windows

                            Доброго времени суток.
                            Есть лог, который генерирует apcupsd каждые 60 секунд.
                            Я хочу добавить параметр UserParameter в zabbix_agent Windows, который будет передавать нужные мне данные на сервер zabbix.
                            Файл имеет синтаксис:
                            MODEL : Back-UPS ES 525
                            STATUS : ONLINE
                            LINEV : 222.2 Volts
                            Мне надо брать данные за ":". Прошу помощи.

                            Comment

                            • mikhaylov.rv
                              Junior Member
                              • Dec 2011
                              • 12

                              #15
                              Originally posted by genakir
                              Доброго времени суток.
                              Есть лог, который генерирует apcupsd каждые 60 секунд.
                              Я хочу добавить параметр UserParameter в zabbix_agent Windows, который будет передавать нужные мне данные на сервер zabbix.
                              Файл имеет синтаксис:
                              MODEL : Back-UPS ES 525
                              STATUS : ONLINE
                              LINEV : 222.2 Volts
                              Мне надо брать данные за ":". Прошу помощи.
                              сори но под винду инструмент надо, ниразу с такой задачей не сталкивался исключительно под unix
                              а по сути надо использовать регулярные выражения и вычленить либо просто удалить все до ":" используй перл, питон или другой скриптовый язык

                              на баш из команды которая 3 раза выдает данные из них 1 строка среднее значения с последнего перезапуска не в счет
                              брал тока второе из 13 столбца
                              вот таким хитрым способом беру нужный столбец в нужной строке стат таблицы
                              UserParameter=cpu.usr[*], mpstat 1 3 | awk '$$1 =="$1"' |awk '{print $$13}' |awk 'NR >2'

                              так вот статусы выдергиваю
                              UserParameter=zoneadm.run,/usr/sbin/zoneadm list -v | /bin/grep "running" | /usr/bin/wc -l

                              а так значение выпиливаю из строки
                              UserParameter=swap.s,swap -s |awk '{print $11}'| sed 's/k/ /'

                              так что подумай чем тебе проще обработать файл перед передачей

                              Comment

                              Working...