CentOS 7搭建Rsyslong集中式日志系统

CentOS7中,Rsyslong是一个集中式的日志收集系统,可以运行在TCP或者UDP的514端口上。

目录

开始之前

配置接收日志的主机

配置发送日志的主机

日志回滚

附件:创建日志接收模板

排错

开始之前

本文的配置环境如下

系统:CentOS7

主机数量:2

接收日志的主机ip:192.168.1.112;主机名:server112

发送日志的主机ip:192.168.1.204;主机名:server204

rsyslog版本号:rsyslog-7.4.7-7.el7_0.x86_64

目的:把server204上产生的所有日志信息和所有的操作命令都发送到server112主机上,以便集中监控和分析日志

如果你的主机名在安装系统时没有修改,默认为localhost.domain,如果不修改主机名,那么所有的日志集中在一个服务器上时就会互相覆盖。

查看当前的主机名:hostname

修改主机名流程:

在文件/etc/hostname中添加新的主机名

CentOS 7搭建Rsyslong集中式日志系统

在文件/etc/hosts的第一行的两个地方添加新的主机名

注意:一定要在localhost.domain的前面添加{主机名}.domain,否则不能在/var/log目录下产生以主机名命名的目录

相关文件可以到Linux公社资源站下载:

------------------------------------------分割线------------------------------------------

免费下载地址在

用户名与密码都是

具体下载目录在 /2017年资料/2月/8日/CentOS 7搭建Rsyslong集中式日志系统/

下载方法见

------------------------------------------分割线------------------------------------------

在该项目下的scripts目录下有两个文件,configure_rsyslog_for_client.sh是用来配置发送日志的客户端脚本,configure_rsyslog_for_server.sh是用来配置接收日志的服务器端脚本。往后会在该项目中添加日志分析系统和更为全面的日志管理方法。

配置接收日志的主机

查看你的系统上是否安装了rsyslog系统

rpm -qa | grep rsyslog

在主机上安装rsyslog

yum install rsyslog* -y

安装完成后,打开文件/etc/rsyslog.conf进行配置,主要是把下面的注释去掉,并添加三行字符

$template RemoteLogs,"/var/log/%HOSTNAME%/%PROGRAMNAME%.log" * *.* ?RemoteLogs & ~

如下图所示:

CentOS 7搭建Rsyslong集中式日志系统

在此对该模板进行简单解释,$template RemoteLogs(这里“RemoteLogs” 字符串可以为任何其他的描述性的名称)指令使rsyslog后台进程将日志消息写到/var/log下的单独的本地日志文件中,其中日志文件的名称是基于远程日志发送机器的主机名以及生成该日志的应用程序名进行定义的。其中第二行暗示了我们将RemoteLogs模板应用到所有接收到的日志上。

符号"& ~"表示了一个重定向规则,被用来告知rsyslog守护进程停止对日志消息的进一步处理,并且不要在本地写入。如果没有使用该重定向规则,那么所有的远程消息都会在写入上述描述的日志文件之外同时被写入到本地日志文件,这就意味着日志消息实际上被写了两次。使用该规则的另外一个结果就是syslog服务器本身的日志消息只会被以该机器主机名命名的专有文件中

如果想配置特定的模板,参考本文最后的附件

rsyslog进程的控制命令为

查看进程运行情况(Status) :systemctl status rsyslog

停止(Stop)                        :systemctl stop rsyslog

重启(Restart)                    :systemctl restart rsyslog

启动(Start)                        :systemctl start rsyslog

查看514端口是否启动            :netstat -antup | grep 514

配置发送日志的主机

如果没有安装rsyslog,则安装

yum install rsyslog -y

安装完成后,同样配置/etc/rsyslog.conf文件,在文件的最后一行添加如下字符

*.* @192.168.1.112:514

如果用的是TCP协议,则要多加一个@:*.* @@192.168.1.112:514

把该主机上的所有操作命令同时发送到日志主机去,打开配置文件/etc/bashrc

在文件的最后一行添加以下内容:

export PROMPT_COMMAND='{ msg=$(history 1 | { read x y; echo $y; });logger "[euid=$(whoami)]":$(who am i):[`pwd`]"$msg"; }'

CentOS 7搭建Rsyslong集中式日志系统

重新加载bash配置文件:

source /etc/bashrc

打开防火墙的514端口

firewall-cmd --add-port=514/udp --permanent firewall-cmd --add-port=514/tcp --permanent firewall-cmd --reload

重启rsyslog

systemctl restart rsyslog

至此,基本配置完成

日志回滚

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/6832216617429eafd439929594c7b119.html