Ad Widget

Collapse

Cisco devices logging

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Jimson
    Senior Member
    • Jan 2008
    • 1327

    #1

    Cisco devices logging

    Ищутся варианты сбора логов с cisco девайсов.
    Собственно настраиваем логирование, собираем на сервере syslog, в логи пишем facility & priority (-v), там же есть hostname по которому можно разобрать логи по девайсам.
    Дальше не очень понятно как это запихать в хосты, обработка логов есть только в агенте, предположим это будет локальный (относительно сервера - 127.0.0.1) агент, можно как то указать явно в описании элемента(IP) куда ображаться с log[] ?
  • dima_dm
    Senior Member
    • Dec 2009
    • 2697

    #2
    Я решил эту проблему так:
    1) Опционально. Поднял IPSEC между Cisco и Syslog Server, чтобы враги не увидели и не смогли прочитать мои логи. Syslog трафик внутри IPSEC. Если твои устройства поддерживают Secure Syslog, то этот пункт можно пропустить.
    2) Написал скрипты для парсига логов и преобразования в нужную мне статистику.
    3) Через zabbix_agentd и UserParameter или zabbix_sender передаю эту статистику в Zabbix.
    P.S. Использовать встроенные фичи zabbix_agentd работы с логами, особенно когда объём логов большой, категорически не советую.
    Last edited by dima_dm; 27-10-2010, 13:10.

    Comment

    • Jimson
      Senior Member
      • Jan 2008
      • 1327

      #3
      ну варианта два
      1) писать самому парсер и через zabbix_sender распихивать это все, возникает миллион проблем, например надо выдергивать из базы список хостов и их hostname и уже по списку сплитить лог

      2) через агент можно и готовым парсером воспользоваться, но агент висит на хосте, а конкретно взятая циска есть отдельный хост со своим IP и мониторится по SNMP, те что бы присобачить этот log[] к хосту циски надо суметь указать для данного элемента данных другой IP, адрес агента - такое можно сделать ?

      Comment

      • dima_dm
        Senior Member
        • Dec 2009
        • 2697

        #4
        Originally posted by Jimson
        ну варианта два
        1) писать самому парсер и через zabbix_sender распихивать это все, возникает миллион проблем, например надо выдергивать из базы список хостов и их hostname и уже по списку сплитить лог
        Не обязательно. Просто пропишите название устройств в конфигурации так-же как они зарегистрированы в Zabbix.
        Пошлёте Вы лишние данные на Zabbix через zabbix_sender, по незарегистрированному хосту, ничего страшного не случится. А если через UserParameter, то эти данные просто опрашиваться не будут.
        Пример:

        Originally posted by Jimson
        2) через агент можно и готовым парсером воспользоваться, но агент висит на хосте, а конкретно взятая циска есть отдельный хост со своим IP и мониторится по SNMP, те что бы присобачить этот log[] к хосту циски надо суметь указать для данного элемента данных другой IP, адрес агента - такое можно сделать ?
        Через zabbix_sender.
        http://www.zabbix.com/documentation/.../zabbix_sender
        Last edited by dima_dm; 27-10-2010, 13:29.

        Comment

        • Jimson
          Senior Member
          • Jan 2008
          • 1327

          #5
          я все же не понимаю при чем тут UserParamеter, это же по сути новый ключ для агента, а агент и циска - разные хосты, следовательно добавить к хосту-циска элемент данных получающий данные с агент-хоста я не могу
          или я чего то не понимаю?

          Comment

          • dima_dm
            Senior Member
            • Dec 2009
            • 2697

            #6
            Originally posted by Jimson
            я все же не понимаю при чем тут UserParamеter, это же по сути новый ключ для агента, а агент и циска - разные хосты, следовательно добавить к хосту-циска элемент данных получающий данные с агент-хоста я не могу
            или я чего то не понимаю?
            Да, не можете. Но Вы можете зарегистрировать другой хост с похожим названием, например MyCisco log и указать для него другой IP. Причём можно зарегистрировать много хостов с разными именами и с одним IP. Смотрите пример, который я послал.
            Если использовать zabbix_sender, такой проблемы не существует вообще.
            Last edited by dima_dm; 27-10-2010, 13:49.

            Comment

            • prostrelov
              Senior Member
              • May 2012
              • 115

              #7
              сталкнулся с похожей задачей хотел уточнить такой момент:
              rsyslog'ом собираются логи на машине с zabbix server'ом
              и кладутся по своим дирректориям /var/log/rsyslog/"HOST.IP"/syslog.log

              можно ли как-то организовать отсылку zabbix_sender'ом логов по хостам без написания скриптов на перле ? или может быть есть скрипты попроще ?

              переправить под себя скрипты из ветки http://www.zabbix.com/forum/showthread.php?t=15691 не имея опыта програмирования на перле не возможно мне кажется.
              Last edited by prostrelov; 12-03-2013, 14:46.

              Comment

              • dima_dm
                Senior Member
                • Dec 2009
                • 2697

                #8
                По ссылке выше скрипты написаны на Perl, а не на питоне.
                1) Есть стандартная фича item log и logrt
                2) Посмотрите в сторону опции -r для zabbix_sender

                Вообще мне непонятно, зачем такое может понадобиться. Функционал zabbix по обработке текстовых строк очень слабый. Ну набъёте Вы этими логами базу данных, а дальше что?
                По мне лучше написать парсер для лога и выдавать данные в zabbix которые действительно нужны, и размер базы данных Zabbix будет минимальный, да и функционал любой реализовать можно.
                Last edited by dima_dm; 12-03-2013, 09:45.

                Comment

                • prostrelov
                  Senior Member
                  • May 2012
                  • 115

                  #9
                  Извините. Не общался тесно ни с тем ни с другим.
                  Согласен с вами по поводу написания скриптов но к сожалению своих ресурсов мне хватит только чтобы написать что-то несложное на sh'e и распарсить grep'ами и awk.

                  Comment

                  • Jimson
                    Senior Member
                    • Jan 2008
                    • 1327

                    #10
                    Originally posted by dima_dm
                    Вообще мне непонятно, зачем такое может понадобиться. Функционал zabbix по обработке текстовых строк очень слабый. Ну набъёте Вы этими логами базу данных, а дальше что?
                    По мне лучше написать парсер для лога и выдавать данные в zabbix которые действительно нужны, и размер базы данных Zabbix будет минимальный, да и функционал любой реализовать можно.
                    Чтобы выдать нужные данные в zabbix, нужно для начала определиться какие данные нужные. Как это сделать хотя бы для банального циско роутера в сети ISP? На практике не хватает ни CCIE ни 15+ лет общения с цисками что бы предусмотреть все варианты, иногда всречаются проблемы над которыми приходится долго ломать голову. Мы просматриваем логи, а если вылазит какая то флудащая гадость, типа URL фильтрации в файрвольном софте, то отрубаем ее, что бы не засоряла логи.

                    Кстати, вопрос актуален до сих пор, ищется решение или нормальный опенсорс. Нужно уметь фильтровать по хостам, важности, абстрактной подстроке, времени и тп, и нужно уметь простое квитирование что бы помечать то что просмотрено, поддержки многопользовости даже не нужно. Щас логи смотрим соларвиндовской фигней какой то.

                    Comment

                    • dima_dm
                      Senior Member
                      • Dec 2009
                      • 2697

                      #11
                      Originally posted by jimson
                      Чтобы выдать нужные данные в zabbix, нужно для начала определиться какие данные нужные. Как это сделать хотя бы для банального циско роутера в сети isp? На практике не хватает ни ccie ни 15+ лет общения с цисками что бы предусмотреть все варианты, иногда всречаются проблемы над которыми приходится долго ломать голову. Мы просматриваем логи, а если вылазит какая то флудащая гадость, типа url фильтрации в файрвольном софте, то отрубаем ее, что бы не засоряла логи.
                      Логи в базе данных Вам в этом случае не помогут. Для того, чтобы правильно обработать событие, нужно о нём уже знать. Т.е. этап поиска и анализа уже пройден. Задача же не просто радоваться от обладания распухающей базой данных, а чтобы это ещё какую-то пользу приносило.

                      Comment

                      • Jimson
                        Senior Member
                        • Jan 2008
                        • 1327

                        #12
                        Originally posted by dima_dm
                        Логи в базе данных Вам в этом случае не помогут. Для того, чтобы правильно обработать событие, нужно о нём уже знать. Т.е. этап поиска и анализа уже пройден. Задача же не просто радоваться от обладания распухающей базой данных, а чтобы это ещё какую-то пользу приносило.
                        В данном случае задача заключается в централизованном и удобном способе ручного просмотра логов с кучи железа с возможностью маркировать уже просмотренные куски логов.

                        То что умеет забикс я, естественно, понимаю: он умеет анализировать лог и искать факт возникновения уже формализованной проблемы. Ну те после наступания на определенные грабли мы можем сформулировать проблему в общем виде, придумать тригеры и добавить соответсвующие регекспы и тригеры в заббикс. А вот на чем решать этап который предшедствует первому наступанию на грабли я без понятия.

                        Comment

                        • prostrelov
                          Senior Member
                          • May 2012
                          • 115

                          #13
                          Originally posted by dima_dm
                          По ссылке выше скрипты написаны на Perl, а не на питоне.
                          1) Есть стандартная фича item log и logrt
                          2) Посмотрите в сторону опции -r для zabbix_sender

                          Вообще мне непонятно, зачем такое может понадобиться. Функционал zabbix по обработке текстовых строк очень слабый. Ну набъёте Вы этими логами базу данных, а дальше что?
                          По мне лучше написать парсер для лога и выдавать данные в zabbix которые действительно нужны, и размер базы данных Zabbix будет минимальный, да и функционал любой реализовать можно.
                          А не подскажите на каком этапе такой парсер должен отрабатывать ? Что его вызывает ? Или скрипт просто вешается в крон и каждые несколько минут отрабатывает. Я смотрел в сторону конфига rsyslog но как выяснилось он умеет работать только со своими Action'ами и вызывать сторонний скрипт не будет.

                          Comment

                          • dima_dm
                            Senior Member
                            • Dec 2009
                            • 2697

                            #14
                            Originally posted by prostrelov
                            А не подскажите на каком этапе такой парсер должен отрабатывать ? Что его вызывает ? Или скрипт просто вешается в крон и каждые несколько минут отрабатывает. Я смотрел в сторону конфига rsyslog но как выяснилось он умеет работать только со своими Action'ами и вызывать сторонний скрипт не будет.
                            Для обработки логов, я вешаю скрипты в cron.
                            Дело в том, что максимальный Timeout для External Check и UserParameter равен 30 сек, а лог может достигать десятков гигобайт. А контролирую выполнение скрипта через UserParameter и статус файл, который создаёт мой скрипт.

                            Comment

                            • prostrelov
                              Senior Member
                              • May 2012
                              • 115

                              #15
                              На сайте rsyslog есть output модуль omsnmp.
                              Provides the ability to send syslog messages as an SNMPv1 & v2c traps. By default, SNMPv2c is preferred. The syslog message is wrapped into a OCTED STRING variable. This module uses the NET-SNMP library. In order to compile this module, you will need to have the NET-SNMP developer (headers) package installed.
                              Меня смущяет octet string. Помоемому zabbix плохо понимает такой тип данных ?

                              На всякий случай поинтересуюьс можно ли напрямую перенаправить tail | zabbix_sender ?
                              Есть какие-то подводные камни ?
                              Last edited by prostrelov; 13-03-2013, 15:41.

                              Comment

                              Working...