LINUX.ORG.RU
ФорумAdmin

syslog-ng парсим цепочки key-value пар произвольной длинны

 , ,


0

1

Приветствую. Есть железяка - dfl 860. Кладет логи формата

May 14 10:29:47 192.168.2.162 [2013-05-14 10:39:45] FW: CONN: prio=1 id=00600004 rev=1 event=conn_open_natsat rule=LanToWan conn=open connipproto=TCP connrecvif=lan connsrcip=192.168.2.28 connsrcport=59171 conndestif=Inet conndestip=94.245.82.11 conndestport=80 connnewsrcip=2.134.196.117 connnewsrcport=18533 connnewdestip=94.245.82.11 connnewdestport=80
May 14 10:31:12 192.168.2.162 [2013-05-14 10:41:10] FW: CONN: prio=1 id=00600005 rev=1 event=conn_close_natsat action=close rule=LanToWan conn=close connipproto=TCP connrecvif=lan connsrcip=192.168.2.28 connsrcport=59171 conndestif=Inet conndestip=94.245.82.11 conndestport=80 connnewsrcip=2.134.196.117 connnewsrcport=18533 connnewdestip=94.245.82.11 connnewdestport=80 origsent=912 termsent=561 conntime=85
May 14 11:05:47 192.168.2.162 [2013-05-14 11:15:45] FW: CONN: prio=1 id=00600004 rev=1 event=conn_open_natsat rule=LanToWan conn=open connipproto=UDP connrecvif=lan connsrcip=192.168.2.155 connsrcport=6881 conndestif=Inet conndestip=89.74.115.166 conndestport=6881 connnewsrcip=2.134.196.117 connnewsrcport=18533 connnewdestip=89.74.115.166 connnewdestport=6881

Никак не могу найти описание как настроить парсер вложенный для распарсивания переменного количества параметров «имя=значение».

Через csv-parser отбросил все ненужное и получил уже строку вида «name1=value1 name2=value2 name3=value3», но дальше уже csv-parser не поможет, потому как количество и местоположение параметров переменное.

Вопрос. Можно ли и как с помощью стандартных настроек или каких либо regexp парсера syslog-ng получить данные уже в его переменных вида $name1 $name2 и $name3, чтобы их уже в format вставить и в пайп отослать.

бери в руки echo, sed, awk, tr и делай, что нужно. а да. и cat не забудь

i_gnatenko_brain ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.