2017-10-24 2 views
0

tcp 연결을 통해 syslog-ng에 로그를 캡처하려고합니다. 로그는 다음과 같습니다.TCP/네트워크 모듈을 통한 syslog-ng multiline 입력

1810717353--user--notice--IPV4----2017-10-23T16:03:23.015170-04:00--<11>Oct 23 16:03:23 HOSTNAME [443-Multiplexer][0x80000001][xsltmsg][error] xmlfirewall(443-Multiplexer): trans(2607607975)[error][ip] gtid(value): 
1810717354--user--notice--IPV4----2017-10-23T16:03:23.015170-04:00--     Default rule caught error code ' 
1810717355--user--notice--IPV4----2017-10-23T16:03:23.015170-04:00--     0x00230001 
1810717356--user--notice--IPV4----2017-10-23T16:03:23.015170-04:00--     ' 
1810717357--user--notice--IPV4----2017-10-23T16:03:23.015170-04:00-- 
1810717358--user--notice--IPV4----2017-10-23T16:03:23.015170-04:00--<14>Oct 23 16:03:23 HOSTNAME [443-Multiplexer][value][multistep][info] xmlfirewall(443-Multiplexer): trans(2607607975)[error][ip] gtid(2607607975): 

입력 중에 syslog 헤더를 제거 할 수있는 방법이 있습니까? 로그가 여러 줄로 남아 있으면 읽을 때 logstash로 패키지 할 수 있지만 파일에 쓸 때 로그에 헤더가 포함되도록해야합니다.

다음은 현재 syslog-ng입니다. 설정 :

@version: 3.6 
#@include "scl.conf" 

options { 
     flush_lines (0); 
     frac-digits(8); 
     use-rcptid (yes); 
     time_reopen (10); 
     log_fifo_size (1000); 
     chain_hostnames (off); 
     use_dns (no); 
     use_fqdn (no); 
     create_dirs (no); 
     keep_hostname (yes); 
     use-rcptid (yes); 
     threaded(yes); 
     log_msg_size(32768); 
}; 
    source sourcename 
    { 
     network(ip("0.0.0.0") port(5521) flags(no-parse)); 
    }; 
    destination destname 
    { 
     file("/opt/elk/data/syslogs/datapower/${HOST}.log" 
      #follow-freq(0) multi-line-mode(regexp) multi-line-prefix("^\<\[0-9]{2}\>[A-z]{3} [0-9]{2} [0-9]{2}\:[0-9]{2}\:[0-9]{2}") 
      create_dirs(yes) dir_owner("elkuser") dir_group("users") dir_perm(0700) 
      owner("user") group("group") perm(0600) 
      template("${RCPTID}--$FACILITY--$PRIORITY--$FULLHOST--$PROGRAM--$ISODATE--${MSGHDR}${MSG}\n") 
     ); 
    }; 

감사

답변

0

난 당신이 메시지를 분할 할 위치를 잘 모르겠지만, 그에 따라 다음 작업을 수행 할 수 있습니다

또한, 당신이 어떻게 든 Elasticsearch하기 위해 로그를 보내는 것 같다 (적어도 그 대상에서 엘크가 무엇의 약자인지 용의자) : 시스템 로그-NG의 최신 버전은 직접이 작업을 수행 할 수 있습니다 https://www.balabit.com/documents/syslog-ng-ose-latest-guides/en/syslog-ng-ose-guide-admin/html/configuring-destinations-elasticsearch2.html

HTH, 로버트