mysql+rsyslog,rsyslog + mysql + loganalyzer 构建日志服务器

rsyslog支持的特性

支持多线程

支持tcp,ssl,tls.relp

可以把日志存储于关系型数据库中

支持过滤器,可以实现过滤日志中的任意部分。

支持自定义格式

适用于企业级的日志记录需求。

功能模块化

rsyslog用facility接收各个应用和程序的日志,并把日志分类。有以下几类

auth        与认证相关的

authpriv 与用户认证授权相关的,如用户登陆

cron     与周期任务相关的

daemon    与守护进程相关的

kern        与内核相关的

lpr     与打印相关的

mail   与邮件子系统相关

mark   与防火墙标记相关的

security  与安装相关的

syslog   与日志服务本身相关的

user     与用户相关的

uucp  unix早期共享文件的协议

news  与新闻组相关

local 0  到 local 7  8个自定义级别。

通配符,用来指定facility时使用字符

*   表示所有的facility

,    用来facility例表中,分隔facility使用

!    用来取反

facility记录日志的级别,(称为 priority),越向下级别越高。

debug  调试级别,信息最为详细

info       仅次于debug

notic      通知级别

warn       警告,另一种写法:warning

err         错误,还有另一种写法:error

crit        蓝色警报

alert      橙色警报

emerg   红色警报,此级别相当严重了。

指定级别时还有其它写法

*   表示所有级别

none  没有任何级别,一般表示不做记录。

日志发送位置称为target,有以下几类

文件路径   如:/var/log/message   ,如果文件路径前面加-表示此日志记录不用同步写入。

用户          如:*   星表示发送给登陆当前系统的所有用户

日志服务器     如:@172.16.2.10

管道                如: | awk     表示把日志交给awk处理。

rsyslog的配置文件:

主配置文件:/etc/rsyslog.conf

其它配置文件:/etc/rsyslog.d/*.conf

主配置文件分为三段

#### MODULES ####      用来加载各个模块# Provides UDP syslog reception    使用udp协议为其它主机提供日志服务器功能

#$ModLoad imudp      加载udp模块

#$UDPServerRun 514     指定监听udp协议的端口

# Provides TCP syslog reception  启动tcp协议为其它主机提供日志服务功能

#$ModLoad imtcp                         加载模块

#$InputTCPServerRun 514            监听tcp端口

#### GLOBAL DIRECTIVES ####        全局指定,定义rsyslog工作特性

#### RULES ####                                定义日志记录类型和级别

日志记录要写在 #### RULES ####  中,写法如下:

<.>         该级别以上级别的日志都会被记录

<.>=         只记录该级别的日志,其它级别不记录。

<.>!         除了该级别的其它日志级别

日志文件记录格式如下:

时间      地点       人物            动作详细信息

c1348a952c205b9b0ed83bffcfdde239.png

====================================================================

配置rsyslog为其它主提供日志服务--------大体配置步骤如下:

1,服务器端配置:编辑/etc/rsyslog.conf文件,启动监听的端口。是否修改日志文件存放位置,根据自己的需要而定,重启rsyslog服务。

2,修改客户机日志配置文件/etc/rsyslog.conf,把需要发送到日志服务器的日志段的发送位置修改为  @日志服务器的ip。

日志服务器配置

# vim /etc/rsyslog.conf

#### MODULES ####启动以下行

$ModLoad imudp

$UDPServerRun 514

$ModLoad imtcp

$InputTCPServerRun 514

# service rsyslog restart

客户机配置,这里假设把本机的全部日志都发送到日志服务器。

# vim /etc/rsyslog.conf  编辑主配置文件

#*.info;mail.none;authpriv.none;cron.none /var/log/messages          注释此行

*.info @172.16.2.16                添加此行,172.16.2.16是我的日志服务器。此时会把本机的所有日志都发给日志服务器。

# service rsyslog   restart

测试是否配置成功,以管理软件为例----------------------------------------

在日志服务器执行

# tail -f  /var/log/messages   动态监视日志文件新产生的日志,最下面是没有关于安装软件记录的。

客户机操作

# echo ===============  >> /var/log/message             给message文件一个分隔线。

# tail /var/log/message

9e340a7ca3a25833a75e8d8542230027.png

#  yum -y install elinks     安装软件,让系统发生日志。

#  tail /var/log/messages      查看是否有日志,正确配置是没有日志的。

到日志服务器查看监视的日志

d4bc5089e742cbc1d08975df94c8f33c.png

==================================================================

配置日志服务器,记录日志存储于mysql数据库中--------大体配置步骤如下

1,安装日志服务器mysql的驱动模块。

2,修改配置文件,启用mysql驱动模块,把日志记录位置修改为mysql数据库。

3,在mysql数据库服务器为日志服务器授权。

4,安装

# yum -y install rsyslog-mysql               安装rsyslog的mysql驱动模块

# rpm -ql rsyslog-mysql

/lib64/rsyslog/ommysql.so     模块文件所在的位置

/usr/share/doc/rsyslog-mysql-5.8.10

/usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql     mysql创建数据库用的脚本,把此文件放在mysql服务器执行。

# vim /etc/rsyslog.conf      修改配置文件

#### MODULES ####      加入以下行,启动支持mysql模块

$ModLoad ommysql

#### RULES ####           修改以下行,把日志文件都记录在mysql中。

*.info;mail.none;authpriv.none;cron.none :ommysql:172.16.2.13,Syslog,rsyslog,rsyslog   加入此行,Syslog为数据库名,第一个rsyslog为mysql用户名第二个是密码

执行完mysql服务器授权后再重启rsyslog服务

----在mysql服务器执行---------------------------------------------

# mysql < /root/createDB.sql   因在日志服务器已经把此脚本传到mysql服务器了。

# mysql

MariaDB [(none)]> grant all on Syslog.* to rsyslog@172.16.2.16 identified by 'rsyslog';

MariaDB [(none)]> flush privileges;

测试 ----------------------------------

在rsyslog服务器执行

# echo ======================== >> /var/log/messages

#  tail -f  /var/log/messages             监视日志,如果配置正确,应该没有日志产生。

在客户机端执安装软件测试

# yum -y install bind   测试安装一个软件用来产生日志。

在mysql查看

MariaDB [Syslog]> select * from SystemEvents;       查看表中有没有数据

534c0b3373338d3189c28f59f081c429.png

==============================================================

数据库中有记录了,在数据库查看比较难。所以使用web页面展示的软件 loganalyzer软件。

loganalyzer是一个php程序,所以需要web服务。

# yum -y install httpd php php-mysql php-gd mysql-server     安装发布loganalyzer所需要的软件。

# service httpd start      启动httpd服务,测试服务是否能正常运行,级提供服务。

# cd /var/www/html

# wget http://download.adiscon.com/loganalyzer/loganalyzer-3.6.5.tar.gz   下载loganalyzer程序

#  cp loganalyzer-3.6.5/src ./log

# cp loganalyzer-3.6.5/contrib/* log/

# cd log

# chmod u+x configure.sh secure.sh

# ./configure.sh

# ./secure.sh

# chown -R apache:apache ../log

配置完成,到windows的浏览器里输入http://172.16.2.16/log/。

80a59fea0b4b692e9bd2669922e3ebf6.png

27c2fad980cc765d9704647abd352ccf.png

e162b9d22e5f6c701ed4a04b5ce3c7ce.png

08cc27990097554aa98b62bf095721f5.png

4eca84b444b2d8d447b330e56a168afd.png

出现了以上错误,因为没的日志文件导致

# touch /var/log/syslog

# chown apache:apache /var/log/syslog

9af09ee7c947ed6fa5c31aa800983dcf.png

c2584a3c2a28caa469f293617ce87891.png

3c5b4ba6f7ff2816934d9bce79c1de79.png

至此日志就可以在网页查看分析了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值