Linux 一对多配置日志服务器步骤教程

网友投稿 744 2022-08-28

Linux 一对多配置日志服务器步骤教程

Linux 一对多配置日志服务器步骤教程

配置日志服务器

文章目录

​​配置日志服务器​​

​​一、配置发送端:从server发送到syslog​​

​​1.1打开以下文件​​​​1.2 在第90行(附近也行)输入以下代码​​​​1.3 配置完成 重启 rsyslog​​

​​二、配置接收端:配置协议,端口号,接收条件,存储位置​​

​​2. 编辑 下面文件​​​​2.1取消注释如下代码:​​​​2.2创建日志接收模板​​

​​2.2.1主机名方式显示日志目录​​

​​2.2.2 ip 方式显示目录​​

​​注意: 下面两步必须配置,否则不会生效​​

​​2.3.1.将全部优先级别的所有内部用户验证消息指定为RemoteLogs模板:​​​​2.3.2.将所有系统进程中除开mail、用户验证和cron消息之外的进程产生的消息级别的日志指定为RemoteLogs模板:​​​​2.4 配置完成 执行重启 rsyslog命令​​

​​结语​​

一、配置发送端:从server发送到syslog

1.1打开以下文件

​​vim /etc/rsyslog.conf​​

1.2 在第90行(附近也行)输入以下代码

,authpriv代表所有级别的登录日志,@@代表tcp,172.168.2.100代表目标ip,514代表目标端口号,保存退出

authpriv.* @@10.99.8.3:514

或者:

*.* @@10.99.8.3:514

1.3 配置完成 重启 rsyslog

: ​​service rsyslog restart​​

二、配置接收端:配置协议,端口号,接收条件,存储位置

############################################################################################

2. 编辑 下面文件

​​vim /etc/rsyslog.conf​​

2.1取消注释如下代码:

###################################################################################################

2.2创建日志接收模板

接下来的这步,需要我们来为远程消息创建模板,并告知rsyslog守护进程如何记录从其他客户端机器所接受到的消息。

使用文本编辑器来打开vim /etc/rsyslog.conf,然后在GLOBAL DIRECTIVE块前追加以下的模板。

2.2.1主机名方式显示日志目录

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

或者:

2.2.2 ip 方式显示目录

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

粘贴到 刚刚取消注释的514 端口所在行下面:

##################################################################################################

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

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

#################################################################################################

注意: 下面两步必须配置,否则不会生效

2.3.1.将全部优先级别的所有内部用户验证消息指定为RemoteLogs模板:

authpriv.* ?RemoteLogs

2.3.2.将所有系统进程中除开mail、用户验证和cron消息之外的进程产生的消息级别的日志指定为RemoteLogs模板:

*.info,mail.none,authpriv.none,cron.none ?RemoteLogs

日志服务器核心配置图如下:

2.4 配置完成 执行重启 rsyslog命令

​​ service rsyslog restart​​

效果图:

我们可以通过netstat命令来验证rsyslog守护进程是否正常工作。

$ sudo netstat -tulpn | grep rsyslog

如果rsyslog守护进程被设置在TCP连接端口,那么应该有类似下面所示的输出。

tcp 0 0 0.0.0.0:514 0.0.0.0:* LISTEN 1891/rsyslogd tcp6 0 0 :::514

结语

如果这篇文章对您有所帮助,或者有所启发的话,求一键三连:点赞、评论、收藏➕关注,您的支持是我坚持写作最大的动力。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Linux 常用Shell脚本,后端开发必备
下一篇:分布式锁的常见实现思路(分布式锁的三种实现的对比)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~