Ad Widget

Collapse

Cisco devices logging

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • dima_dm
    Senior Member
    • Dec 2009
    • 2697

    #16
    Originally posted by prostrelov
    На всякий случай поинтересуюьс можно ли напрямую перенаправить tail | zabbix_sender ?
    Есть какие-то подводные камни ?
    Нельзя. Формат данных должен быть определенный

    Comment

    • prostrelov
      Senior Member
      • May 2012
      • 115

      #17
      Есть ещё небольшой вопрос.
      Требуется писать значения напрямую в базу zabbix'a в ключ zabbix trapper'a и не только.
      Подскажите пожалуйста куда именно следует записывать значения ;
      в таблицу Items поле <LastValue> или сами данные хранятся в другой таблице и другом поле ?

      Comment

      • Jimson
        Senior Member
        • Jan 2008
        • 1327

        #18
        Originally posted by prostrelov
        Есть ещё небольшой вопрос.
        Требуется писать значения напрямую в базу zabbix'a в ключ zabbix trapper'a и не только.
        Подскажите пожалуйста куда именно следует записывать значения ;
        в таблицу Items поле <LastValue> или сами данные хранятся в другой таблице и другом поле ?
        Это будет достаточно сложный механизм, во первых последнии данные пишутся прям в таблицу items для числовых данных, во вторых есть таблицы trends и history для каждого типа данных, в третьих при нормальном поступлении данных они вначале попадают в кэш и запускаются проверки тригеров. Я бы не советовал писать данные напрямую в базу.

        P.S. а еще это оффтоп для данного топика, не клево превращать темы в обсуждение всего подряд

        Comment

        • prostrelov
          Senior Member
          • May 2012
          • 115

          #19
          Спасибо за ответ.

          Это не офтоп. Задача построена в разрезе подключения syslog'a с
          цисок через ommsql в rsyslog'e и его шаблоны. Единственная
          причина по которой пришлось идти таким путём - shell execution в
          rsyslog'e не умеет передавать параметр скриптам и запись вида
          & ^/etc/rsyslog/syslog.sh 192.168.0.1
          не передаёт параметры скрипту.
          3й день бьёмся над синтаксисом экранируем слешами кавычками и пр. Как об стенку.

          Вот что говорит оф.сайт rsyslog:
          ^program-to-execute;template
          The program-to-execute can be any valid executable. It receives the template string as a single parameter (argv[1]).
          Но даже запись вида
          & ^/etc/rsyslog/syslog.sh;192.168.0.1
          никаких аргументов не передаёт скрипту.

          Comment

          • Jimson
            Senior Member
            • Jan 2008
            • 1327

            #20
            А у вас что темплейт называется 192.168.0.1 ?
            На сколько я помню понятие шаблона вывода есть у большинства реализаций syslogd и у всех у них это шаблон по которому генерируется строка, более того, по шаблонам создаются и те строчки которые пишутся в файловые журналы.

            Comment

            • prostrelov
              Senior Member
              • May 2012
              • 115

              #21
              нет. 192.168.0.1 это параметр который требуется передать в скрипт.
              в rsyslog шаблон может использоваться и как некая альтернатива переменной.
              часто встречающийся пример:
              Code:
              $template FILENAME,"/var/log/syslog/%fromhost-ip%/syslog.log"
              *.*			?FILENAME;
              здесь шаблон FILENAME используется для того чтобы получать в путь значение источника сообщения.
              а дальше шаблон вызывается не как парсящий строку а как действие.

              пока отвечал ещё раз присмотрелся к англ.тексту щяз кое что хочю попробовать.
              Jimson , огромное спасибо что обратили моё внимание на шаблоны. всё что было нужно чтобы передать параметр это завесит шаблон снимающий значение этого параметра.
              то-есть:
              Code:
              $template FROMHOSTIP, "%fromhost-ip%"
              $template HOST, "CIS01 syslog %TIMESTAMP:::date-rfc3339% %rawmsg%\n"
              $template FILENAME, "/var/log/rsyslog/%fromhost-ip%/syslog.log"
              
              if $fromhost-ip contains '10.85.6.174' then ?FILENAME;HOST
              & ^/etc/rsyslog/moscript.sh;FROMHOSTIP
              ещё раз спасибо.

              Далее прикручиваем не сложный скрипт:
              Code:
              #!/bin/bash
              #######################
              ### DEBUGING
              #######################
              #FROMHOSTIP=$1
              #echo $FROMHOSTIP > /etc/rsyslog/123.txt
              FROMHOSTIP=$1
              diff -a /var/log/rsyslog/$FROMHOSTIP/syslog.log /var/log/rsyslog/$FROMHOSTIP/syslog.old.log | cut -d" " -f2-100 | zabbix_sender -z 10.85.6.174 -p 10051 -i -
              cp /var/log/rsyslog/$FROMHOSTIP/syslog.log /var/log/rsyslog/$FROMHOSTIP/syslog.old.log
              и оно работает.
              Last edited by prostrelov; 20-03-2013, 09:06.

              Comment

              • ZeeD
                Junior Member
                • Jul 2010
                • 18

                #22
                Jimson, помоему это то что Вы ищите:
                https://www.zabbix.com/forum/showthread.php?t=19180

                Comment

                Working...