一. rsyslog簡介
rsyslog是一個自由軟件, 是GPL的lincesed增強的syslogd. 它提供了Mysql和完全可配置的輸出格式的支持.
1. 日志信息格式:
<優先級>時間戳 主機名 模塊名/級別/信息摘要:內容
<priority> timestamp sysname module/level/digest:content
上述格式中的尖括號<>, 空格, 斜線, 冒號, 是有效的
2. rsyslog中的術語
facility : 設施, 信道, 是rsyslog收集,傳輸日志的設備通道. 具體有以下幾種:
auth, authpriv, cron, daemon, kern, lpr, mail, mark, news, security, user, uucp, syslog, local0-local7等等
priority: 優先級
共有8個優先級, 分別是debug, info, notice, warn, err(error), crit(critical), alert, emerg(panic)
3. rssylog在CentOS7上的程序環境
(1)配置文件: /etc/rsyslog.conf, /etc/rsyslog.d/*
(2)主程序: /usr/sbin/rsyslogd
(3)模塊路徑: /usr/lib64/rsyslog
(4)Unit FIle : /usr/lib/systemd/system/rsyslog.service
(1) 配置文件 /etc/rsyslog.conf
主要由三部分組成:
MODULES # 配置了rsyslog用于收集日志信息的模塊 GLOBAL DIRECTIVES # 主要記錄了用于放置輔助文件的位置 RULES # 用于配置哪些系統信息記錄, 以及存放到哪些文件位置
二. 將rsyslog的日志文件存放到MariaDB上, 并通過圖形工具loganalyzer顯示
1. 安裝需要的程序環境
yum install -y httpd mariadb-server php php-mysql rsyslog rsyslog-mysql
其中rsyslog-mysql為rsyslog連接至mysql的驅動模塊
2. 查看rsyslog-mysql的安裝后的文件
/usr/lib64/rsyslog/ommysql.so /usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql
其中包括一個用于連接mysql的ommysql.so模塊, 和一個數據庫的腳本,,腳本內容如下:
CREATE DATABASE Syslog; # 創建一個數據庫 Syslog] USE Syslog; # 切換到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 );
在上面的腳本中可以看出, 需要給數據庫Syslog授權, 并創建Syslog專用的賬號
在mysql-client執行下列的命令
MariaDB [(none)]> GRANT ALL ON Syslog.* TO 'rsyslog'@'127.0.0.1' IDENTIFIED BY 'rsyslogpass'; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> GRANT ALL ON Syslog.* TO 'rsyslog'@'localhost' IDENTIFIED BY 'rsyslogpass'; Query OK, 0 rows affected (0.00 sec)
3. 生成所需要的數據庫和表, 使用mysql命令的重定向導入腳本
[root@localhost ~]# mysql -ursyslog -h127.0.0.1 -prsyslogpass < /usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql
4. 配置rsyslog的配置文件/etc/rsyslog.conf, 使用ommysql模塊; 并且配置RULES, 將所期望的日志信息記錄與mysql中
#### MODULES #### $ModLoad ommysql ... #### RULES #### *.* :ommysql:127.0.0.1,Syslog,rsyslog,rsyslogpass
5. 安裝loganalyzer
(1) 獲取loganalyzer-4.1.1.tar.gz
解壓:
tar xf loganalyzer-4.1.1.tar.gz
(2) 將解壓得到的loganalyzer-4.1.1目錄下的src文件夾 cp 到/var/www/html目錄下, 并創建符號鏈接
[root@localhost ~]# cd loganalyzer-4.1.1 [root@localhost ~]# cp -a src /var/www/html/loganalyzer-4.1.1 [root@localhost ~]# cd /var/www/html/ [root@localhost ~]# ln -sv loganalyzer-4.1.1 log [root@localhost ~]# cd log [root@localhost ~]# touch config.php && chmod 666 config.php
(3) 在圖形端口用瀏覽器訪問站點
在這一步填入相應的數據庫信息, 后點next, loganalyzer就安裝好了
原創文章,作者:black_fish,如若轉載,請注明出處:http://www.www58058.com/52779