【服务配置文件详解】补充rsyslog服务的配置文件翻译解读

学习rsyslog日志管理服务的配置文件

# rsyslog configuration file 关于rsyslog软件的配置文件

# For more information see /usr/share/doc/rsyslog-*/rsyslog_conf.html
想看到更多相关信息,可以去查看这个文件,rsyslog-*的*表示软件版本,我查了,可能本地没有这个文件
# If you experience problems, see http://www.rsyslog.com/doc/troubleshoot.html
如果你遇到问题,也可以去这个网址查看,里面有常见的故障案例,等下截图演示

日志的配置文件由三部分组成:模块配置,全局配置,局部配置

第一部分:模块,可以看带哪些模块rpm -ql rsyslog 中以so结尾的,就是可提供的模块

#### MODULES ####  

# The imjournal module bellow is now used as a message source instead of imuxsock.
$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
支持本地系统日志记录,默认打开
$ModLoad imjournal # provides access to the systemd journal
提供systemd管理时,以journalctl这个命令查看日志信息,默认打开
#$ModLoad imklog # reads kernel messages (the same are read from journald)
表示读取内核的消息,与systemd的journal类似,默认关闭的
#$ModLoad immark  # provides --MARK-- message capability
提供mark标记功能,默认关闭

这是支持udp协议,接收日志,端口号是514
# Provides UDP syslog reception
#$ModLoad imudp
#$UDPServerRun 514

支持tcp协议,接收日志,端口号是514
# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514

这是第二部分:全局配置,通常不修改

#### GLOBAL DIRECTIVES ####

# Where to place auxiliary files
这里是一些辅助文件(查看了,就是imjournal.state)
$WorkDirectory /var/lib/rsyslog

# Use default timestamp format
使用默认时间戳格式
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat

#File syncing capability is disabled by default. This feature is usually not required,
文件的同步功能是默认关闭的,这个功能通常是不需要的
# not useful and an extreme performance hit
没有用和极端功能点
#$ActionFileEnableSync on
自动同步文件的功能打开,这里是默认关闭的

# Include all config files in /etc/rsyslog.d/
这个文件夹包含了所有日志相关功能配置文件(去查看了一下,目前只有listen.conf)
$IncludeConfig /etc/rsyslog.d/*.conf

# Turn off message reception via local log socket;
关闭本地套接字接收消息
# local messages are retrieved through imjournal now.
本地消息通过imjournal来接收,可以理解为就是journal可以统一管理,这是systemd的管理日志的一个服务软件
$OmitLocalLogging on

# File to store the position in the journal
储存journal的位置
$IMJournalStateFile imjournal.state
在这个文件,这个文件就是/var/lib/rsyslog/下面的,前面提到的辅助文件夹

这是第三部分:可以理解为存放日志的规则

#### RULES ####

# Log all kernel messages to the console.
所有内核消息放在这个设备(console控制台的意思)
# Logging much else clutters up the screen.
记录更多的其他东西会使屏幕变得杂乱。
#kern.*                                                 /dev/console
默认关闭的状态

# Log anything (except mail) of level info or higher.
记录任何日志,除了邮件,以及安全级别在info以及以上的日志
拓展日志的8个等级:7debug调试,6info信息,5notice注意,4warning提醒,3err错误,2crit严重,1alter警告,0emerg紧急
# Don't log private authentication messages!
也不提供安全认证相关的日志
*.info;mail.none;authpriv.none;cron.none                /var/log/messages
表示info级别以上,以及mail、authpriv、cron相关日志不记录到/var/log/messages文件中
这个是默认开启状态,也从内容分析知道,/var/log/messages基本包含了本系统大部分日志信息

# The authpriv file has restricted access.
安全认证通过的日志(如用户登录成功,ssh远程连接等)
authpriv.*                                              /var/log/secure
这里的authpriv.*中的*表示相关所有日志等级

# Log all the mail messages in one place.
邮件相关的日志
mail.*                                                  -/var/log/maillog


# Log cron stuff
与计划任务相关的日志
cron.*                                                  /var/log/cron

# Everybody gets emergency messages
任何的紧急日志(我用find / -name :omusrmsg:*没找到相关的具体位置,可能是因为我当前系统没有紧急事项)
*.emerg                                                 :omusrmsg:*

# Save news errors of level crit and higher in a special file.
存储uucp和news设备相关,在crit级别以上的日志
uucp,news.crit                                          /var/log/spooler

# Save boot messages also to boot.log
记录/boot中设备相关日志,含有系统启动的日志信息
local7.*                                                /var/log/boot.log

总结几点rule相关的设置:

##所有日志的存放位置都是可以自定义的
##rule部分中的所有日志,都使用1个@或者2@加ip的形式将日志通过udp或tcp传输到专门管理日志的服务器上,这个可以看之前的实操案例
##所有rule的格式都是[系统facility类型.日志级别范围   文件路径]
##关于日志facility:设施,从功能或程序上对日志进行归类
①内置分类
auth(验证), authpriv, cron(定时任务), daemon(守护进程),ftp(文件传输),kern(内核), lpr, mail, news, security(auth), user, uucp, syslog
②自定义的分类,名称只能是local,数字只能是0-7
local0-local7
自定义实操案例有ssh的服务日志独立
③关于日志级别,如果是*代表所有,如果是某个级别,表示该级别以上的
日志的8个等级:7debug调试,6info信息,5notice注意,4warning提醒,3err错误,2crit严重,1alter警告,0emerg紧急
# ### begin forwarding rule ###
设定转发日志规则之前的注意事项
# The statement between the begin ... end define a SINGLE forwarding
在开始和结束之间定义一个信号类型进行转发
# rule. They belong together, do NOT split them. If you create multiple
如果你创建多个,他们是一体的,可以不要分割他们
# forwarding rules, duplicate the whole block!
转发是复制整个内容,整个磁盘块
# Remote Logging (we use TCP for reliable delivery)
远程日志一般使用tcp进行可靠传输
#
# An on-disk queue is created for this action. If the remote host is down, messages are spooled to disk and sent when it is up again.
磁盘消息是列队进行传输的。如果远程主机关闭,消息将假脱机到磁盘,并在磁盘再次启动时发送。
#$ActionQueueFileName fwdRule1 # unique name prefix for spool files
这是脱机存信息的磁盘名称
#$ActionQueueMaxDiskSpace 1g   # 1gb space limit (use as much as possible)
磁盘空间可能限制为1G
#$ActionQueueSaveOnShutdown on # save messages to disk on shutdown
关机的时候存在磁盘
#$ActionQueueType LinkedList   # run asynchronously
异步运行
#$ActionResumeRetryCount -1    # infinite retries if host is down
如果主机关闭,重试
# remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional
远程主机的主机名,端口
#*.* @@remote-host:514
举例为tcp的
# ### end of the forwarding rule ###

学习官网的2个典型故障案例

https://www.rsyslog.com/doc/v8-stable/troubleshooting/index.html

【服务配置文件详解】补充rsyslog服务的配置文件翻译解读_第1张图片

第一种:selinux安全和firewalld需要关闭
第二种:限制打开文件的最大数量(我理解的是需要limit调优)

【服务配置文件详解】补充rsyslog服务的配置文件翻译解读_第2张图片
centos7存放日志的文件夹

用yum或者rpm安装的软件,一般会默认将日志存放在这个文件夹中,主要还是以服务的配置文件内容说明为准
比如我下载的httpd、chrony(时间同步)
[root@localhost rsyslog]#cd /var/log
[root@localhost log]#ls
anaconda           chrony              lastlog            sa                 vmware-vgauthsvc.log.0
audit              cron                libvirt            samba              vmware-vmsvc.log
boot.log           cron-20231105       maillog            secure             vmware-vmusr.log
boot.log-20231105  cups                maillog-20231105   secure-20231105    wpa_supplicant.log
boot.log-20231106  dmesg               messages           speech-dispatcher  wtmp
boot.log-20231107  dmesg.old           messages-20231105  spooler            Xorg.0.log
boot.log-20231108  firewalld           ntpstats           spooler-20231105   Xorg.0.log.old
boot.log-20231109  gdm                 pluto              sssd               Xorg.9.log
boot.log-20231110  glusterfs           ppp                sudo               yum.log
boot.log-20231111  grubby_prune_debug  qemu-ga            tallylog
btmp               httpd               rhsm               tuned

常见的日志
/var/log/btmp:登录失败用户的日志,二进制文件,使用lastb查看
/var/log/wtmp:登录成功用户的日志,二进制文件,使用last查看
/var/log/lastlog:上一次登录的日志,二进制文件,使用lastlog查看
/var/log/dmesg:设备日志文件
/var/log/messages :系统大量的日志信息
/var/log/secure:安全认证,可读,比如ssh或者正常的用户登录,身份认证

你可能感兴趣的:(配置文件解读,运维,centos)