虚机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查看:
有日志输出
成功!!!
亲测无坑,如果此篇文章对您有所帮助,还请您给点个赞关注一下!谢谢各位小伙伴了