Centos7使用rsyslog收集日志

虚机ip:10.0.2.15(server01)、10.0.2.16(server02)

使用server01做日志收集服务器,server02做客户端

确保两台服务器rsyslog开启并运行

默认安装,如未安装

yum install rsyslog -y

systemctl enable rsyslog

systemctl restart rsyslog

systemctl status rsyslog

服务端(server01)

vim /etc/rsyslog.conf

$ModLoad imudp

$UDPServerRun 514

$ModLoad imtcp

$InputTCPServerRun 514

将以上4行的注释取消,并添加行:

$template RemoteLogs,"/var/log/devicelog/%$YEAR%-%$MONTH%/%fromhost-ip%/%fromhost-ip%_%$YEAR%-%$MONTH%-%$DAY%.log"

*.* ?RemoteLogs

& ~

& ~ 表示的是重定向规则,丢弃,告知rsyslog进程无需后续处理日志消息,无需写入本地日志文件

保存退出

mkdir -p /var/log/devicelog

systemctl restart rsyslog

客户端(server02)

vim /etc/rsyslog.conf

$ModLoad imudp

$UDPServerRun 514

$ModLoad imtcp

$InputTCPServerRun 514

将以上4行的注释取消,并添加行:

$template myFormat,"%timestamp% %fromhost-ip% %msg%\n"

*.* @10.0.2.15:514

使用@代表走UDP协议,使用@@代表走TCP协议

保存退出,重启rsyslog

将客户端执行的所有命令写入系统日志/var/log/messages中

vim /etc/bashrc

最后一行添加如下行:

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

source /etc/bashrc

在server01上查看/var/log/devicelog下是否有文件

查看日志文件已存在,配置成功!!!

在server01上查看server02上输入的命令是否有记录:

server02输入:

hello world

server01查看:

有日志输出

成功!!!

亲测无坑,如果此篇文章对您有所帮助,还请您给点个赞关注一下!谢谢各位小伙伴了

发布了21 篇原创文章 · 获赞 5 · 访问量 395

猜你喜欢

转载自blog.csdn.net/weixin_41762839/article/details/105324998