Linux基于rsyslog启用网络日志服务实现日志实时转储
Posted 白-胖-子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux基于rsyslog启用网络日志服务实现日志实时转储相关的知识,希望对你有一定的参考价值。
日志
rsyslog
土办法
- 使用scp或者rsync添加计划任务cron定期执行拷贝
- 如果突然宕机则损失备份
基于rsyslog实现日志服务异地存储
- 生产中操作系统和应用程序都会产生海量日志信息
- 启用网络日志服务功能,可以将多个远程主机的日志,发送到集中的日志服务器,方便统一管理。
- 使用系统自带rsyslog可以做到几乎实时将生成的日志转储至远程日志服务器
搭建日志服务器
- 集中管理日志
- 514默认端口
- 由imtcp.so和imudp.so功能
- 要在配置文件中取消掉注释开启功能
- 找到/etc/rsyslog.conf文件中的功能模块
# Provides UDP syslog reception
# for parameters see http://www.rsyslog.com/doc/imudp.html
#module(load="imudp") # needs to be done just once
#input(type="imudp" port="514")
# Provides TCP syslog reception
# for parameters see http://www.rsyslog.com/doc/imtcp.html
#module(load="imtcp") # needs to be done just once
#input(type="imtcp" port="514")
- 把module和input前的注释去掉
sed -ri.bak 's/^#(.*\\(.*\\=\\"im.*p\\".*\\)).*/\\1/' /etc/rsyslog.conf
- 查看修改后的配置文件确认模块已启用
# Provides UDP syslog reception
# for parameters see http://www.rsyslog.com/doc/imudp.html
module(load="imudp")
input(type="imudp" port="514")
# Provides TCP syslog reception
# for parameters see http://www.rsyslog.com/doc/imtcp.html
module(load="imtcp")
input(type="imtcp" port="514")
- 重启rsyslog服务
systemctl restart rsyslog.service
- 查看服务器端口确保514已启用
ss -nl | grep 514
udp UNCONN 0 0 0.0.0.0:514 0.0.0.0:*
udp UNCONN 0 0 [::]:514 [::]:*
tcp LISTEN 0 25 0.0.0.0:514 0.0.0.0:*
tcp LISTEN 0 25 [::]:514 [::]:*
客户端服务器配置
- 修改配置将需要的日志发到远端日志服务器
- 例如将本地messages日志发送至服务器
sed -i.bak '/\\/var\\/log\\/messages/h;s#/var/log/messages#@@10.0.0.186:514#;/@@10.0.0.186:514/G' /etc/rsyslog.conf
- 一个@使用UDP,两个@@使用TCP
- 实现日志推送到远端服务同时也要保存在本地呀!
- 改完以后是这个样子滴!
# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none @@10.0.0.186:514
*.info;mail.none;authpriv.none;cron.none /var/log/messages
- 重启rsyslog服务
systemctl restart rsyslog.service
测试
- 日志服务器端查看对应日志中是否有客户端日志内容
tail -F /var/log/messages
[root@C8-186 ~]# tail -F /var/log/messages
Jun 2 01:46:44 C8-192 systemd[3337]: Reached target Paths.
Jun 2 01:46:44 C8-192 systemd[3337]: Starting D-Bus User Message Bus Socket.
Jun 2 01:46:44 C8-192 systemd[3337]: Reached target Timers.
Jun 2 01:46:44 C8-192 systemd[3337]: Listening on D-Bus User Message Bus Socket.
Jun 2 01:46:44 C8-192 systemd[3337]: Reached target Sockets.
Jun 2 01:46:44 C8-192 systemd[3337]: Reached target Basic System.
Jun 2 01:46:44 C8-192 systemd[3337]: Reached target Default.
Jun 2 01:46:44 C8-192 systemd[3337]: Startup finished in 18ms.
Jun 2 01:46:44 C8-192 systemd[1]: Started User Manager for UID 0.
Jun 2 01:46:44 C8-192 sshd[3334]: Accepted publickey for root from 10.0.0.88 port 49366 ssh2: RSA SHA256:SkkJUczJ2TjwOv/dIQbqe5s9mQlhDLk+YXeNiOK2Fs0
Jun 2 01:49:05 C8-192 root[3369]: hello sshd
Jun 2 01:49:05 C8-192 root[3369]: hello sshd
Jun 2 01:51:40 C8-192 sshd[3347]: Received disconnect from 10.0.0.88 port 49366:11: disconnected by user
Jun 2 01:51:40 C8-192 sshd[3347]: Disconnected from user root 10.0.0.88 port 49366
Jun 2 01:51:40 C8-192 systemd[1]: sshd@4-10.0.0.192:22-10.0.0.88:49366.service: Succeeded.
Jun 2 01:51:40 C8-192 systemd[1]: session-11.scope: Succeeded.
Jun 2 01:51:40 C8-192 sshd[3347]: Received disconnect from 10.0.0.88 port 49366:11: disconnected by user
Jun 2 01:51:40 C8-192 sshd[3347]: Disconnected from user root 10.0.0.88 port 49366
……
以上是关于Linux基于rsyslog启用网络日志服务实现日志实时转储的主要内容,如果未能解决你的问题,请参考以下文章