作為運(yùn)維人員垫竞,熟悉系統(tǒng)日志是一項(xiàng)基本功澎粟。本文將介紹centos6的系統(tǒng)日志rsyslog及l(fā)oganalyzer工具。
簡(jiǎn)介
系統(tǒng)日志:記錄歷史事件欢瞪,通常都是按時(shí)間順序?qū)l(fā)生的事件予以記錄活烙,linux上的日志分為syslogd(系統(tǒng)進(jìn)程相關(guān)日志)和klogd(內(nèi)核事件日志)
一、rsyslog日志系統(tǒng)配置參數(shù)
1遣鼓、配置文件啸盏,以及配置文件的定義格式
/etc/rsyslog.conf \\配置文件
日志定義格式: facility.priority Target
facility: 設(shè)施,從功能或程序上對(duì)日志進(jìn)行分類骑祟,并由專門的工具負(fù)責(zé)記錄日志宫补;
常用的facility:
lpr: 打印相關(guān)的日志
auth:認(rèn)證相關(guān)的日志
user:用戶相關(guān)的日志
cron:計(jì)劃任務(wù)相關(guān)的日志
kern:內(nèi)核相關(guān)的日志
mail:郵件相關(guān)的日志
mark:標(biāo)記相關(guān)的日志
news:新聞相關(guān)的日志
uucp:文件copy相關(guān)的日志
daemon:系統(tǒng)服務(wù)相關(guān)的日志
authpri: 授權(quán)相關(guān)的日志
security:安全相關(guān)的日志
local0-local7:自定義相關(guān)的日志信息(自定義時(shí)可以使用通配符)
通配符:
*:所有
f1,f2曾我,f3......:列表
7叟隆:取反
priority:日志級(jí)別
常用的日志級(jí)別:
debug: 調(diào)試
info: 消息
notice: 注意
warn,warning: 警告
err,error: 錯(cuò)誤
crit: 嚴(yán)重級(jí)別
alert: 需要立即修改該的信息
emerg,panic: 內(nèi)核崩潰,內(nèi)核恐慌等嚴(yán)重的信息
通配符:
*:所有日志級(jí)別
none:沒(méi)有任何級(jí)別抒巢,也就是不記錄日志信息
Target:文件路徑
可以使用的有:
①/var/log/messages
②用戶:*當(dāng)前登錄系統(tǒng)的所有用戶
③日志服務(wù)器:@SERAVER_IP
④管道:| COMMAND
事件格式:
時(shí)間 主機(jī) 進(jìn)程 事件本身
舉例:
mail.info /var/log/maillog: 比指定級(jí)別更高的日志級(jí)別贫贝,包括指定級(jí)別自身,保存到/var/log/maillog中
mail.=info /var/log/maillog: 明確指定日志級(jí)別為info蛉谜,保存至/var/log/maillog
mail.!info /var/log/maillog: 除了指定的日志級(jí)別(info)所有日志級(jí)別信息稚晚,保存至/var/log/maillog
*.info /var/log/maillog: 所有facility的info級(jí)別,保存至/var/log/maillog
mail.* /var/log/maillog: mail的所有日志級(jí)別信息型诚,都保存至/var/log/maillog
mail.notice;news.info /var/log/maillog: mail的notice以上記得日志級(jí)別和news的info以上的級(jí)別保存至/var/log/maillog
mail,news.crit -/var/log/maillog: mail和news的crit以上的日志級(jí)別保存/var/log/maillog中客燕;“-”代表異步模式
二、實(shí)驗(yàn)環(huán)境
主機(jī)名 | IP地址 | 負(fù)責(zé) |
---|---|---|
www.jcwtime.hk | 192.168.10.100 | 收集日志,MySQL |
c1.jcwtime.hk | 192.168.10.101 | web |
注意:所有服務(wù)器或客戶端關(guān)閉selinux狰贯、iptables
2.1啟用日志服務(wù)器接受其他服務(wù)器(Web)日志
---日志服務(wù)器(服務(wù)器)---
編輯配置文件也搓,去掉注釋并重啟服務(wù)
[root@www ~]# vim /etc/rsyslog.conf
# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
[root@www ~]# service rsyslog restart
---Web(客戶端)---
編輯配置文件赏廓,注釋新添規(guī)則并重啟服務(wù)
[root@C1 ~]# vim /etc/rsyslog.conf
#*.info;mail.none;authpriv.none;cron.none /var/log/messages
*.info;mail.none;authpriv.none;cron.none @192.168.10.100
[root@C1 ~]# service rsyslog restart
在Web(客戶端)測(cè)試安裝zsh,日志服務(wù)器可查看到日志
[root@www ~]# tail /var/log/messages
Aug 5 11:21:37 C2 yum[29781]: Installed: zsh-4.3.11-4.el6.centos.2.x86_64
2.2配置將日志信息存儲(chǔ)到數(shù)據(jù)庫(kù)
---日志服務(wù)器(服務(wù)器)---
安裝mysql及驅(qū)動(dòng)
[root@www ~]# yum install -y mysql-server rsyslog-mysql
[root@www ~]# rpm -ql rsyslog-mysql
/lib64/rsyslog/ommysql.so \\rsyslog連接mysql的驅(qū)動(dòng)模塊
/usr/share/doc/rsyslog-mysql-5.8.10 \\ rsyslog的文檔
/usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql \\rsyslog的數(shù)據(jù)庫(kù)以及表的各項(xiàng)定義,直接導(dǎo)入數(shù)據(jù)即可使用
[root@www ~]# service mysqld start
將生成的createDB.sql導(dǎo)入mysql數(shù)據(jù)庫(kù)
[root@www ~]# mysql -uroot -p </usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql
mysql -uroot -p
查看數(shù)據(jù)庫(kù):
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| Syslog |
| mysql |
| test |
+--------------------+
4 rows in set (0.05 sec)
使用Syslog:
mysql> USE Syslog;
查看表:
mysql> SHOW TABLES;
+------------------------+
| Tables_in_Syslog |
+------------------------+
| SystemEvents |
| SystemEventsProperties |
+------------------------+
2 rows in set (0.01 sec)
創(chuàng)建用戶傍妒、密碼并授權(quán)本地 訪問(wèn)Syslog數(shù)據(jù)庫(kù)
mysql> GRANT ALL ON Syslog.* TO 'rsysloguser'@'127.0.0.1' IDENTIFIED BY 'rsyslogpass';
Query OK, 0 rows affected (0.01 sec)
刷新權(quán)限:
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
配置ryslog.conf文件添加模塊ommysql,添加規(guī)則輸出到本地?cái)?shù)據(jù)庫(kù)Syslog,重啟服務(wù)
[root@www ~]# vim /etc/rsyslog.conf
#### MODULES ####
$ModLoad ommysql
$ModLoad imuxsock
$ModLoad imklog
#### RULES ####
#*.info;mail.none;authpriv.none;cron.none /var/log/messages
*.info;mail.none;authpriv.none;cron.none :ommysql:127.0.0.1,Syslog,rsysloguser,rsyslogpass
[root@www ~]# service rsyslog restart
Web(客戶端)測(cè)試安裝zsh,日志服務(wù)器tail /var/log/messages不會(huì)有zsh安裝日志幔摸,而是輸出到mysql
mysql> select * from SystemEvents\G;
*************************** 4. row ***************************
ID: 4
CustomerID: NULL
ReceivedAt: 2016-08-05 14:04:52
DeviceReportedTime: 2016-08-05 14:04:52
Facility: 1
Priority: 6
FromHost: C2
Message: Installed: zsh-4.3.11-4.el6.centos.2.x86_64
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: yum[32658]:
EventLogType: NULL
GenericFileName: NULL
SystemID: NULL
4 rows in set (0.00 sec)
2.3由于loganalzyer提供的動(dòng)態(tài)網(wǎng)頁(yè),所以我們要安裝httpd和php
[root@www ~]# yum -y install httpd php php-mysql
[root@www ~]# service httpd start
2.3.1訪問(wèn)web
1434074590797982.png
編輯測(cè)試頁(yè)并訪問(wèn)php
[root@www ~]# vim /var/www/html/index.php
<?php
phpinfo();
?>
2.3.2訪問(wèn)web
QQ截圖20160805141757.png
2.4配置loganalyzer日志分析工具颤练,便于日常維護(hù)
[root@www ~]# mkdir /var/www/html/loganalyzer
[root@www ~]# cd /var/www/html/loganalyzer
[root@www loganalyzer]# cp -a /root/loganalyzer-3.6.5/src/* .
[root@www loganalyzer]# cp -a /root/loganalyzer-3.6.5/contrib/* .
[root@www loganalyzer]# chmod +x ./configure.sh
[root@www loganalyzer]# chmod +x ./secure.sh
[root@www loganalyzer]# ./configure.sh
[root@www loganalyzer]# ./secure.sh
[root@www loganalyzer]# chmod 666 config.php
[root@www loganalyzer]# chown -R apache.apache ./*
2.4.1訪問(wèn)網(wǎng)頁(yè)安裝loganalyzer
1.png
2.png
3.png
4.png
5.png
6.png
7.png
8.png