準備工做:mysql
1,準備一臺存放日誌的mariadb數據庫服務器 2,確保selinux,iptables是關閉狀態
步驟:linux
yum install mariadb-server 也可選擇二進制安裝安裝數據庫參考: https://blog.51cto.com/13598893/2070289
CentOS-6啓動服務: service mariadb start CentOS-6設爲開機自動啓動:chkconfig mariadb on CentOS-7啓動服務:systemctl start maridb CentOS-7設爲開機自動啓動:systemctl enable maridb
"注意:爲了數據庫安全需運行一個安全腳本以下"sql
"mysql_secure_installation" 第一項問你:輸入root密碼 回車便可,由於沒有 第二項問你:須要設置root密碼麼,固然要 敲Y 第三項問你:須要刪除空帳號用戶麼,固然要 敲Y 第四項問你:禁止root用戶遠程登入麼,根據大家公司的須要 第五項問你:須要刪除test測試數據庫麼,刪除 第六項問你:如今從新加載權限表嗎 ,固然
安裝rsyslog-mysql包,此包的做用就是讓rsyslog服務具備鏈接數據庫的功能數據庫
yum install rsyslog-mysql
rpm -ql rsyslog-mysql /lib64/rsyslog/ommysql.so /usr/share/doc/rsyslog-mysql-5.8.10 /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql
scp /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql 目標主機IP:/dir
進到複製過來的文件的目錄下運行該命令 mysql -uroot -p < createDB.sql Enter password: #"-u指定用戶,-p輸入改用戶的密碼"
運行完該命令以後會在數據庫裏生成一個名爲Syslog的數據庫,裏面會有兩張表,vim
MariaDB [(none)]> show tables from Syslog; +----------------------------------+ | Tables_in_Syslog | +----------------------------------+ | SystemEvents |#"存放系統事件" | SystemEventsProperties | #"存放系統事件屬性" +----------------------------------+ 2 rows in set (0.00 sec)
接下來須要建立一個對於Syslog數據庫管理員帳號centos
MariaDB [(none)]>grant ALL on Syslog.* to syslog@'192.168.136.6' identified by 'centos'; 命令解析: "grant:"創鍵受權用戶 "ALL:" 表示對Syslog這個數據庫擁有全部權限 "syslog@'192.168.136.6'":其中syslog是用戶名,而192.168.136.6表示該用戶只能在這臺主機上登錄,這也是爲了安全起見, "identified by 'centos':"這identified by後面單引號裏跟的就是該用戶的密碼了 'centos'最後別忘了";"結尾
vim /etc/rsyslog.conf # 在#### MODULES ### #"下加上這麼一行配置,做用就是讓rsyslog支持鏈接數據庫功能" "$ModLoad ommysql" # 在#### RULES ####下設置那些日誌須要存到數據庫裏 語法格式: facility.priority :ommysql:DBHOST,DBNAME,DBUSER,PASSWORD 例如: *.info;mail.none;authpriv.none;cron.none :ommysql:192.168.136.7,Syslog,syslog,centos
CentOS-6重啓:service rsyslog restart CentOS-7重啓:systemctl restart rsyslog
logger -p *.info "The is mysqllog text log" #該命令做用就是發送一條任意設施,info級別以上的日誌,內容是"The is mysqllog text log"
MariaDB [Syslog]> select * from SystemEvents\G *************************** 1. row *************************** ID: 1 CustomerID: NULL ReceivedAt: 2018-02-09 22:05:05 DeviceReportedTime: 2018-02-09 22:05:05 Facility: 0 Priority: 6 FromHost: centos6 Message: Kernel logging (proc) stopped. NTSeverity: NULL Importance: NULL EventSource: NULL EventUser: NULL EventCategory: NULL EventID: NULL EventBinaryData: NULL MaxAvailable: NULL CurrUsage: NULL MinUsage: NULL MaxUsage: NULL InfoUnitID: 1 SysLogTag: kernel: EventLogType: NULL GenericFileName: NULL SystemID: NULL *************************** 2. row *************************** ID: 2 CustomerID: NULL ReceivedAt: 2018-02-09 22:05:05 DeviceReportedTime: 2018-02-09 22:05:05 Facility: 5 Priority: 6 FromHost: centos6 Message: [origin software="rsyslogd" swVersion="5.8.10" x-pid="12390" x-info="http://www.rsyslog.com"] exiting on signal 15. NTSeverity: NULL Importance: NULL EventSource: NULL EventUser: NULL EventCategory: NULL EventID: NULL EventBinaryData: NULL MaxAvailable: NULL CurrUsage: NULL MinUsage: NULL MaxUsage: NULL InfoUnitID: 1 SysLogTag: rsyslogd: EventLogType: NULL GenericFileName: NULL SystemID: NULL *************************** 3. row *************************** ID: 3 CustomerID: NULL ReceivedAt: 2018-02-09 22:05:05 DeviceReportedTime: 2018-02-09 22:05:05 Facility: 0 Priority: 6 FromHost: centos6 Message: imklog 5.8.10, log source = /proc/kmsg started. NTSeverity: NULL Importance: NULL EventSource: NULL EventUser: NULL EventCategory: NULL EventID: NULL EventBinaryData: NULL MaxAvailable: NULL CurrUsage: NULL MinUsage: NULL MaxUsage: NULL InfoUnitID: 1 SysLogTag: kernel: EventLogType: NULL GenericFileName: NULL SystemID: NULL *************************** 4. row *************************** ID: 4 CustomerID: NULL ReceivedAt: 2018-02-09 22:05:05 DeviceReportedTime: 2018-02-09 22:05:05 Facility: 5 Priority: 6 FromHost: centos6 Message: [origin software="rsyslogd" swVersion="5.8.10" x-pid="12631" x-info="http://www.rsyslog.com"] start NTSeverity: NULL Importance: NULL EventSource: NULL EventUser: NULL EventCategory: NULL EventID: NULL EventBinaryData: NULL MaxAvailable: NULL CurrUsage: NULL MinUsage: NULL MaxUsage: NULL InfoUnitID: 1 SysLogTag: rsyslogd: EventLogType: NULL GenericFileName: NULL SystemID: NULL *************************** 5. row *************************** ID: 5 CustomerID: NULL ReceivedAt: 2018-02-09 22:05:56 DeviceReportedTime: 2018-02-09 22:05:56 Facility: 1 Priority: 5 FromHost: centos6 Message: The is mysqllog text log NTSeverity: NULL Importance: NULL EventSource: NULL EventUser: NULL EventCategory: NULL EventID: NULL EventBinaryData: NULL MaxAvailable: NULL CurrUsage: NULL MinUsage: NULL MaxUsage: NULL InfoUnitID: 1 SysLogTag: root: EventLogType: NULL GenericFileName: NULL SystemID: NULL 5 rows in set (0.00 sec)