日志服务器的搭建

服务器 0

日志服务器

在centos7系统中,默认的日志系统是rsyslog,它是一类unix系统上使用的开源工具,用于在ip网络中转发日志信息,rsyslog采用模块化设计,是syslog的替代品。

rsyslog特点

    实现了基本的syslog协议

    直接兼容syslogd的syslog.conf配置文件

    在同一台机器上支持多个rsyslogd进程,支持多线程

    丰富的过滤功能,可以实现过滤日志信息中的任何部分,可将消息过滤后在转发

    灵活的配置选项,配置文件中可以写简单的逻辑判断,自定义输出格式等

    增加了重要的功能,如使用tcp进行消息传输,支持UDP,TCP,SSL,TLS,RELP

    有现成的前端web展示程序

    可以使用MySQL,PGSQL,Oralce实现日志存储

    默认安装的rsyslog软件包提供的守护进程是rsyslog,它是一项系统的基础服务,应该设置开机运行

loganalyzer是一款syslog日志和其他网络时间数据的web前端,它提供了对日志的简单浏览、搜索、基本分析和一些图表报告的功能。数据可以从数据库或一般syslog文本文件中获取,所有loganalyzer不需要改变现有的记录架构。基于当前的日志数据,它可以处理syslog日志消息windows事件日志记录,支持故障排除,使用户能快速查找日志数据中看出问题的解决方案

loganalyzer获取客户端日志会有两种保存模式,一种是直接读取客户端/var/log目录下的日志并保存到服务端该目录下,一种是读取后保存日志服务器数据库中,这里测试的是mariadb数据库

loganalyzer采用php开发,所以服务需要php的运行环境,这里用的lamp。

其他类似的日志系统:Logrotate

静态页面

动态页面

LAMP:linux+apache/httpd+mysql+php

centos701日志服务器

centos702 应用服务器

需求:应用服务器产生的数据传输至日志服务器,用数据库存储并以图形化界面查看、管理;

配置步骤:

一、应用服务器日志同步至日志服务器

702:

1.部署应用/web服务器的rsyslog-client,messages日志发送到日志服务器

修改配置文件指定日志服务器

# vim /etc/rsyslog.conf

*.info;mail.none;authpriv.none;cron.none                /var/log/messages //此约54行下加入下一行

*.info;mail.none;authpriv.none;cron.none @192.168.1.11

$ModLoad imudp //指明使用udp传输并指定端口号  约15行左右

$UDPServerRun 514

# systemctl enable rsyslog

# systemctl restart rsyslog

# yum install -y httpd

701:

# vim /etc/rsyslog.conf

$ModLoad imudp //指明使用udp传输并指定端口号

$UDPServerRun 514

# systemctl enable rsyslog

# systemctl restart rsyslog

702:

# systemctl restart httpd //重启服务,产生日志数据

701:

在日志服务器中查询web服务器同步过来的日志信息:

# tail /var/log/messages

二、日志服务器通过数据库存储web服务器的日志数据

702:

# yum install -y rsyslog-mysql

701:

# yum install -y mariadb-server mariadb

# systemctl start mariadb

# systemctl enable mariadb

创建存储日志数据的数据库:

# mysql

use mysql; //切换到mysql库

update user set password=password('admin123') where user='root'; //设置root密码为admin123

GRANT ALL ON Syslog.* TO 'Syslog'@'192.168.1.%'IDENTIFIED BY 'admin123'; //创建用户syslog,密码为admin123,并授权给syslog库的所有权限

FLUSH PRIVILEGES;

数据库优化

# vim /etc/my.cnf

skip_name_resolve=on //禁止域名解析

innodb_file_per_table=on //共享表空间转化为独立表空间

# systemctl restart mariadb

702:

可以看到连接服务器所默认的数据库和用户名信息

# less /usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql

测试连接服务器数据库:

# yum install mysql -y

# mysql -u Syslog -h 192.168.1.11 -p

导入数据到web服务器:

#mysql -u Syslog -h 192.168.1.11 -p < /usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql

修改配置文件使得数据传输至701的数据库而非/var:

# vim /etc/rsyslog.conf

$ModLoad ommysql //增加此项

*.info;mail.none;authpriv.none;cron.none :ommysql:192.168.1.11,Syslog,Syslog,admin123 //删除原来的,增加此项

# systemctl restart rsyslog //重启服务

# systemctl restart httpd //重启服务,产生日志

701:

日志服务器查看获取到的数据:

# mysql -uroot -p

show databases; //查看所有的数据库

use Syslog; //切换到syslog库

show tables; //查看表名

select count(*) from SystemEvents; //查看日志数量

select * from SystemEvents; //查看表中的日志数据

安装loganalyzer:

# mkdir /loganalyzer

# tar zxf loganalyzer-4.1.5.tar.gz

# cp -rf loganalyzer-4.1.5/src/* /loganalyzer/

# cp -rf loganalyzer-4.1.5/contrib/* /loganalyzer/

# cd /loganalyzer

# chmod +x *.sh

# ./configure.sh

# ./secure.sh

# chmod 666 config.php

# yum install -y httpd php php-mysql /LAMP需要的组件

# vim /var/www/html/index.php

<?php

phpinfo();

?>

# systemctl restart httpd

# vim /etc/php.ini    

extension=php_mysqli.dll //加在约731行

验证php可用性:192.168.1.11/index.php

在http主配置文件中设置/loganalyze为网页根目录:

# vim /etc/httpd/conf/httpd.conf

DocumentRoot "/loganalyzer" //约119行,改为"/loganalyzer" 原为/var/www/html

<Directory "/loganalyzer"> //约131行,改为"/loganalyzer" 原为/var/www/html

<IfModule dir_module>

    DirectoryIndex index.html index.php     //164行

</IfModule>

# systemctl restart httpd

网页访问并安装:192.168.1.11

 

安装完成后将权限改回去:

chmod 644 /loganalyzer/config.php

中文补丁包:

# cp -rf zh/ /loganalyzer/lang/

# chmod 655 -R  /loganalyzer/lang/zh

配置后的效果如下图所示

 

也许您对下面的内容还感兴趣: