rsyslog
日志:歷史事件; 歷史事件:時間、地點、事件;
syslog: klogd:kernel yslogd:system(application)
事件記錄格式:日期時間 主機 進程[pid]:事件內容;
C/S架構;通tcp或udp協議的服務完成日志記錄的傳送;
rsyslog: rsyslog的特性: – 多線程; – UDP/TCP/SSL/TLS/RELP; – 存儲日志信息于MySQL,PGSQL,oracle,等RDBMS; – 強大的過濾器,實現過濾日志信息中的任何部分的內容; – 自定義輸出格式; – ……
elk
ELK由Elasticsearch、Logstash和Kibana三部分組件組成; Elasticsearch*是個開源分布式搜索引擎,它的特點有:分布式,零配置,自動發現,索引自動分片,索引副本機制,restful風格接口,多數據源,自動搜索負載等。 Logstash是一個完全開源的工具,它可以對你的日志進行收集、分析,并將其存儲供以后使用 kibana 是一個開源和免費的工具,它可以為 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以幫助您匯總、分析和搜索重要數據日志。
rsyslog日志收集器的基本術語;
facility:設施,收束日志數據流為有限幾個; auth,authpriv,cron,daemon,kern,lpr,mail,mark,news,security,user,uucp,syslog,local0-local7 priority:優先級 debuf,info,notice,warn(warning),err(error),crit(critical),alert,emerg(panic)
程序包:rsyslog
程序環境: 配置文件:/etc/rsyslog.conf,/etc/rsyslog.d/\*.conf
主程序:/usr/sbin/rsyslogd
CentOS 6:service rsyslogs {start|stop|restart|status}
CentOS 7:/usr/lib/systemd/system/rsyslog.service
配置文件格式: 由三部分組成: – MODULES :模塊配置 – GLOBAL DIRECTIVES:全局配置 – RULES:日志記錄相關配置 – ( begin forwarding rule RULES:
配置格式: facility.priority target - 表示異步寫入
facility: *:所有的facility; f1,f2,f3,…:指定的facility列表; priority: *:所有級別 none:沒有級別; PRIORITY:指定級別(含)以上的所有級別; =PRIORITY:僅記錄指定級別的日志信息;
target: 文件:將日志信息記錄到指定的文件中,文件路徑前的-表示異步寫入; 用戶:將日志時間通知給指定的用戶; 日志服務器:@host,把日志通過網絡送往指定的服務器記錄,而非由本地記錄; 管道:|COMMAND
其他的日志文件:
/var/log/secure
:系統安全日志,應該周期性分析; /var/log/btmp
:當前系統上用戶的失敗嘗試登錄相關的日志信息,lastb命令可以查看 /var/log/wtmp
:當前系統上,用戶正常登陸系統的相關日志信息,last命令可以查看
lastlog
:用于查看當前系統上每一個用戶最后一次登陸的信息。
/var/log/messages
:系統日志信息; /var/log/desg
:系統引導過程中的日志信息; 文本查看工具查看; 也可以使用專用命令dmesg查看;
配置rsyslog成為日志服務器;
vim /etc/rsyslog.conf##### MODULES #####Provides UDP syslog reception$ModLoad imudp$UDPServerRun 514Provides TCP syslog reception$ModLoad imtcp$InputTCPServerRun 514systemctl restart rsyslog
rsyslog將日志記錄于MySQL中;
(1)準備MySQL server
yum install mariadb mariadb-server
(2)在MySQL server上授權rsyslog能連接至當前服務器;
mysqlgrant all on Syslog.\* to 'rsyslog'@'%' identified by 'magedu';
(3)在rsyslog主機上安裝MySQL模塊相關的程序包
yum install rsyslog-mysql
(4)為rsyslog創建數據庫及表;
mysql -uUSERNAME -hHOST -pPASSWORD < /usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql
(5)配置rsyslog將日志保存于MySQL中;
vim /etc/rsyslog.conf### MODULES ###$ModLoad ommysql### RULES ###facility.priority :ommysql:DBHOST,DBNAME,DBUSER,DBUSERPASSWORD
(6)重啟rsyslog服務;
systemctl restart rsyslog
通過loganalyzer展示數據庫中的日志:
(1)準備lamp或lnmp組合;
yum install -y httpd php php-mysql php-gd
啟動服務
systemctl start httpdsystemctl start mariadb
(2)安裝loganalyzer
tar xvf loganalyzer-3.6.5.tar.gzcp -a loganalyzer-3.6.5/src /var/www/html/logcd /var/www/html/logtouch config.phpchmod 666 config.php
(3)配置loganalyzer
systemctl start httpd
瀏覽器中輸入:http://HOST/log (HOST為rsyslog服務器ip)
點擊here
點擊next
點擊next
點擊next
填寫數據庫信息
點擊next
點擊finish
(4)安全加強
cd /var/www/html/logchmod 644 config.php
原創文章,作者:wangshuai,如若轉載,請注明出處:http://www.www58058.com/66347