syslog之三:建立Windows下面的syslog日誌服務器

 

 

我們需要測試一種集中日誌系統,要在Windows上建立一個類Linux下的集中日誌系統。

經過比較Winsyslog和Kiwisyslog等工具,最終選定Kiwisyslog(http://www.kiwisyslog.com/),它不僅功能齊全,而且提供免費的版本。

安裝完成後,打開Kivi syslog service Manager,啓動一個Syslogd service如下圖:

web訪問顯示日誌

 

 

Kiwisyslog遵循標準的日誌協議(RFC 3164),並支持UDP/TCP/SNMP幾種方式的日誌輸入。它默認是個免費的功能受限版(但功能基本夠用了,只是沒有找到漢化),自帶發送模擬器﹑日誌瀏覽器等實用工具。

我還測試了一下把ACE日誌寫到syslog的功能。過程記錄如下:


1)使用klog工具

這個主要用到kiwisyslog的klog實用工具(這個工具同時提供dll庫的調用方式,真是好東西,我決定以後在我的應用裏都用它!),它支持直接或用重定向的方法輸出日誌到kiwisyslog。

klog –m "It's almost lunchtime"

DIR *.* | klog -h 192.168.1.2 -i


但我試圖使用ACE應用日誌輸出到kiwisyslog時(ace_app.exe | klog -h 192.168.1.2 -i的形式),發現日誌內容裏前後有亂碼出現,即ACE的日誌輸出直接重定向到klog再轉到kiwisyslog有問題;並且不能按時間一行一行的輸出,而是等應用程序執行結束時一股腦輸出到kiwisyslog(按回車換行切開成一條一條日誌)。如果程序非正常結束,還不能將輸出日誌內容傳到kiwisyslog。


還有一個方法是在Windows通過設置可以把ACE日誌輸出到系統日誌裏面。

 ACE_LOG_MSG->set_flags (ACE_Log_Msg::SYSLOG);

然後按下面2)的方法轉到kiwisyslog。


2)還可以把Windows下的事件日誌轉到Linux下的syslog

我們需要第三方的軟件來將windows的日誌轉換成syslog類型的日誌後,轉發給syslog服務器。

介紹第三方軟件evtsys (全稱是evntlog to syslog)

 

文件才幾十K大小,非常小巧,解壓後是兩個文件evtsys.dll和evtsys.exe

把這兩個文件拷貝到 c:/windows/system32目錄下。

 

打開Windows命令提示符(開始->運行 輸入CMD)

C:/>evtsys –i –h 192.168.10.100

-i 表示安裝成系統服務

-h 指定log服務器的IP地址

如果要卸載evtsys,則:

net stop evtsys

evtsys -u

 

啓動該服務:

C:/>net start evtsys

 

打開windows組策略編輯器 (開始->運行 輸入 gpedit.msc)

 

在windows設置-> 安全設置 -> 本地策略 ->審覈策略 中,打開你需要記錄的windows日誌。evtsys會實時的判斷是否有新的windows日誌產生,然後把新產生的日誌轉換成syslogd可識別的格式,通過UDP 3072端口發送給syslogd服務器。 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章