rsyslog配置介绍
- facility:设施,从功能或程序上对日志进行归类
auth,authpriv,cron,daemon,ftp,kern,lpr,mail,news,user,uucp,local0-local7,syslog - Priority 优先级别,从低到高排序
debug,info,notice,warn,err,crit,alert,emerg - 配置文件路径
主配置文件:/etc/rsyslog.conf
从配置文件:/etc/rsyslog.d/*.conf - 配置文件格式
Global directives:设置rsyslog全局属性,加载相关模块
Templates:指定日志格式,在rules中引用
Output Channels:提供多种类型的输出通道,在rules中引用
RULES(selector + action):日志记录相关的规则配置 - RULES配置说明
RULES配置格式:facility.priority;facility.priority…… target
facility:
“” :所有级别
none:没有级别,即不记录
priority:指定级别(含)以上的所有级别
=priority:仅记录指定级别的日志信息
target:
文件路径:通常在/var/log目录下,文件路径前的“-”表示异步写入
用户:将日志事件通知给指定的用户,“”表示登陆的所有用户
日志服务器:@host,把日志送往指定的远程服务器
管道:|command,转发给其他命令处理
- 常用日志格式
产生日志的日期 时间 主机 进程(PID):事件内容 - 系统常用日志介绍
主机日志管理
主机常用日志
日志路径 | 功能 | 相关命令 |
---|---|---|
/var/log/secure | 系统安装与认证相关日志,文本格式 | |
/var/log/btmp | 用户失败尝试登陆相关日志,二进制格式 | lastb |
/var/log/wtmp | 当前系统上,用户正常登陆的县官日志信息,二进制格式 | last |
/var/log/lastlog | 每一个用户最近一次的登陆信息,二进制格式 | lastlog |
/var/log/dmesg | 系统引导过程中的日志信息,文本格式 | dmesg |
/var/log/messages | 系统中大部分日志信息,文本格式 | |
/var/log/anaconda | 计划任务日志,文本格式 |
journalctl常见用法
-
journalctl 查看所有日志,默认情况下,只保存本次启动的日志
-
jounalctl -k 查看内核日志(不显示应用日志)
-
journalctl -b 查看本次启动的日志
-
journalctl --since=“2023-05-01 13:00:00”
–since “20 min ago”
–since yesterday
–since 09:00 --until “1 hour ago”
查看指定时间日志 -
journalctl -n 20 显示尾部指定行数日志
-
journalctl -f 实时滚动显示最新日志
-
journalctl _PID=222 显示指定进程的日志
-
journalctl -u nginx 查看指定服务的日志
rsyslog配置文件
[root@han ~]# egrep -v "^$|^#" /etc/rsyslog.conf
$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imjournal # provides access to the systemd journal
$ModLoad imudp
$UDPServerRun 514 #开启udp514端口,接收客户端日志
$WorkDirectory /var/lib/rsyslog
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$IncludeConfig /etc/rsyslog.d/*.conf
$OmitLocalLogging on
$IMJournalStateFile imjournal.state
*.info;mail.none;authpriv.none;cron.none /var/log/messages
authpriv.* /var/log/secure
mail.* -/var/log/maillog
cron.* /var/log/cron
*.emerg :omusrmsg:*
uucp,news.crit /var/log/spooler
local7.* /var/log/boot.log
local6.* /var/log/ssh.log
*.* @192.168.1.1 #把日志发送到源端服务器
$ModLoad imfile #日志日志格式为文本格式
$InputFilePollInterval 5
$InputFileName /home/access.log #自定义日志格式文件路径
$InputFileTag Nginx:
$InputFileStateFile nginx_state.file
$InputFileSeverity debug
$InputFileFacility local0
$InputRunFileMonitor
[root@han ~]#