一. 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.178linux.com/52779