手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

CentOS 6.3下利用Rsyslog+LogAnalyzer+MySQL部署日志服务器

[日期:2013-07-06] 来源:Linux社区  作者:showerlee [字体: ]

作为一名系统运维工程师,平时查看分析LINUX系统日志我觉得是我们每天必做的功课,但时间长了会发现每次查看站点日志都得挨个进后台,几台服务器还可以这么对付,但如果管理成百上千台线上服务器,这种方法就捉襟见肘了。

后来想了想能不能有一台日志服务器集中管理日志,并以WEB形式将日志显示到前台方便查看,顿时码字的想法油然而生,呵呵。

本人有一个习惯,那就是会把群里或者网上看到的圈内比较认可的LINUX系统软件先保存在备忘录,等闲下来研究研究,刚好前段时间有位朋友提到rsyslog+loganalyzer集中管理日志,所以今天刚好就抽空研究了下,过程虽有曲折(网上的文档各种坑跌),最后还是利用一天时间搞定,将自己的理解分享给搭建,仅供参考。 

本文档是利用rsyslog+loganalyzer+mysql将网内所有LINUX服务器的系统日志集中到日志服务器进行管理,所有日志会保存在mysql数据库表中

注:loganalyzer在获取客户端日志会有两种保存模式,一种是直接读取客户端/var/log/目录下的日志并保存到服务端该目录下,一种是读取后保存到日志服务器数据库中,本文档推荐后者

相关阅读:

CentOS 6.0之rsyslog部署日志服务器:http://www.linuxidc.com/Linux/2013-06/86163.htm 

解决方案:

 

一.环境部署

 

操作系统: centos6.3 x64

rsyslog: 系统默认yum源

loganalyzer: loganalyzer-3.6.3

LAMP: httpd-2.4.4,mysql-5.6.10,php-5.4.13

 

 

 

 

rsyslog server: 192.168.7.201 lamp.example.com

rsyslog client: 192.168.7.74 www2.example.com

 

1.安装LAMP环境

本博传送门: LAMP 全功能编译安装 for CentOS 6.3笔记  http://www.linuxidc.com/Linux/2014-06/103837.htm

 

2.关闭iptables和SELINUX

# service iptables stop

注:这里若要开启iptables服务增加系统安全性

服务端需添加rsyslog UDP 514端口以及loganalyzer TCP 80端口通过规则

# iptables -A INPUT -p udp --dport 514 -j ACCEPT

# iptables -P OUTPUT ACCEPT

# iptables -A INPUT -p TCP --dport 80 -j ACCEPT

客户端只需添加OUTPUT通过规则

# iptables -P OUTPUT ACCEPT

从规则可见,rsyslog server端为被动获取数据,client端为主动发送数据

关闭iptables的朋友可以无视。。

 

# setenforce 0

# vi /etc/sysconfig/selinux

---------------

SELINUX=disabled

---------------

 

3.同步时间

# ntpdate asia.pool.ntp.org

 

二.安装配置rsyslog

(rsyslog server)

# yum install rsyslog rsyslog-mysql -y

注:rsyslog-mysql为rsyslog将日志传送到mysql数据库的一个模块,这里必须安装

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

# mysql -uroot -p123456 < createDB.sql

注:这里导入数据库操作其实博主最后研究了下,就是创建了Syslog库并在该库中创建了两张空表

创建rsyslog用户在mysql下的相关权限

# mysql -uroot -p123456

> grant all privileges on Syslog.* to rsyslog@localhost identified by "123456";

> flush privileges;

> exit

配置服务端支持rsyslog-mysql模块,并开启UDP服务端口获取网内其他LINUX系统日志

# vi /etc/rsyslog.conf

在#### MODULES ####下添加这两行

------------------

$ModLoad ommysql.so

*.* :ommysql:localhost,Syslog,rsyslog,123456

------------------

注:localhost表示本地主机,Syslog为数据库名,rsyslog为数据库的用户,123456为该用户密码

取消下面三行注释

-----------------

$ModLoad immark

$ModLoad imudp

$UDPServerRun 514

-----------------

重启服务:

# service rsyslog restart

 

(rsyslog client)

# yum install rsyslog -y

配置rsyslog客户端发送本地日志到服务端

# vi /etc/rsyslog.conf

末行添加如下内容

-------------------

*.* @192.168.7.201

-------------------

注:192.168.7.201 为日志服务器端IP地址

重启服务:

# service rsyslog restart

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留���删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款