標籤:日誌mysql存放
為了統計方便,我們要從日誌中選擇一些訊息放到資料庫。對資料庫讀寫支援要在編譯時間就要加上參數,還要在設定檔中開啟對應的模組。模組如果很多監控都需要到資料庫模組,可以放到/etc/rsyslog.conf全域設定檔裡,如果只是某個監控收集用到那就放到/etc/rsyslog.d/的對應局部設定檔裡。
1.編譯。
./configure --enable-mysql
2.模組、產生的模板。
ommysql # mysql輸出模組ompgsql # PostgreSQL的輸出模組omlibdbi # 通用資料庫輸出模組(Firebird/Interbase,MS-SQL,Sybase,SQLite,Ingres,Oracle,mSQL)$template insertpl,"insert into SystemEvents (Message, Facility, FromHost, FromIP, Priority, DeviceReportedTime, ReceivedAt, InfoUnitID, SysLogTag) values (‘%msg%‘, %syslogfacility%, ‘%HOSTNAME%‘, ‘%fromhost-ip%‘, %syslogpriority%, ‘%timereported:::date-mysql%‘, ‘%timegenerated:::date-mysql%‘, %iut%, ‘%syslogtag%‘)",SQL
3.使用
用法:local4.* :ommysql:server:port,yourdb,yourname,yourpass;
例子:local4.* :ommysql:127.0.0.1:3306,yourdb,yourname,yourpass;
4.全域設定檔樣本。
vi /etc/rsyslog.conf //編輯rsyslog通用檔案
# rsyslog v5 configuration file# For more information see /usr/share/doc/rsyslog-*/rsyslog_conf.html# If you experience problems, see http://www.rsyslog.com/doc/troubleshoot.html#### MODULES ####$ModLoad imuxsock #provides support for local system #logging (e.g. via logger command)#Unix通訊端,包括系統日誌socket$ModLoad imklog # provides kernel logging support(previously done by rklogd)#module(load"immark") # provides --MARK-- message capability#mysql輸出模組$ModLoad ommysql#PostgreSQL的輸出模組$ModLoad ompgsql#通用資料庫輸出模組(Firebird/Interbase,MS SQL,Sybase,SQLite,Ingres,Oracle,mSQL)$ModLoad omlibdbi# Provides UDP syslog reception# UDP傳輸,只在rsyslog作伺服器時候使用#$ModLoad imudp#$UDPServerRun 514#Provides TCP syslog reception# TCP傳輸,只在rsyslog作伺服器時候使用#$ModLoad imtcp# tcp接收資訊的連接埠#$InputTCPServerRun 514#增加資料庫插入語句$template insertpl,"insert into SystemEvents (Message, Facility, FromHost, FromIP, Priority, DeviceReportedTime, ReceivedAt, InfoUnitID, SysLogTag) values (‘%msg%‘, %syslogfacility%, ‘%HOSTNAME%‘, ‘%fromhost-ip%‘, %syslogpriority%, ‘%timereported:::date-mysql%‘, ‘%timegenerated:::date-mysql%‘, %iut%, ‘%syslogtag%‘)",SQL#### GLOBAL DIRECTIVES ##### Use default timestamp format$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat# File syncing capability is disabled by default. This feature is usually not required,# not useful and an extreme performance hit#$ActionFileEnableSync on# Include all config files in /etc/rsyslog.d/#模組化局部設定檔存放,預設載入全部.conf尾碼的檔案$IncludeConfig /etc/rsyslog.d/*.conf#### RULES ##### Log all kernel messages to the console.# Logging much else clutters up the screen.#kern.* /dev/console# Log anything (except mail) of level info or higher.# Don‘t log private authentication messages!*.info;mail.none;authpriv.none;cron.none /var/log/messages# The authpriv file has restricted access.authpriv.* /var/log/secure# Log all the mail messages in one place.mail.* /var/log/maillog# Log cron stuffcron.* /var/log/cron# Everybody gets emergency messages*.emerg :omusrmsg:*# Save news errors of level crit and higher in a special file.uucp,news.crit /var/log/spooler# Save boot messages also to boot.loglocal7.* /var/log/boot.log# ### begin forwarding rule #### The statement between the begin ... end define a SINGLE forwarding# rule. They belong together, do NOT split them. If you create multiple# forwarding rules, duplicate the whole block!# Remote Logging (we use TCP for reliable delivery)## An on-disk queue is created for this action. If the remote host is# down, messages are spooled to disk and sent when it is up again.#$WorkDirectory /var/lib/rsyslog # where to place spool files#$ActionQueueFileName fwdRule1 # unique name prefix for spool files#$ActionQueueMaxDiskSpace 1g # 1gb space limit (use as much as possible)#$ActionQueueSaveOnShutdown on # save messages to disk on shutdown#$ActionQueueType LinkedList # run asynchronously#$ActionResumeRetryCount -1 # infinite retries if host is down# remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional#*.* @@remote-host:514# ### end of the forwarding rule ####日誌如非本機存放區,需指定遠程收集Log Service器IP:Port *.* :ommysql:192.168.1.251:514 #表示所有類型的日誌都提交
重啟Log Service,修改完設定檔一定要重啟服務才會生效
# service rsyslog restart
參考文章:
http://www.oschina.net/question/12_4191
http://zhaomengsen.iteye.com/blog/2059236
http://www.ituring.com.cn/article/128536
本文出自 “悟透的雜貨鋪” 部落格,請務必保留此出處http://wutou.blog.51cto.com/615096/1766272
Syslog-ng+Rsyslog收集日誌:寫入資料庫MySQ, MS-SQL,SQLite, mSQL(六)