nxlog以syslog方式发送日志
1、nxlog簡介
????????nxlog是個跨平臺日志傳輸插件,支持linux、windows平臺,支持window及linux內置的大部分系統日志及常見的web日志,支持tcp、udp、http(s)等協議傳輸。
????????安裝包、指導手冊及常用配置下載:http://pan.baidu.com/s/1qWTc2g0
2、配置目的
????????通過nxlog將iis日志按syslog以udp的方式發送到linux服務器中作為linux服務器的syslog。
????????特殊需求:is日志中日期和時間是兩個字段,需要合并成一個字段。
3、系統及軟件環境
????????OS:window server2008 r2 Enterprise
????? ??IIS:7.5
????????Nxlog:2.9.1347
4、iis日志格式
5、nxlog配置步驟
????1)安裝nxlog
????默認是安裝在C:\Program Files (x86)\nxlog路徑下。
????2)修改nxlog.conf配置信息
????位置:C:\Program Files (x86)\nxlog\conf\nxlog.conf
????修改方式:請看下面
????3)重啟服務 ? ?
????4)驗證
????????????驗證去data目錄下看nxlog.log是否是否有異常,正常應該無異常,僅含啟動成功的日志信息
????????????通過資源監視器,看nxlog發送的網絡流量是否存在,正常應該有
????????????通過日志平臺來驗證日志是否發送成功。
6、nxlog配置示例
????1)當日志文件都放在一個文件夾,nxlog.conf配置如下
define?ROOT?C:\Program?Files?(x86)\nxlog define?CERTDIR?%ROOT%\cert Moduledir?%ROOT%\modules CacheDir?%ROOT%\data Pidfile?%ROOT%\data\nxlog.pid SpoolDir?%ROOT%\data LogFile?%ROOT%\data\nxlog.log<Extension?w3c>Module?xm_csvFields?$datetime,?$s-ip,?$cs-method,?$cs-uri-stem,?$cs-uri-query,?$c-ip,?$csUser-Agent,?$cs-Referer,?$cs-host,?$sc-status,?$sc-substatus,?$sc-win32-status,?$time-takenFieldTypes?string,?string,?string,?string,?string,?string,?string,?string,?string,?string,?string,?string,?stringDelimiter?'?'QuoteChar?'"'EscapeControl?TRUEUndefValue?- </Extension><Extension?syslog>Module?xm_syslog </Extension><Input?in>Module???im_file#iis日志目錄,文件名支持通配符,文件夾不支持File????"D:\iislog\W3SVC1\u_ex*.log"SavePos??TRUE#合并iis日志中的時間與日志字段為一個字段Exec?if?$raw_event?=~?/^#/?drop();? \else? \{? \$raw_event?=?replace($raw_event,?'?',?'@',1);????????\w3c->parse_csv();? \$raw_event?=?replace($raw_event,?'?',?"\t");?????????\$raw_event?=?replace($raw_event,?'@',?'?',1);????????\} </Input><Output?out>Module?om_udpHost?192.168.108.2Port?514Exec?to_syslog_bsd(); </Output><Route?1>Path?in?=>?out </Route>????2)日志文件都放在多個文件夾,nxlog.conf配置如下
define?ROOT?C:\Program?Files?(x86)\nxlog define?CERTDIR?%ROOT%\cert Moduledir?%ROOT%\modules CacheDir?%ROOT%\data Pidfile?%ROOT%\data\nxlog.pid SpoolDir?%ROOT%\data LogFile?%ROOT%\data\nxlog.log<Extension?w3c>Module?xm_csvFields?$datetime,?$s-ip,?$cs-method,?$cs-uri-stem,?$cs-uri-query,?$c-ip,?$csUser-Agent,?$cs-Referer,?$cs-host,?$sc-status,?$sc-substatus,?$sc-win32-status,?$time-takenFieldTypes?string,?string,?string,?string,?string,?string,?string,?string,?string,?string,?string,?string,?stringDelimiter?'?'QuoteChar?'"'EscapeControl?TRUEUndefValue?- </Extension><Extension?syslog>Module?xm_syslog </Extension><Input?in_machine_a>Module???im_file#iis日志目錄,文件名支持通配符,文件夾不支持File????'D:\iislog\W3SVC2\u_ex*.log'SavePos??TRUE#合并iis日志中的時間與日志字段為一個字段Exec?if?$raw_event?=~?/^#/?drop();? \else? \{? \$raw_event?=?replace($raw_event,?'?',?'@',1);????????\w3c->parse_csv();? \$raw_event?=?replace($raw_event,?'?',?"\t");?????????\$raw_event?=?replace($raw_event,?'@',?'?',1);????????\} </Input><Input?in_machine_b>Module???im_file#iis日志目錄,文件名支持通配符,文件夾不支持File????'\\192.168.108.3\d$\iislog\W3SVC2\u_ex*.log'SavePos??TRUE#合并iis日志中的時間與日志字段為一個字段Exec?if?$raw_event?=~?/^#/?drop();? \else? \{? \$raw_event?=?replace($raw_event,?'?',?'@',1);????????\w3c->parse_csv();? \$raw_event?=?replace($raw_event,?'?',?"\t");?????????\$raw_event?=?replace($raw_event,?'@',?'?',1);????????\} </Input><Output?out>Module?om_udpHost?192.168.108.2Port?514Exec?to_syslog_bsd(); </Output><Route?1>Path?in_machine_a,in_machine_b?=>?out </Route>????3)支持多個數據源和多個輸出
????????????配置多個in及out,可以共用一個path配置輸出。
7、nxlog配置過程中出現過的問題
????1)nxlog2.8版本發送異常的問題
????問題現象
2015-03-11 21:27:31 ERROR if-else failed at line 50, character 246 in C:\Program Files (x86)\nxlog\conf\nxlog.conf. statement execution has been aborted; procedure 'parse_csv' failed at line 50, character 103 in C:\Program Files (x86)\nxlog\conf\nxlog.conf. statement execution has been aborted; Not enough fields in CSV input, expected 14, got 0 in input ''
導致整個進程無法繼續輸出日志
????解決方法
替換使用2.9.1347版本的nxlog
????參考
http://nxlog.org/question/690/if-else-failed-not-enough-fields
8、性能分析
????????從使用來看,單臺服務器一天內大約會發送4到6G大小的日志到遠程linux中,nxlog進程占用的資源如下:cpu占用率一般在0%到3%之間;占用帶寬300k-600k/s之間;內存一般小于10M。
? ? ? ? 總體而言對性能影響較小,注意對帶寬的影響。
原文鏈接:http://www.alliedjeep.com/138487.htm
?
轉載于:https://www.cnblogs.com/Eleven-Liu/p/7742982.html
總結
以上是生活随笔為你收集整理的nxlog以syslog方式发送日志的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 牛奶盒喷码字符识别(基于opencv)—
- 下一篇: OD修改字符串