vim /etc/rsyslog.conf
,authpriv代表所有级别的登录日志,@@代表tcp,172.168.2.100代表目标ip,514代表目标端口号,保存退出
authpriv.* @@10.99.8.3:514
或者:
*.* @@10.99.8.3:514
: service rsyslog restart
############################################################################################
vim /etc/rsyslog.conf
###################################################################################################
接下来的这步,需要我们来为远程消息创建模板,并告知rsyslog守护进程如何记录从其他客户端机器所接受到的消息。
使用文本编辑器来打开vim /etc/rsyslog.conf,然后在GLOBAL DIRECTIVE块前追加以下的模板。
$template RemoteLogs,"/var/log/%HOSTNAME%/%PROGRAMNAME%.log" *.* ?RemoteLogs& ~
或者:
$template RemoteLogs,"/var/log/%FROMHOST-IP%/%HOSTNAME%/%PROGRAMNAME%.log" *.* ?RemoteLogs& ~
粘贴到 刚刚取消注释的514 端口所在行下面:
##################################################################################################
在此对该模板进行简单解释,$template RemoteLogs(这里“RemoteLogs” 字符串可以为任何其他的描述性的名称)指令使rsyslog后台进程将日志消息写到/var/log下的单独的本地日志文件中,其中日志文件的名称是基于远程日志发送机器的主机名以及生成该日志的应用程序名进行定义的。其中第二行暗示了我们将RemoteLogs模板应用到所有接收到的日志上。
符号”& ~”表示了一个重定向规则,被用来告知rsyslog守护进程停止对日志消息的进一步处理,并且不要在本地写入。如果没有使用该重定向规则,那么所有的远程消息都会在写入上述描述的日志文件之外同时被写入到本地日志文件,这就意味着日志消息实际上被写了两次。使用该规则的另外一个结果就是syslog服务器本身的日志消息只会被以该机器主机名命名的专有文件中。
#################################################################################################
authpriv.* ?RemoteLogs
*.info,mail.none,authpriv.none,cron.none ?RemoteLogs
日志服务器核心配置图如下:
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
如果这篇文章对您有所帮助,或者有所启发的话,求一键三连:点赞、评论、收藏➕关注,您的支持是我坚持写作最大的动力。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有