Нельзя. Формат данных должен быть определенный
Ad Widget
Collapse
Cisco devices logging
Collapse
X
-
Есть ещё небольшой вопрос.
Требуется писать значения напрямую в базу zabbix'a в ключ zabbix trapper'a и не только.
Подскажите пожалуйста куда именно следует записывать значения ;
в таблицу Items поле <LastValue> или сами данные хранятся в другой таблице и другом поле ?Comment
-
Это будет достаточно сложный механизм, во первых последнии данные пишутся прям в таблицу items для числовых данных, во вторых есть таблицы trends и history для каждого типа данных, в третьих при нормальном поступлении данных они вначале попадают в кэш и запускаются проверки тригеров. Я бы не советовал писать данные напрямую в базу.Есть ещё небольшой вопрос.
Требуется писать значения напрямую в базу zabbix'a в ключ zabbix trapper'a и не только.
Подскажите пожалуйста куда именно следует записывать значения ;
в таблицу Items поле <LastValue> или сами данные хранятся в другой таблице и другом поле ?
P.S. а еще это оффтоп для данного топика, не клево превращать темы в обсуждение всего подрядComment
-
Спасибо за ответ.
Это не офтоп. Задача построена в разрезе подключения 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
-
А у вас что темплейт называется 192.168.0.1 ?
На сколько я помню понятие шаблона вывода есть у большинства реализаций syslogd и у всех у них это шаблон по которому генерируется строка, более того, по шаблонам создаются и те строчки которые пишутся в файловые журналы.Comment
-
нет. 192.168.0.1 это параметр который требуется передать в скрипт.
в rsyslog шаблон может использоваться и как некая альтернатива переменной.
часто встречающийся пример:
здесь шаблон FILENAME используется для того чтобы получать в путь значение источника сообщения.Code:$template FILENAME,"/var/log/syslog/%fromhost-ip%/syslog.log" *.* ?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
Comment