Gå til innhold

php syslog-ng problem


Anbefalte innlegg

Jeg kastet meg inn i Linux verndnen for et par uker siden med et mål for øyet, og det var å få opp en syslog server. Primært mot en Juniper NetScreen brannmur men også andre nettverksenheter.

 

Og alt fungerer fint foruten logger fra NetScreen'en, dem uteblir fra MySQL basen.

 

Alle meldinger mot syslog-ng blir matet inn i en pipe (mysql.pipe) som igjen blir pushet inn i basen. Jeg tok å brukte "cat mysql.pipe" og så med en gang att MySQL klaget over NetScreen'ens logger. ERROR at line 1: Unknown command '\"' hang bak hver melding, men med skiftende linje nummer.

 

Jeg har prøvd å sammenligne NetScreen'ens melding mot meldinger fra Cisco bokser og slutten på dem er noe forskjellig. Ser ut som NetScreen'ens meldinger ikke blir formatert/terminert riktig av syslog-ng skriptet slikt at MySQL ikke skjønner at her er det stop eller no.

 

 

Her er et eksempel på logger som blir droppet.

INSERT INTO logs

(host, facility, priority, level, tag, datetime, program, msg)

VALUES ( 'X.X.X.X', 'local0', 'notice', 'notice', '85', '2006-05-30 08:14:45',

'lokalhostnavn', 'lokalhostnavn: NetScreen device_id=hostname [Root]system-notification-00019: Syslog facility for X.X.X.X has been changed to local0 (2006-05-30 11:14:43)INSERT INTO logs

(host, facility, priority, level, tag, datetime, program, msg)

VALUES ( 'X.X.X.X', 'local0', 'notice', 'notice', '85', '2006-05-30 08:14:45',

'lokalhostnavn', 'lokalhostnavn: NetScreen device_id=n23s-ns204 [Root]system-notification-00019: Transport protocol for syslog server X.X.X.X was changed to udp (2006-05-30 11:14:43)INSERT

INTO logs

(host, facility, priority, level, tag, datetime, program, msg)

VALUES ( 'X.X.X.X', 'local0', 'info', 'info', '86', '2006-05-30 08:14:45',

'lokalhostnavn', 'lokalhostnavn: NetScreen device_id=n23s-ns204 [Root]system-information-00767: System configuration saved by netscreen via web from host X.X.X.X to X.X.X.X:80 by netscreen

(2006-05-30 11:14:43) INSERT INTO logs

(host, facility, priority, level, tag, datetime, program, msg)

VALUES ( 'X.X.X.X', 'local4', 'warning', 'warning', 'a4', '2006-05-30 11:14:45',

'%PIX-4-106023', '%PIX-4-106023: Deny udp src srv-dmz:X.X.X.X/4439 dst rtr-dmz:X.X.X.X/53 by access-group \"srv-acl\" ' );

 

 

Og her er meldinger som er problemfrie:

INSERT INTO logs

(host, facility, priority, level, tag, datetime, program, msg)

VALUES ( 'X.X.X.X', 'local7', 'warning', 'warning', 'bc', '2006-05-30 08:17:47',

'324547', '324547: May 30 11:17:45: %CDP-4-DUPLEX_MISMATCH: duplex mismatch discovered on FastEthernet0/19 (not half duplex), with nabohostnavn Ethernet0 (half duplex).' );

INSERT INTO logs

(host, facility, priority, level, tag, datetime, program, msg)

VALUES ( 'X.X.X.X', 'local4', 'err', 'err', 'a3', '2006-05-30 11:17:47',

'%PIX-3-710003', '%PIX-3-710003: UDP access denied by ACL from X.X.X.X/53252 to inside:X.X.X.X/snmp ' );

 

 

Og her er biten i syslog-ng som mater det i pipe'en:

destination d_mysql {

pipe("/var/log/mysql.pipe"

template("INSERT INTO logs

(host, facility, priority, level, tag, datetime, program, msg)

VALUES ( '$HOST', '$FACILITY', '$PRIORITY', '$LEVEL', '$TAG', '$YEAR-$MONTH-$DAY $HOUR:$MIN:$SEC',

'$PROGRAM', '$MSG' );\n") template-escape(yes));

};

 

 

Jeg har prøvd å finne løsninger med googling men har kunn funnet lignende spørsmål uten noen oppklaring, jeg er heller ikke noen skript guru så jeg har møtt veggen i å løse dette selv.

 

Noe system informasjon:

Xen 2.0.7\Debian 3.1r2

syslog-ng 1.6.5

mysql Ver 12.22 Distrib 4.0.24

 

 

På forhånd takk.

Lenke til kommentar
Videoannonse
Annonse

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...