安裝rsyslog
rpm -qa rsyslog #CentOS7默認會安裝rsyslogyum install rsyslog-MySQL -y #rsyslog使用此模塊將數據傳入MySQL數據庫,必須安裝導入rsyslog-mysql 數據庫文件
導入數據庫
# cd /usr/share/doc/rsyslog-7.4.7/# mysql -uroot -p<mysql-createDB.sql# Enter passWord:設置用戶
# mysql -uroot –pmysql> grant all on Syslog.* to rsyslog@localhost identified by '123456';mysql> flush PRivileges;mysql> exit導入數據庫操作創建了Syslog 庫并在該庫中創建了兩張空表SystemEvents 和SystemEventsProperties。
設置文件
# vi /etc/rsyslog.conf #按如下進行更改 #### MODULES #### $Modload ommysql $template MySQLInsert,"insert into SystemEvents (Message, Facility, FromHost,Priority, DeviceReportedTime, ReceivedAt, InfoUnitID, SysLogTag) values ('%msg%', %syslogfacility%, '%fromhost-ip%', %syslogpriority%, '%timereported:::date-mysql%', '%timegenerated:::date-mysql%', %iut%, '%syslogtag%')",SQL*.* :ommysql:localhost,Syslog,rsyslog,123456;MySQLInsert ##注意我使用了%fromhost-ip%,而不是%HOSTNAME%#localhost 表示本地主機,Syslog 為數據庫名,rsyslog 為數據庫的用戶,MyNewPass4!為該用戶密碼。 $ModLoad immark # immark是模塊名,支持日志標記 $ModLoad imudp # imupd是模塊名,支持udp協議 $UDPServerRun 514 #允許514端口接收使用UDP和TCP協議轉發過來的日志網絡設備要配置
服務端修改$ModLoad ommysqllocal4.* :ommysql:localhost,Syslog,rsyslog,123456;MySQLInsert 注意我是local4來接受遠程的syslog在交換機上的配置:華為的:info-center loGhost 1.1.1.1 facility local4 //local4要和rsyslog.conf 里配置的一致,1.1.1.1為你的syslog服務器地址記得要改啊 info-center loghost source Vlan-interface 11//你的網管VLAN接口,要改的info-center source SHELL channel loghost log level notifications//我只想要操作日志,其他的不關心,如果你想要更多,請更改思科的:logging 1.1.1.1(配置 syslog服務器地址,可以定義多個) service timestamps debug datetime localtime show-timezone msecservice timestamps log datetime localtime show-timezone msec (syslog 信息包含時間戳)logging facility local4 (定義 facility 級別,缺省為local7,可以設置從 local0 到 local7)logging trap warning (定義severity 級別缺省為 infor 級別)到這里,一切基本ok了,
到你的mysql服務器是看看:
select * from SystemEvents
應該已經記錄有日志了
配置服務器客戶端
7.1 檢查客戶端有沒有安裝rsyslog# rpm -qa rsyslog7.2 配置rsyslog客戶端發送本地日志到服務端# vi /etc/rsyslog.conf *.* @192.168.253.160 #在文件結尾處增加此內容7.3 重啟rsyslog服務# systemctl restart rsyslog.service7.4 編輯/etc/bashrc,將客戶端執行的所有命令寫入系統日志/var/log/messages中# vi /etc/bashrc export PROMPT_COMMAND='{ msg=$(history 1 | { read x y; echo $y; });logger "[euid=$(whoami)]":$(who am i):[`pwd`]"$msg"; }' #在結尾處加上此內容設置使其生效# source /etc/bashrc配置 顯示host ,ip
$template MySQLInsert,"insert into SystemEvents (Message, Facility, FromHost,Priority, DeviceReportedTime, ReceivedAt, InfoUnitID, SysLogTag,processid) values ('%msg%', %syslogfacility%, '%HOSTNAME%', %syslogpriority%, '%timereported:::date-mysql%', '%timegenerated:::date-mysql%', %iut%, '%syslogtag%', '%fromhost-ip%')",SQL*.* :ommysql:localhost,Syslog,rsyslog,123456;MySQLInsert用processid 顯示ip 然后再Admin center->FIELD—>processid->displayname 修改為IP
安裝LogAnalyzer
wget http://download.adiscon.com/loganalyzer/loganalyzer-3.6.6.tar.gztar zxf loganalyzer-3.6.5.tar.gzcd loganalyzer-3.6.5mkdir -p /var/www/html/loganalyzercp -a src/* /var/www/html/loganalyzer/cp -a contrib/* /var/www/html/loganalyzer/在瀏覽器安裝向導中安裝LogAnalyzer
打開瀏覽器訪問:http://192.168.1.107/loganalyzer/
提示沒有配置文件,點擊 here 利用向導生成。
第一步,測試系統環境
點擊 “Next”,進入第二步。
提示錯誤:缺少config.php 文件,并且權限要設置為666,可以使用contrib目錄下的configure.sh 腳本生成。
查看configure.sh 文件內容
需要在/var/www/html/loganalyzer/ 下創建config.php 文件,并設置其權限為666。
# touch /var/www/html/loganalyzer/config.php# chmod 666 /var/www/html/loganalyzer/config.php做完上面的操作之后,執行 ReCheck 操作,config.php 文件可寫,點擊 Next 進入下一步。
第三步,基礎配置
在User Database Options 中,填入上面設置的參數,然后點擊 Next.
第四步,創建表
點擊 Next 開始創建表。
第五步,檢查SQL結果
第六步,創建管理用戶
第七步,創建第一個系統日志source.
注意SystemEvents大小寫
第八步,完成
測試
LogAnalyzer 首頁
點擊任何一條記錄,查看詳情。
查看Statistics
登錄測試
在Admin Center 里可以進行一些系統設置。
日志級別
在配置前,我們先來了解下日志的level: local0~local7 16~23保留為本地使用 emerg 0 系統不可用 alert 1 必須馬上采取行動的事件 crit 2 關鍵的事件 err 3 錯誤事件 warning 4 警告事件 notice 5 普通但重要的事件 info 6 有用的信息 debug 7 調試信息