rsyslog日志記錄服務器
部分思路總結摘自網絡http://xuding.blog.51cto.com/4890434/1737947
一、syslog系統
1.syslog:系統日志服務,統一日志管理
支持C/S架構:可通過UDP或TCP協議提供日志記錄服務;實現集中收集日志功能
(1)日志、事件
歷史事件日志,保存系統上過去一段時間的發生的事件 事件:系統引導啟動、應用程序啟動、應用程序尤其是服務類應用程序運行過程中的一些事件;
(2)syslog種類
syslogd:system系統日志 klogd:kernel內核日志
2.syslog格式
事件產生的日期時間 主機 進程[pid] :事件內容 syslog系統僅能記錄較為簡單的事件格式,并非所有應用程序都會使用syslog記錄,如httd
二、rsyslog日志系統
(1)facility:設施,從功能或程序上對日志收集進行分類;
auth:各應用程序認證功能相關 authpriv:各應用與授權相關 cron:與計劃性任務相關 daemon: 和守護進程相關 kern:和內核相關 lpr:和打印系統相關 mail:和郵件系統相關 mark:和防火墻標記相關 news:和新聞組相關 security:和安全相關 user:和用戶相關 uucp:unix to unix copy,unix系統間復制協議相關 local0-local7:8個可自定義使用分類模式 syslog:其他,不便于歸類的全都記錄在此處
(2)priority:優先級,日志級別
從低到高:debug, info, notice, warn(warning), err(error), crit(critical),alert, emerg(panic) 指定級別格式: *:所有級別; none:沒有級別,不記錄日志; priority:此級別(含)及其以上的所有級別; =priorty:僅指定的級別;
三、rsyslogd日志系統服務器
rsyslog程序環境:
配置文件:/etc/rsyslog.conf, /etc/rsyslog.d/ 主程序:/usr/sbin/rsyslogd 模塊路徑:/usr/lib64/rsyslog/ Unit File:/usr/lib/systemd/system/rsyslog.service
配置文件格式:
有三部分組成:嚴格按照配置段位置添加配置 MODULES :指明加載模塊,$ModLoad指令進行模塊裝載 GLOBAL DIRECTIVES :全局配置指令 RULES :日志記錄規則;格式:facilty.priority target RULES: facility.priority target facility: *:所有的facility; f1,f2,f3,...:列表中給定的所有facility; auth,authpriv,security.info f1.p1;f2,p2;f3.p3;...:列表中給定的所有facility; auth.info;authpriv.notic;security,warn; priority: *:所有級別 none:沒有級別,不記錄日志; PRIORITY:此級別(含)及其以上的所有級別; =PRIORITY:僅指定的級別; target: 文件:將日志信息記錄到指定的文件中;文件路徑之前的“-”表示異步寫入之意; 用戶:將日志事件通知給指定的用戶;一般指登錄到當前系統上的所有用戶的終端; 日志服務器:@rsyslog_server,把日志信息發往指定的日志服務器; 管道:|COMMAND
其它幾個日志文件:
/var/log/wtmp:當前系統成功登錄系統的日志;需要使用last命令查看 /var/log/btmp:當前系統嘗試登錄系統失敗相關的日志;需要使用lastb命令查看 lastlog:顯示當前系統上的所有用戶最近一次登錄系統的時間; /var/log/dmesg:系統引導過程中的日志信息;也可以使用dmesg命令進行查看;
命令行客戶端程序:
logger - a shell command interface to the syslog(3) system log module logger [options] [message]
配置rsyslog服務器的配置項:
(1)客戶端:配置文件@HOST指明,輸出到的服務器端,重啟服務
(2)在/etc/rsyslog.conf文件MODULES段開啟模塊服務,使其監聽在默認端口514,并重啟服務器即可
#### modules #### ………… # Provides UDP syslog reception $ModLoad imudp $UDPServerRun 514 # Provides TCP syslog reception $ModLoad imtcp $InputTCPServerRun 514
配置基于Mysql存儲日志信息
前提:準備好msql server或mariadb server;
(1) 安裝rsyslog連接至mysql server的驅動模塊;
# yum install rsyslog-mysql
(2) 在mysql server準備rsyslog專用的用戶賬號;
GRANT ALL ON Syslog.* TO 'rsyslog'@'127.0.0.1' IDENTIFIED BY 'rsyslogpass'; GRANT ALL ON Syslog.* TO 'rsyslog'@'local' IDENTIFIED BY 'rsyslogpass'; flush privileges;
(3) 生成所需要的數據庫和表;通過導入createDB.sql腳本創建
mysql -ursyslog -h127.0.0.1 -prsyslogpass < /usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql 創建完之后進入mysql進行驗證 ]# mysql MariaDB [(none)]> show databases; MariaDB [(none)]> use Syslog; MariaDB [Syslog]> show tables; MariaDB [Syslog]> desc SystemEvents;
(4) 配置rsyslog使用ommysql模塊
# vim /etc/rsyslog.conf #### MODULES #### ...... $ModLoad ommysql
(5) 配置RULES,將所期望的日志信息記錄于mysql中;
facility.priority :ommysql:DBHOST,DB,DBUSER,DBUSERPASS
(6) 重啟rsyslog服務;
]# systemctl restart rsyslog.service ]# systemctl status rsyslog.service 查看服務狀態是否OK ]#mysql MariaDB [(none)]> use Syslog; MariaDB [(none)]> select * from SystemEvents; 如果有數據,則表示成功。
(7) loganalyzer
WebGUI, 運行amp環境中; (a) 準備amp環境 # yum install httpd php php-mysql php-gd # systemctl start httpd.service (b) 安裝loganalyzer # tar xf loganalyzer-VERSION.tar.gz # cd loganalyzer-VERSION # cp -a src /var/www/html/loganalyzer-VERSION # cd /var/www/html # ln -sv loganalyzer-VERSION log # cd /root/loganalyzer-3.6.5/ # cp contrib/* /var/www/html/log # cd /var/www/html/log # chmod +x *.sh # ./configure.sh 通過URL訪問http://HOST/log進行安裝
出現報錯如下,需要修改config.php配置文件中localhost為127.0.0.1
# vim config.php
# ./secure.sh
原創文章,作者:M20-1馬星,如若轉載,請注明出處:http://www.www58058.com/58152