做项目刚好遇到客户有日志服务器,所以想说自己砸虚拟机上搭建一个,熟悉下流程
参照
[https://www.cnblogs.com/mchina/p/linux-centos-rsyslog-loganalyzer-mysql-log-server.html]
centos 6.8 日志服务器 192.168.91.147
centos 7 服务器 192.168.91.134
日志服务器上的配置流程
1
安装lamp环境
yum -y install httpd mysql* php*
安装完成后启动httpd和mysql 并设置开机启动
/etc/init.d/httpd start
chkconfig httpd on
/etc/init.d/mysqld start
chkconfig mysqld on
2
检查并安装rsyslog(正常系统都有自带)
rpm -qa|grep rsyslog
查看
安装rsyslog连接mysql模块
yum install rsyslog-mysql -y
cd /usr/share/doc/rsyslog-mysql-5.8.10
ls
mysql -uroot -proot < createDB.sql
进入mysql可以看到对应的数据库,并且已经创建了两张表
设置相关权限
# mysql -uroot –p
mysql> grant all on Syslog.* to rsyslog@localhost identified by 'root';
mysql> flush privileges;
mysql> exit
3
配置服务端支持rsyslog-mysql 模块,并开启UDP服务端口获取网内其他LINUX系统日志
后面两行是开启日志记录模块
$ModLoad imudp #imupd是模块名,支持udp协议
$UDPServerRun 514 #允许514端口接收使用UDP和TCP协议转发过来的日志
最后重启下rsyslog服务
4
配置客户端
centos7 的配置
检查rsyslog 是否安装
# rpm -qa|grep rsyslog
配置rsyslog 客户端发送本地日志到服务端
# vi /etc/rsyslog.conf
*.* @192.168.1.107
行尾新增上面这行内容,即客户端将本地日志发送到服务器。
重启rsyslog 服务
# /etc/init.d/rsyslog restart
编辑/etc/bashrc,将客户端执行的所有命令写入系统日志/var/log/messages中。
# vi /etc/bashrc
在文件尾部增加一行
export PROMPT_COMMAND='{ msg=$(history 1 | { read x y; echo $y; });logger "[euid=$(whoami)]":$(who am i):[`pwd`]"$msg"; }'
设置其生效
# source /etc/bashrc
客户端配置完毕。
验证:
在日志服务器上 tailf messages信息
然后再服务器上做些操作,可以看到有信息记录过来了。
最后的LogAnalyzer安装就不写了。网上也一大堆。只要是知道一下怎么去获取日志的。
综合来说,主要是围绕 rsyslog 这个服务进行的
本文详细介绍如何在CentOS上搭建日志服务器,包括安装LAMP环境、配置rsyslog及MySQL模块,实现通过UDP接收网络内的Linux系统日志。

7126

被折叠的 条评论
为什么被折叠?



