前言

rsyslog:系统的一个日志服务,记录用户空间日志和内核日志
日志分为:
日志收集方、设施(facility)
日志级别(priority)
设施分为以下几种类别:

auth authpriv, cron, daemon, kern, lpr, mail, mark, news, security, user, uucp, local0-local7, syslog
日志级别:debug, info, notice,warn(warning), err(error), crit(critical), alert, emerg(panic)
emerg(panic) 程序或者系统崩溃前的最后信息

rsyslog.conf中指定级别:

* :所有级别
none :没有级别(表示不记录)
priority :此级别及更高级别日志
=priority :只记录此级别
#格式
facility.priorty        /var/log/messages

程序环境:

程序包 :rsyslog
主程序 : rsyslogd
配置文件 :/etc/rsyslog.conf
服务文件 :/usr/lib/systemd/system/rsyslog.service

命令dmesg:显示系统引导过程日志

rsyslog.conf简单介绍
配置文件分为下面三个部分

#### MODULES ####
#模块加载部分
#### GLOBAL DIRECTIVES ####
#全局设置部分
#### RULES ####
#定义日志记录保存

RULES
facility(设施).priority(级别) target(目标)

文件记录的格式:

事件产生的时间     主机  进程(PID):    事件内容

部分日志为二进制格式,比如/var/log/wtmp /var/log/btmp
查看日志命令:

/var/log/wtmp
    last #当前系统上成功登陆的日志;
/var/log/btmp
    lastb #当前系统失败的登陆尝试;
    lastlog #显示每一个用户最近一次的登陆时间

配置文件,记录于文件前面的“ - ”号,目的是让日志异步写入存储

mail.*                      -/var/log/maillog
#表示邮件的所有级别日志,异步写入磁盘,降低IO,提高性能

一:rsyslog作为日志服务器

可以通过udp和tcp方式建立网络连接
启用方式
编辑配置文件,启用模块:

# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514

# Provides TCP syslog reception
#$ModLoad imtcp
#$InputTCPServerRun 514

在udp/tcp任意选择,要模块和端口一起加载,去掉模块的注释和监听端口的注释!

客户端发送日志到日志服务器
修改配置文件/etc/rsyslog.conf中的#### RULES ####
示例:

*.info;mail.none;authpriv.none;cron.none        @192.168.123.25
#将上面定义的日志发送到位于192.168.123.25的日志服务器

二:将日志保存到数据库

1.安装rsyslog-mysql

rsysog-mysql用于支持将日志写入mysql数据库

~]# yum install rsyslog-mysql -y
~]# rpm -ql rsyslog-mysql

在rsyslog的配置文件中添加模块

~]# vim /etc/rsyslog.conf

在模块部分加入mysql模块

ModLoad ommysql

2.MySQL为用户授权

~]# mysql -u root -p

为用户授权

mysql> grant all on Syslog.* to 'syslog'@'%' identified by '123456789';
mysql> flush privileges;

我这里为了方便演示,授权为全部主机可登录,这样是不安全的,实际生成环境中需限制访问主机,密码修改为复杂!

3.导入数据库

mysql> mysql -h数据库的ip -usyslog -p < /usr/share/doc/rsyslog-VERSION/mysql-createDB.sql

sql文件位置,可以通过rpm -ql rsyslog-mysql查看

4.修改配置文件的target

~]# vim /etc/rsyslog.conf

示例:

*.info;mail.none;authpriv.none;cron.none        :ommysql:192.168.123.25,Syslog,syslog,123456789

:ommysql:主机,数据库名,用户,密码

重启服务

systemctl restart rsyslog.service


到此,系统产生的日志将发送到位于192.168.123.25的MySQL数据库

三:安装loganalyzer

1.安装必须的软件包

~]# yum install httpd php php-mysql php-gd -y

如果出现错误,提示mysql_connect(): Headers and client library minor...,是由于php-mysql不兼容导致,需要卸载php-mysql,安装php-mysqlnd并重启httpd服务.

2.下载并安装loganalyzer

loganalyzer官网:https://loganalyzer.adiscon.com/

~]# wget http://download.adiscon.com/loganalyzer/loganalyzer-4.1.7.tar.gz -C /tmp/loganalyzer-4.1.7.tar.gz
~]# cd /tmp&&tar xf loganalyzer-4.1.7.tar.gz
~]# cd loganalyzer-4.1.7

安装

~]# cp src/* /var/www/html/
~]# cp contrib/* /var/www/html/
~]# cd /var/www/html
~]# chmod u+x *.sh
~]# ./configure.sh && ./secure.sh
~]# chmod 666 config.php

3.网页进行初始化配置

浏览器访问:http://ip/install.php

无报错直接点击下一步


下面这些选项保持默认即可,也可修改为自己的需求

根据你的,mysql设置,数据库名和表名固定:

    数据库名:Syslog
    表名:SystemEvents

设置好了直接下一步


End

Hello World

最后修改:2019 年 09 月 30 日 08 : 41 PM
如果觉得我的文章对你有用,请随意赞赏