Linux 下的日志服务器操作
1.系统日志默认分类:
/var/log/messages 系统服务及日志,包括服务的信息,报错等等
/var/log/secure 系统认证信息日志
/var/log/maillog 系统邮件服务信息
/var/log/cron 系统定时任务信息
/var/log/boot.log 系统启动信息
日志设备(可以理解为日志类型):
auth pam产生的日志
authpriv ssh,ftp等登录信息的验证信息
cron 时间任务相关
kern 内核
lpr 打印
mail 邮件
mark(syslog)–rsyslog 服务内部的信息,时间标识
news 新闻组
user 用户程序产生的相关信息
uucp unix to unix copy, unix主机之间相关的通讯
local 1~7 自定义的日志设备
日志级别:
debug 有调式信息的,日志信息最多
info 一般信息的日志,最常用
notice 最具有重要性的普通条件的信息
warning 警告级别
err 错误级别,阻止某个功能或者模块不能正常工作的信息
crit 严重级别,阻止整个系统或者整个软件不能正常工作的信息
alert 需要立刻修改的信息
emerg 内核崩溃等严重信息
none 什么都不记录
2. 服务器端配置:打开日志配置文件/etc/rsyslog.conf
# Provides UDP syslog reception
#$ModLoad imudp
#$UDPServerRun 514
# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
重启rsyskog服务
3.客户端配置
vim /etc/rsyslog.conf
若启用UDP传输:添加如下1行*.* @192.168.30.254:514
若启用TCP传输:添加如下1行
*.* @@192.168.30.254:514
测试
服务器端检查514端口是否正常
[root@localhost log]# lsof -i:514
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
rsyslogd 14021 root 3u IPv4 43402 0t0 TCP *:shell (LISTEN)
rsyslogd 14021 root 4u IPv6 43403 0t0 TCP *:shell (LISTEN)
rsyslogd 14021 root 11u IPv4 42786 0t0 TCP 192.168.30.254:shell->192.168.30.1:59181 (ESTABLISHED)
现在客户端已经正常连上服务端
现在在服务端查看日志,同时在客户端进行日志测试操作
服务端:
[root@localhost log]# tail -f /var/log/messages
Jul 4 16:55:01 localhost systemd: Started Session 214 of user pcp.
Jul 4 16:55:01 localhost systemd: Starting Session 214 of user pcp.
Jul 4 16:55:02 localhost systemd: Removed slice user-995.slice.
Jul 4 16:55:02 localhost systemd: Stopping user-995.slice.
Jul 4 16:55:01 localhost systemd: Created slice user-995.slice.
Jul 4 16:55:01 localhost systemd: Starting user-995.slice.
Jul 4 16:55:01 localhost systemd: Started Session 65 of user pcp.
Jul 4 16:55:01 localhost systemd: Starting Session 65 of user pcp.
Jul 4 16:55:02 localhost systemd: Removed slice user-995.slice.
Jul 4 16:55:02 localhost systemd: Stopping user-995.slice.
Jul 4 16:55:46 localhost root: 12222222222222222222222222222222222222222
客户端
logger "12222222222222222222222222222222222222222"
这样一个简单的日志服务器就搭建完成了
但是我们会发现这样的日志会和服务器端的日志都是放在同一个文件下的,这样会产生很多的混乱,所以我们需要将这些日志进行分类存放
所以我们需要以下几点
1. 在/etc/rsyslog.conf中存在$IncludeConfig /etc/rsyslog.d/*.conf这么一句话,表示它会去这个目录下读取以.conf为后缀的所有文件
2.
:属性, 比较操作符, “值” 保存位置
属性包括以下内容
fromhost 哪个主机名发过来的
fromhost-ip 哪个ip发过来的
msg 从日志信息里的内容判断
hostname 从日志中的主机名判断
比较操作符包括以下内容
contains 包含
isequal 等于
startswith 以...开头
原文链接:https://blog.csdn.net/xiayun1995/java/article/details/83962934
那我们就在日志服务器/etc/rsyslog.d/写入一个叫192.168.30.1.conf的文件
:fromhost-ip, isequal, "192.168.30.1" /var/log/cclient/192,168.30.1.log
接下在客户端下进行一个简单日志操作
logger "12222222222222222222222222222222222222222"
查看服务端文件
[root@localhost cclient]# cat 192,168.30.1.log
Jul 4 17:19:18 localhost root: 12222222222222222222222222222222222222222
日志同步成功