一。 日誌簡介php
Linux保存了系統中所發生事件的詳細記錄,這些記錄稱做日誌文件或消息文件。能夠查閱日誌文件來肯定系統當前狀態,觀察入侵者蹤影,尋找某特定程序(或事件)相關的數據。centos6使用rsyslog替代syslog記錄日誌 html
rsyslog的日誌文件位於 /etc/rsyslog.conf 文件中 #開頭爲註釋 主要包括幾大部分:node
#### MODULES #### 表示系統加載的模塊
python
$ModLoad imuxsock 表示加載imuxsock模塊 模塊文件位於 /lib64/rsyslog/目錄下其中下面幾行註釋的部分 用於經過udp或者tcp接受遠程消息 端口是514(默認註釋也就是不開啓)
# 提供udp接受消息 #$ModLoad imudp #$UDPServerRun 514 # 提供TCP接受消息 #$ModLoad imtcp #$InputTCPServerRun 514#### GLOBAL DIRECTIVES #### 全局規則設定
$WorkDirectory /var/lib/rsyslog 工做目錄 $IncludeConfig /etc/rsyslog.d/*.conf 包含 /etc/rsyslog.d下全部conf結尾的配置文件
#### RULES #### 用於配置哪一種日誌使用哪一種級別 記錄在哪些位置
語法 :facility.priority target
facility表示產生日誌的設備 有如下這些值mysql
關鍵字 值 解釋 kern 0 內核信息,首先經過klogd傳遞 user 1 由用戶程序生成的信息 mail 2 與電子郵件有關的信息 daemon 3 與inetd守護進程有關的信息 auth 4 由pam_pwdb報告的認證活動 syslog 5 由syslog生成的信息 lpr 6 與打印服務有關的信息 news 7 來自新聞服務器的信息 uucp 8 由uucp生成的信息(uucp = unix to unix copy) cron 9 與cron和at有關的信息 authpriv 10 包括私有信息(如用戶名)在內的認證活動 ftp 11 與FTP有關的信息 12-15 系統保留 local0 ~ local7 16-23 由自定義程序使用,例如使用local5作爲ssh功能 mark rsyslog內部功能,用於生成時間戳 * 通配符表明除了mark之外的全部功能
關鍵字 值 解釋 emerg 0 系統不可用 alert 1 須要當即被修改的條件 crit 2 (臨界)阻止某些工具或子系統功能實現的錯誤條件 err 3 阻止工具或某些子系統部分功能實現的錯誤條件 warning 4 預警信息 notice 5 具備重要性的普通條件 info 6 提供信息的消息 debug 7 不包含函數條件或問題的其餘信息 none (屏蔽全部來自指定設備的消息)沒有優先級,一般用於排錯 * 除了none以外的全部級別facility部分能夠是用逗號(,)分隔的多個設備,而多個seletor之間也能夠經過分號(;)組合在一塊兒。注意多個組合在一塊兒的選擇符,後面的會覆蓋前面的,這樣就容許從模式中排除一些優先級。默認將對指定級別以及更嚴重級別的消息進行操做,可是能夠經過2個操做符進行修改。等於操做符(=)表示僅對這個級別的消息進行操做,不等操做符(!)表示忽略這個級別以及更嚴重級別的消息。這兩個操做符能夠同時使用,不過"!"必須出如今"="的前面
uucp,news.crit /var/log/spooler好比(全部設備的info消息 除了mail和authpric和cron外 都記錄在/var/log/messages)
*.info;mail.none;authpriv.none;cron.none /var/log/messages
target:將日誌記錄於指定的目標地點有如下幾種選擇:
普通文件:使用文件的絕對路徑來指明日誌文件所在的位置,例如:/var/log/cron。
終端設備:終端能夠是/dev/tty0~/dev/tty6,也能夠爲/dev/console。
用戶列表:例如動做爲「root hackbutter」,將消息寫入到用戶root與hackbutter的計算機屏幕上。
遠程主機:將信息發往網絡中的其餘主機的rsyslog守護進程,格式爲「@hostname」。
linux
在target前使用「-」表示異步寫入。好比
web
mail.* -/var/log/maillog查看其中 一個target文件內容
[root@node1 ~]# more /var/log/messages Nov 19 17:45:01 localhost rsyslogd: [origin software="rsyslogd" swVersion="7.4.7" x-pid="787" x-info="http://www.rsyslog.com"] rsyslogd was HUPed Nov 19 17:50:31 node1 dhclient[1182]: DHCPREQUEST on eno16777736 to 192.168.58.254 port 67 (xid=0x117d9a59) Nov 19 17:50:31 node1 dhclient[1182]: DHCPACK from 192.168.58.254 (xid=0x117d9a59) Nov 19 17:50:31 node1 NetworkManager[856]: <info> address 192.168.58.147其中記錄日誌文件的內容爲(記錄: 時間,地點,人物,事件):
時間 主機名 進程名[進程id]:日誌的內容
二。rsyslog安裝sql
rsyslog的官網是: http://www.rsyslog.com 數據庫
默認centos6以上都已經安裝了rsyslog 確認是否安裝centos
[root@node1 ~]# rpm -qa | grep rsyslog rsyslog-7.4.7-12.el7.x86_64若是沒有安裝
yum -y install rsyslog查看 rsyslog安裝的全部文件
[root@node1 ~]# rpm -ql rsyslog /etc/logrotate.d/syslog /etc/pki/rsyslog /etc/rsyslog.conf /etc/rsyslog.d /etc/sysconfig/rsyslog /usr/bin/rsyslog-recover-qi.pl /usr/lib/systemd/system/rsyslog.service /usr/lib64/rsyslog /usr/lib64/rsyslog/imdiag.so /usr/lib64/rsyslog/imfile.so /usr/lib64/rsyslog/imjournal.so /usr/lib64/rsyslog/imklog.so /usr/lib64/rsyslog/immark.so /usr/lib64/rsyslog/impstats.so /usr/lib64/rsyslog/imptcp.so /usr/lib64/rsyslog/imtcp.so /usr/lib64/rsyslog/imudp.so /usr/lib64/rsyslog/imuxsock.so /usr/lib64/rsyslog/lmnet.so /usr/lib64/rsyslog/lmnetstrms.so /usr/lib64/rsyslog/lmnsd_ptcp.so /usr/lib64/rsyslog/lmregexp.so /usr/lib64/rsyslog/lmstrmsrv.so /usr/lib64/rsyslog/lmtcpclt.so /usr/lib64/rsyslog/lmtcpsrv.so /usr/lib64/rsyslog/lmzlibw.so /usr/lib64/rsyslog/mmanon.so /usr/lib64/rsyslog/mmcount.so /usr/lib64/rsyslog/omjournal.so /usr/lib64/rsyslog/ommail.so /usr/lib64/rsyslog/omprog.so /usr/lib64/rsyslog/omruleset.so /usr/lib64/rsyslog/omstdout.so /usr/lib64/rsyslog/omtesting.so /usr/lib64/rsyslog/omuxsock.so /usr/lib64/rsyslog/pmaixforwardedfrom.so /usr/lib64/rsyslog/pmcisconames.so /usr/lib64/rsyslog/pmlastmsg.so /usr/lib64/rsyslog/pmrfc3164sd.so /usr/lib64/rsyslog/pmsnare.so /usr/sbin/rsyslogd /usr/share/doc/rsyslog-7.4.7 /usr/share/doc/rsyslog-7.4.7/AUTHORS /usr/share/doc/rsyslog-7.4.7/COPYING /usr/share/doc/rsyslog-7.4.7/COPYING.ASL20 /usr/share/doc/rsyslog-7.4.7/COPYING.LESSER /usr/share/doc/rsyslog-7.4.7/ChangeLog /usr/share/man/man5/rsyslog.conf.5.gz /usr/share/man/man8/rsyslogd.8.gz /var/lib/rsyslog
三。rsyslog做爲日誌服務器
模擬環境
node1(192.168.58.147) 日誌接受服務器 node2(192.168.58.149) 日誌產生服務器 模擬將登錄149日誌推送到node1日誌服務器1》node1配置:
編輯/etc/rsyslog.conf:(將下面兩行的註釋#去掉)
# Provides UDP syslog reception $ModLoad imudp $UDPServerRun 514重啓 rsyslog服務(檢查514端口是否開始)
[root@node1 rsyslog.d]# ^C [root@node1 rsyslog.d]# systemctl restart rsyslog [root@node1 rsyslog.d]# netstat -nlp | grep rsyslog udp 0 0 0.0.0.0:514 0.0.0.0:* 2693/rsyslogd udp6 0 0 :::514 :::* 2693/rsyslogd關閉防火牆
[root@node1 rsyslog.d]# chkconfig firewalld off; Note: Forwarding request to 'systemctl disable firewalld.service'. Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service. Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service. [root@node1 rsyslog.d]# service firewalld stop Redirecting to /bin/systemctl stop firewalld.service [root@node1 rsyslog.d]# iptables --flush關閉selinux(將配置文件 SELINUX=disabled 禁用)
[root@node1 rsyslog.d]# find / -name selinux /etc/sysconfig/selinux /etc/selinux /usr/lib64/python2.7/site-packages/selinux /usr/share/selinux /usr/src/kernels/3.10.0-514.26.2.el7.x86_64/include/config/security/selinux /usr/src/kernels/3.10.0-514.26.2.el7.x86_64/scripts/selinux /usr/src/kernels/3.10.0-514.26.2.el7.x86_64/security/selinux [root@node1 rsyslog.d]# more /etc/sysconfig/selinux # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of three two values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted2》node2配置:
修改 /etc/rsyslog.conf(原有基礎上添加一行 輸出到 @日誌接受服務器 能夠是ip也能夠是主機名):
# The authpriv file has restricted access. authpriv.* /var/log/secure authpriv.* @192.168.58.147重啓日誌服務
systemctl restart rsyslog測試 在 147上 監控 /var/log/secure文件
[root@node1 rsyslog.d]# tail -f /var/log/secure嘗試在 149上
su - root147(node1)輸出兩條日誌(明顯node2就是149)
Nov 21 19:09:23 node2 polkitd[954]: Unregistered Authentication Agent for unix-process:2683:339485 (system bus name :1.21, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.UTF-8) (disconnected from bus) Nov 21 19:10:14 node2 su: pam_unix(su-l:session): session opened for user root by root(uid=0)
四。日誌rotate
系統的日誌文件會隨着使用天數和發生事件的增長在自動增加,對於服務器來講,若是沒有一種機制限制這種增加,那麼會有大部分的硬盤被消耗掉,linux系統設計了一種方式來解決這個問題:日誌輪替。
日誌輪替就是使用一個程序名爲/usr/sbin/logrotate程序根據配置文件的設定,使用同名的空的日誌文件替換現有的日誌文件,被替換掉的日誌文件,被更名後放置或刪除掉。
logrotate自己於rsyslog無關 只是一種文件檢測工具 經過cron按期檢查文件的大小和建立時間 經過設置一些策略來清除或者備份日誌
查看程序和相關文件
[root@node1 ~]# rpm -qa | grep logr logrotate-3.8.6-6.el7.x86_64 [root@node1 ~]# rpm -ql logrotate /etc/cron.daily/logrotate /etc/logrotate.conf /etc/logrotate.d /usr/sbin/logrotate /usr/share/doc/logrotate-3.8.6 /usr/share/doc/logrotate-3.8.6/CHANGES /usr/share/doc/logrotate-3.8.6/COPYING /usr/share/man/man5/logrotate.conf.5.gz /usr/share/man/man8/logrotate.8.gz /var/lib/logrotate.status主配置文件/etc/logrotate.conf打開該配置文件解釋:
[root@node1 ~]# more /etc/logrotate.conf # 可使用 man logrotate 查看該日誌文件信息 # 設置每週輪替一第二天志 daily表示天天 hourly 每小時 weekly # 備份的日誌 保持4個輪替週期 好比上面設置的weekly 表示備份的日誌保留4周 4周將刪除 配置hourly 四個小時後刪除 rotate 4 # 當舊的日誌文件達到輪替的要求是 建立一個新的空的日誌文件 # create語法 create mode owner group 也就是 create 權限 文件擁有者 文件擁有組 create # 使用日誌做爲輪替備份文件後綴 dateext # 輪替後的日誌文件是否被壓縮 默認壓縮格式gzip # compresscmd指定壓縮命令默認gzip # uncompresscmd 表示解壓縮的命令 默認是 gunzip #compress # 除了當前配置文件 還會加載該目錄下的全部配置文件 該目錄下有配置文件 該目錄下的配置覆蓋當前文件 include /etc/logrotate.d # 指定/var/log/wtmp 這個日誌文件的輪替規則 /var/log/wtmp { monthly #每個月自動輪替 create 0664 root utmp minsize 1M #表示在輪替時間到達時 若是達到了最小size才發生輪替 好比 輪替時間時hourly 1個小時後 達到了1M就輪替 沒達到就不輪替 maxsize 10M #表示不論是否到達輪替時間 只要大小超過10M 就發生輪替 rotate 1 } /var/log/btmp { missingok #若是日誌文件不存在或者丟失 不報錯 nomissingok是默認值 表示日誌丟失 報錯 monthly create 0600 root utmp rotate 1 } # 系統相關日誌應該被配置在這裏 應用相關日誌應該被配置在/etc/logrotate.d下查看 /etc/logrotate.d 默認有一些輪替日誌 好比httpd或者yum的
[root@node1 ~]# cd /etc/logrotate.d [root@node1 logrotate.d]# ll total 32 -rw-r--r--. 1 root root 178 Nov 23 2015 chrony -rw-r--r-- 1 root root 194 Apr 12 2017 httpd -rw-r--r-- 1 root root 893 Aug 4 11:28 mariadb -rw-r--r--. 1 root root 136 Jun 9 2014 ppp -rw-r--r--. 1 root root 224 Sep 7 2015 syslog -rw-r--r--. 1 root root 188 Mar 31 2016 vsftpd -rw-r--r--. 1 root root 100 Jun 15 2015 wpa_supplicant -rw-r--r--. 1 root root 100 Dec 3 2015 yum查看httpd的配置
[root@node1 logrotate.d]# more httpd /var/log/httpd/*log { missingok notifempty #若是到達輪替時間 日誌文件是空 不輪替 sharedscripts #prerotate 在日誌文件被輪替以前執行的指定腳本 and postrotate 在日誌文件被輪替以後指定執行的腳本 配置了這兩個參數只要 /var/log/httpd/*log log結尾的日誌發生輪替 指定腳本都會運行 配置 sharedscripts #只會在該日誌組中某個文件第一次發生輪替時執行 並且僅僅只執行一次 delaycompress #延遲壓縮到下一個日誌週期 可能在輪替時 程序還在繼續寫入到這個文件 能夠稍微延遲 postrotate #發生輪替以後執行的腳本 /bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true endscript #全部定義腳本 好比postrotate以後都應該有一個endscipt表示結尾 }
[root@node1 logrotate.d]# cd /etc/logrotate.d && cat << EOF > mytest > /var/log/mytest.log { > hourly > missingok > compress > minsize 1K > maxsize 5K > notifempty > rotate 5 > } > EOF [1] 4045 [1]+ Done cd /etc/logrotate.d查看文件內容
[root@node1 logrotate.d]# more mytest /var/log/mytest.log { hourly missingok compress minsize 1K maxsize 5K notifempty rotate 5 }
產生隨機字符串的大文件 bs單次寫入字節數 count寫入次數 寫入10M dd if=/dev/urandom of=/var/log/mytest.log count=1 bs=10485760 若是想產生空的 dd if=/dev/zero of=my_new_file count=102400 bs=1024從新加載配置文件
logrotate /etc/logrotate.conf若是你想強制輪替 可使用
logrotate -vf /etc/logrotate.conf
五。日誌存儲到數據庫
1》安裝rsyslog-mysql記錄日誌到數據庫
有時日誌文件須要存儲在關係型數據 而且經過第三方軟件進行日誌 分析 可使用 rsyslog的mysql模塊
查看全部模塊中是否存在mysql 默認是沒有
[root@node1 logrotate.d]# rpm -ql rsyslog /etc/logrotate.d/syslog /etc/pki/rsyslog /etc/rsyslog.conf /etc/rsyslog.d /etc/sysconfig/rsyslog /usr/bin/rsyslog-recover-qi.pl /usr/lib/systemd/system/rsyslog.service /usr/lib64/rsyslog /usr/lib64/rsyslog/imdiag.so /usr/lib64/rsyslog/imfile.so /usr/lib64/rsyslog/imjournal.so /usr/lib64/rsyslog/imklog.so /usr/lib64/rsyslog/immark.so /usr/lib64/rsyslog/impstats.so /usr/lib64/rsyslog/imptcp.so /usr/lib64/rsyslog/imtcp.so /usr/lib64/rsyslog/imudp.so /usr/lib64/rsyslog/imuxsock.so /usr/lib64/rsyslog/lmnet.so /usr/lib64/rsyslog/lmnetstrms.so /usr/lib64/rsyslog/lmnsd_ptcp.so /usr/lib64/rsyslog/lmregexp.so /usr/lib64/rsyslog/lmstrmsrv.so /usr/lib64/rsyslog/lmtcpclt.so /usr/lib64/rsyslog/lmtcpsrv.so /usr/lib64/rsyslog/lmzlibw.so /usr/lib64/rsyslog/mmanon.so /usr/lib64/rsyslog/mmcount.so /usr/lib64/rsyslog/omjournal.so /usr/lib64/rsyslog/ommail.so /usr/lib64/rsyslog/omprog.so /usr/lib64/rsyslog/omruleset.so /usr/lib64/rsyslog/omstdout.so /usr/lib64/rsyslog/omtesting.so /usr/lib64/rsyslog/omuxsock.so /usr/lib64/rsyslog/pmaixforwardedfrom.so /usr/lib64/rsyslog/pmcisconames.so /usr/lib64/rsyslog/pmlastmsg.so /usr/lib64/rsyslog/pmrfc3164sd.so /usr/lib64/rsyslog/pmsnare.so安裝rsyslog-mysql
yum install rsyslog-mysql –y安裝完成後查看
[root@node1 logrotate.d]# rpm -ql rsyslog-mysql /usr/lib64/rsyslog/ommysql.so /usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql本機安裝mariadb
yum -y install mariadb && service mariadb start前面安裝rsyslog-mysql時 看到安裝了一個 mysql-createDb.sql腳本 登陸mysql執行該腳本
[root@node1 logrotate.d]# more /usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql CREATE DATABASE Syslog; USE Syslog; CREATE TABLE SystemEvents ( ID int unsigned not null auto_increment primary key, CustomerID bigint, ReceivedAt datetime NULL, DeviceReportedTime datetime NULL, Facility smallint NULL, Priority smallint NULL, FromHost varchar(60) NULL, Message text, NTSeverity int NULL, Importance int NULL, EventSource varchar(60), EventUser varchar(60) NULL, EventCategory int NULL, EventID int NULL, EventBinaryData text NULL, MaxAvailable int NULL, CurrUsage int NULL, MinUsage int NULL, MaxUsage int NULL, InfoUnitID int NULL , SysLogTag varchar(60), EventLogType varchar(60), GenericFileName VarChar(60), SystemID int NULL ); CREATE TABLE SystemEventsProperties ( ID int unsigned not null auto_increment primary key, SystemEventID int NULL , ParamName varchar(255) NULL , ParamValue text NULL );導入該sql
[root@node1 logrotate.d]# mysql -uroot -proot Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 16 Server version: 5.5.56-MariaDB MariaDB Server Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> source /usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql Query OK, 1 row affected (0.00 sec) Database changed Query OK, 0 rows affected (0.20 sec) Query OK, 0 rows affected (0.33 sec) MariaDB [Syslog]> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | Syslog | | db1 | | db2 | | db4 | | mysql | | performance_schema | | test | +--------------------+ 8 rows in set (0.00 sec) MariaDB [Syslog]> use Syslog; Database changed MariaDB [Syslog]> show tables; +------------------------+ | Tables_in_Syslog | +------------------------+ | SystemEvents | | SystemEventsProperties | +------------------------+ 2 rows in set (0.00 sec)修改 /etc/rsyslog.conf
MODULES部分修改
$ModLoad ommysqludp遠程接受也開啓
$ModLoad imudp $UDPServerRun 514RULES部分添加
#全部設備的全部日誌級別 使用ommysql 接下來四個參數數 ip 數據庫名 用戶名和密碼 *.* :ommysql:localhost,Syslog,root,root重啓 rsyslog
service rsyslog restart嘗試在 node1和node2上
MariaDB [Syslog]> select * from Syslog.SystemEvents; +----+------------+---------------------+---------------------+----------+----------+----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------+------------+-------------+-----------+---------------+---------+-----------------+--------------+-----------+----------+----------+------------+---------------+--------------+-----------------+----------+ | ID | CustomerID | ReceivedAt | DeviceReportedTime | Facility | Priority | FromHost | Message | NTSeverity | Importance | EventSource | EventUser | EventCategory | EventID | EventBinaryData | MaxAvailable | CurrUsage | MinUsage | MaxUsage | InfoUnitID | SysLogTag | EventLogType | GenericFileName | SystemID | +----+------------+---------------------+---------------------+----------+----------+----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------+------------+-------------+-----------+---------------+---------+-----------------+--------------+-----------+----------+----------+------------+---------------+--------------+-----------------+----------+ | 1 | NULL | 2017-11-22 04:52:30 | 2017-11-22 04:52:30 | 5 | 6 | node1 | [origin software="rsyslogd" swVersion="8.24.0" x-pid="12601" x-info="http://www.rsyslog.com"] exiting on signal 15. | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | 1 | rsyslogd: | NULL | NULL | NULL | | 3 | NULL | 2017-11-22 04:52:30 | 2017-11-22 04:52:30 | 3 | 6 | node1 | Stopping System Logging Service... | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | 1 | systemd: | NULL | NULL | NULL | | 5 | NULL | 2017-11-22 04:52:30 | 2017-11-22 04:52:30 | 3 | 6 | node1 | Starting System Logging Service... | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | 1 | systemd: | NULL | NULL | NULL | | 7 | NULL | 2017-11-22 04:52:30 | 2017-11-22 04:52:30 | 5 | 6 | node1 | [origin software="rsyslogd" swVersion="8.24.0" x-pid="13158" x-info="http://www.rsyslog.com"] start | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | 1 | rsyslogd: | NULL | NULL | NULL | | 9 | NULL | 2017-11-22 04:52:30 | 2017-11-22 04:52:30 | 10 | 5 | node1 | Unregistered Authentication Agent for unix-process:13142:3838239 (system bus name :1.96, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.UTF-8) (disconnected from bus) | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | 1 | polkitd[992]: | NULL | NULL | NULL | | 11 | NULL | 2017-11-22 04:52:30 | 2017-11-22 04:52:30 | 3 | 6 | node1 | Started System Logging Service. | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | 1 | systemd: | NULL | NULL | NULL | | 13 | NULL | 2017-11-22 04:52:47 | 2017-11-22 04:52:57 | 10 | 6 | node2 | reverse mapping checking getaddrinfo for bogon [192.168.58.1] failed - POSSIBLE BREAK-IN ATTEMPT! | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | 1 | sshd[3947]: | NULL | NULL | NULL | | 15 | NULL | 2017-11-22 04:52:47 | 2017-11-22 04:52:57 | 10 | 6 | node2 | Accepted password for root from 192.168.58.1 port 49910 ssh2 | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | 1 | sshd[3947]: | NULL | NULL | NULL | | 17 | NULL | 2017-11-22 04:52:47 | 2017-11-22 04:52:57 | 10 | 6 | node2 | pam_unix(sshd:session): session opened for user root by (uid=0) | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | 1 | sshd[3947]: | NULL | NULL | NULL | +----+------------+---------------------+---------------------+----------+----------+----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------+------------+-------------+-----------+---------------+---------+-----------------+--------------+-----------+----------+----------+------------+---------------+--------------+-----------------+----------+ 9 rows in set (0.00 sec)node1和node2都存在登陸日誌 寫入
2》使用loganalyzer進行web日誌監控
loganalyzer是 一款用於監控 rsyslog日誌的web管理工具 官網 http://loganalyzer.adiscon.com/ 全部版本的下載地址是:http://loganalyzer.adiscon.com/downloads/ 找到最新版本 這裏我用 3.6.6-v3版本 下載應用包
解壓 進入解壓目錄/src
tar zxvf loganalyzer-3.6.6.tar.gz && cd loganalyzer-3.6.6/src && ll能夠看到該程序 使用 php編寫 須要搭建php環境
安裝httpd
yum -y install httpd安裝php
yum -y install php php_mysql運行httpd
service httpd starthttpd的應用默認安裝在 /var/www/html下 該目錄下建立一個 log目錄 將 loganalyzer/src下全部文件拷貝到這個目錄
cp -r ~/loganalyzer-3.6.6/src/* /var/www/html/log/訪問 http://192.168.58.147/log/ 提示出錯 沒有安裝 點擊here去安裝
[root@node1 log]# pwd /var/www/html/log [root@node1 log]# touch config.php [root@node1 log]# chmod 666 config.phprecheck後 驗證經過進入下一步 配置數據庫的信息(Table prefix能夠填也能夠不填 圖上沒有 我實際是默認logcon_ 不動它)
[Wed Nov 22 06:25:16.513148 2017] [:error] [pid 13699] [client 192.168.58.1:33194] PHP Fatal error: Call to undefined function mysql_connect() in /var/www/html/log/install.php on line 374, referer: http://192.168.58.147/log/install.php?step=3沒有定義mysql_connect函數 多是php-mysql沒有安裝
yum -y install php-mysql便可
第五步檢查 並建立表
第六步 建立 loganalyzer的內部管理帳號
第七步 配置日誌的來源 這裏咱們選擇mysql 將以前 rsyslog-mysql產生的日誌數據庫和表配置上
第八步 點擊finish 完成安裝 進入主頁面
經常使用操做 能夠搜索 能夠點擊日誌查看詳情 點擊菜單欄第三個 Statistics 統計報表 會出現錯誤
提示錯誤是:
JpGraph Error: 25001 This PHP installation is not configured with the GD library 安裝php-gd
yum -y install php-gd重啓 httpd
service httpd restart此時能夠正常查看 其餘操做 就不演示了