封尘网

让学习成为一种习惯!

Centos6.5安装rsyslog+loganalyzer+mysql部署日志服务器汉化版

rsyslog+loganalyzer集中式管理日志,并把日志写入到数据库【Mysql中】,利用Web形式展现给系统管理员。

系统环境:

[root@centos ~]# uname -rm
2.6.32-431.el6.x86_64 x86_64

rsyslog版本:(Centos6.5系统自带的版本都是这个5.8.10)

关闭SELINUX:

[root@centos ~]# sed -i 's/enforcing/disabled/' /etc/selinux/config

防火墙配置:(可直接关闭,不关闭可添加如下规则)

[root@swper ~]# iptables -nL
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:514
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW,ESTABLISHED tcp dpt:22
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

1、同步系统时间

ntpdate asia.pool.ntp.org

服务端操作:

2、安装LAMP环境:【直接YUM即可】

yum install php php-mysql php-common php-gd php-mbstring php-mcrypt php-devel php-xml mysql mysql-server -y

3、添加到开机启动服务:

chkconfig mysqld on
chkconfig httpd on
chkconfig rsyslog on

启动服务:


service mysqld start
service httpd start
service rsyslog start

4、如果httpd未能支持PHP请在配置文件中httpd.conf添加以下两行:

vim /etc/httpd/conf/httpd.conf

617 AddType application/x-httpd-php .php
618 AddType application/x-httpd-php-source .phps

保存重启httpd服务:
service httpd restart

5、由于Rsyslog默认没有数据库支持模块,需要安装:【这里安装mysql数据,所以安装Mysql支持模块】

yum install rsyslog-mysql -y

注:rsyslog-mysql为rsyslog将日志传送到mysql数据库的一个模块。要把日志存到Mysql数据库里就必须安装。

安装完上面模块后发现:/usr/share/doc/rsyslog-mysql-5.8.10/下多了一个createDB.sql,根据名字可知是建库建表的SQL语句查看内容如下:

cat /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql
CREATE DATABASE Syslog;
USE 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
);

我们这里以导入SQL语句快速建立库和表【当然你也可以手工添加】

mysql -uroot </usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql

登陆Mysql数据库建立一个用户,并制授权用户给上面导入时建立的库【Syslog】所有权限:

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

修改配置文件:vim /etc/rsyslog.conf让它支持日志记录写到Mysql数据库中,并启用监听TCP514端口【你也可以选择UDP端口】:修改如下,用户名密码等根据自己情况修改:

修改完后记得重启Rsyslog服务:service rsyslog restart

客户端操作:【Rsyslog Client】
日志是由客户端主动发送数据到服务端的,所以在客户端上要在配置文件中添加服务端的IP地址【或主机名】与端口:

直接追加服务端IP地址与端口到配置文件中

[root@Hadoop ~]# echo "*.*     @@10.0.10.99:514" >> /etc/rsyslog.conf

说明:这里的.表示任意用户名,@@表示采用TCP协议,如果是一个@表示UDP协议:后面跟着服务端IP与端口【默认为514】修改完后要重启服务:service rsyslog restart ,如果客户端上开启了防火墙必须允许514端口通过。

此时,通过tail -f /var/log/messages实时查看服务端上的日志文件,在客户端上的操作都会有记录,说明rsyslog日志服务器正常工作了.

接下来安装loganalyzer软件。软件已经更新到3.6.6了,自己喜欢可以下载:

wget http://download.adiscon.com/loganalyzer/loganalyzer-3.6.3.tar.gz

tar xf loganalyzer-3.6.3.tar.gz
cp -r loganalyzer-3.6.3/src/* /var/www/html/
cp -r loganalyzer-3.6.3/contrib/* /var/www/html/

把上面两个目录下的所有文件拷贝到Web的目录下。

cd /var/www/html/
chmod 700 *.sh
./configure.sh

【实际上就是创建一个config.php文件并授权为666,如果不这样授权一会安装会提示权限不够。】

打开浏览器:http://10.0.10.99/点击here进入一下步,如果上面操作完成直接一下步,看到Step3时选择Enable User Databse为YES填入Mysql的相关配置:

直接一下步到Step 6会提示创建一个管理员帐号:创建完帐号后可看到如下:

完整后,即可查看到已经获取到了部分日志信息。

接着来做个简单的汉化:[汉化效果不是很好,但都基本够用了]

提醒:本文最后更新于 1283 天前,文中所描述的信息可能已发生改变,请谨慎使用。