『学了就忘』Linux日志管理 — 91、日志服务rsyslogd说明
1、日志文件格式
只要是由日志服务rsyslogd
记录的日志文件,他们的格式是一样的。
基本日志格式包含以下内容:
- 事件产生的时间。
- 发生事件的服务器的主机名。
- 产生事件的服务名或程序名。
- 事件的具体信息(具体日志信息)。
我们以/var/log/messages
为例:
2、rsyslogd服务的配置文件
rsyslogd
服务是的配置文件是/etc/rsyslog.conf
。用来确定哪个服务的、什么等级的日志信息,会被记录在哪个位置。也就是说,rsyslogd
日志服务/etc/rsyslog.conf
配置文件中主要定义了服务的名称、日志等级和日志记录位置。
(1)rsyslog.conf文件内容
rsyslog.conf
配置文件的位置在/etc/rsyslog.conf
配置文件说明。
# 查看/etc/rsyslog.conf配置文件的内容。
[root@localhost ~]# vim /etc/rsyslog.conf
# rsyslog v5 configuration file
# For more information see /usr/share/doc/rsyslog-*/rsyslog_conf.html
# If you experience problems, see http://www.rsyslog.com/doc/troubleshoot.html
# 加载模块。是`rsyslogd`服务必备的模块。
#### MODULES ####
# 加载imuxsock模块,为本地系统登录提供支持。
$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
# 加载imklog模块,为内核登录提供支持。
$ModLoad imklog # provides kernel logging support (previously done by rklogd)
# 加载immark模块,提供标记信息的能力。
#$ModLoad immark # provides --MARK-- message capability
# 如果你需要把日志发送给其他的服务器,
# 你就需要开启下面的UPD或者TCP协议的网络服务。
# 加载UPD模块,允许使用UDP的514端口,接收采用UDP协议转发的日志。
# Provides UDP syslog reception
#$ModLoad imudp
#$UDPServerRun 514
# 加载TCP模块,允许使用TCP的514端口,接收采用TCP协议转发的日志。
# Provides TCP syslog reception
#$ModLoad imtcp
#$InputTCPServerRun 514
# 定义全局设置。
#### GLOBAL DIRECTIVES ####
# 定义日志的时间,使用默认的时间戳格式。
# 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
# 包含/etc/rsyslog.d/目录中所有的“.conf"子配置文件。
# 也就是说这个目录中的所有子配置文件也同时生效。
# Include all config files in /etc/rsyslog.d/
$IncludeConfig /etc/rsyslog.d/*.conf
# 日志文件保存规则。
#### RULES ####
# kern服务.所有日志级别保存在/dev/console。
# 这个日志默认没有开启,如果需要,则取消注释。
# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.* /dev/console
# *.info;mail.none;authpriv.none;cron.none意思是:
# 所有服务.info以上级别的日志,保存在/var/log/messages日志中。
# 除了mail,authpriv,cron的日志不记录在/var/log/messages日志文件中,因为它们都有自己的日志文件。
# 所以/var/log/messages日志,是最重要的系统日志文件,需要经常查看!
# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none /var/log/messages
# 用户认证服务所有级别的日志,保存在/var/log/secure日志中。
# The authpriv file has restricted access.
authpriv.* /var/log/secure
# mail服务的所有级别的日志保存在/var/log/maillog日志中。
# “-”号的含义是日志先在内存之中保存,当日志够多之后,再向文件中保存。
# Log all the mail messages in one place.
mail.* -/var/log/maillog
# 计划任务的所有日志保存在/var/log/cron日志中。
# Log cron stuff
cron.* /var/log/cron
# 所有日志服务的疼痛等级日志对所有在线用户广播。
# Everybody gets emergency messages
*.emerg *
# uucp和news日志服务的crit以上的日志保存在/var/log/sppoler 日志文件中。
# Save news errors of level crit and higher in a special file.
uucp,news.crit /var/log/spooler
# loac17日志服务的所有日志写入/var/log/boot.log日志中。
# 会把开机时的检测信息在显示到屏幕的同时,写入/var/log/boot.log日志中
# Save boot messages also to boot.log
local7.* /var/log/boot.log
# 定义转发规则
# ### 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)
#
# 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.
#$WorkDirectory /var/lib/rsyslog # where to place spool files
#$ActionQueueFileName fwdRule1 # unique name prefix for spool files
#$ActionQueueMaxDiskSpace 1g # 1gb space limit (use as much as possible)
#$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
# ### end of the forwarding rule ###
(2)rsyslog.conf配文件内容说明
1)/etc/rsyslog.conf
配置文件格式
格式:
#服务名称[连接符号]日志等级 日志记录位置
authpriv.* /var/log/secure
说明:
认证相关服务.所有日志等级 记录在/var/log/secure日志中。
2)服务名称
rsyslogd
服务可以识别以下服务的日志,也可以理解为,以下这些服务委托了rsyslogd
服务来代为管理日志。
服务名称 | 说明 |
---|---|
auth (LOG_AUTH) |
安全和认证相关消息(不推荐使用authpriv 替代)。 |
authpriv (LOG_AUTHPRIV) |
安全和认证相关消息(私有的)。 |
cron (LOG_CRON) |
系统定时任务cront 和at 产生的日志。 |
daemon (LOG_DAEMON) |
和各个守护进程相关的日志。 |
ftp (LOG_FTP) |
ftp 守护进程产生的日志。 |
kern (LOG_KERN) |
内核产生的日志(不是用户进程产生的)。 |
local0-local7 (LOG_LOCAL0-7) |
为本地使用预留的服务。 |
lpr (LOG_LPR) |
打印产生的日志。 |
mail (LOG_MAIL) |
邮件收发信息。 |
news (LOG_NEWS) |
与新闻服务器相关的日志。 |
syslog (LOG_SYSLOG) |
有syslogd 服务产生的日志信息(虽然服务名称已经改为 rsyslogd ,但是很多配置都还是沿用了syslogd 的,这里并没有修改服务名)。 |
user (LOG_USER) |
用户等级类别的日志信息。 |
uucp (LOG_UUCP) |
uucp 子系统的日志信息,uucр 是早Linux系统进行数据传递的协议,后来也常用在新闻组服务中。 |
3)连接符号
日志服务连接日志等级的格式是:
日志服务[连接符号]日志等级 日志记录位置
在这里连接符号可以识别为:
.
代表只要比后面的等级高的(包含该等级)日志都记录下来。
比如:cron.info
代表cron
服务产生的日志,只要日志等级大于等于info
级别,就记录。.=
代表只记录所需等级的日志,其他等级的都不记录。
比如:*.=emerg
代表任何日志服务产生的日志信息,只要等级是emerg
等级就记录。(这种方式用的很少).!
代表不等于,也就是除了该等级的日志外,其他等级的日志都记录。
4)日志等级
等级名称 | 说明 |
---|---|
debug (LOG_DEBUG) |
一般的调试信息说明。 |
info (LOG_INFO) |
基本的通知信息。 |
notice (LOG_NOTICE) |
普通信息,但是有一定的重要性。 |
warning (LOG_WARNING) |
警告信息,但是还不会影响到服务或系统的运行。 |
err (LOG_ERR) |
错误信息,一般达到err 等级的信息,已经可以影响到服务或系统的运行了。 |
crit (LOG_CRIT) |
临界状况信息,比err 等级还要严重。 |
alert (LOG_ALERT) |
警告状态信息,比crit 还要严重。必须立即采取行动。 |
emerg (LOG_EMERG) |
疼痛等级的日志信息,系统已经无法使用了。 |
* |
代表所有日志等级,比如:authpriv.* 代表authpriv 认证信息服务产生的日志,所有的日志等级都记录。 |
debug
日志等级最低, emerg
日志等级最高。日志等级低,他记录的日志信息可能就会多些。
提示:
日志等级这里还可以识别
none
,如果日志等级是none
,就说明忽略这个日志服务,该服务的所有日志都不再记录。
5)日志记录位置
日志记录位置就是当前日志输出到哪个日志文件中保存,当然也可以把日志输出到打印机打印,或者输出到远程日志服务器上(当然日志服务器要允许接收才行)。日志的记录位置也是固定的,我们来学习下:
- 日志文件的绝对路径。这是最常见的日志保存方法,如
/var/log/secure
就是保存系统验证和授权信息日志的。 - 系统设备文件。如
/dev/lp0
代表第一台打印机,如果日志保存位置是打印机设备的话,当有日志时就会在打印机打印(现在基本上没有这种情况了,请放弃)。 - 转发给远程主机。因为可以选择使用TCP协议和UDP协议传输日志信息,所以有两种发送格式。
如果使用@192.168.0.210:514
,就会把日志内容使用UDP协议发送到192.168.0.210的UDP 514端口上
,
如果使用@@192.168.0.210:514
就会把日志内容使用TCP协议发送到192.168.0.210的TCP 514端口上
。
其中514是日志服务默认端口。(知道有这个功能即可)
当然只要192.168.0.210
服务器同意接收此日志,就可以把日志内容保存在日志服务器上。 - 用户名。如
root
,就会把日志发送给root
用户,当然root
要在在线,否则就收不到日志信息了。
发送日志给用户时,可以使用*
代表发送给所有在线用户,如:mail.emerg *
就会把mail
服务产生的所有级别的日志发送给所有在线用户。
如果需要把日志发送给多个在线用户,用户名之间用,
分隔。 ~
:忽略或丢弃日志。如果接受日志的对象是~
,代表这个日志不会记录,而被直接丢弃。
例如:local3.* ~
代表忽略local3
服务类型所有的日志都不记录。
(3)定义自己的日志
为什么需要自己定义日志配置文件。
因为我们日常工作中,可能需要对某些日志信息做一些操作。有自定义的日志信息,按照自己习惯或者方便查看的方式定义日志信息格式,作为模板,我们能够更好的操作日志。
# 1.编辑/etc/rsyslog.conf配置文件。
[root@localhost ~]# vim /etc/rsyslog.conf
# 写入如下日志信息配置。
# 把所有服务的“错误信息”以上的错误都保存在/var/log/err.log日志文件中。
*.err /var/log/err.log
# 2.重启rsyslog服务。
[root@localhost ~]# service rsyslog restart
关闭系统日志记录器: [确定]
启动系统日志记录器: [确定]
# 3.重启rsyslog服务完成后,查看/var/log/目录下,是否有err.log文件。
[root@localhost ~]# ll /var/log/err.log
-rw-------.1 root root 06月 6 16:33 /var/log/err.log
# 查看到了err.log日志文件,说明上面配置的"*.err"自定义日志生效了。
『学了就忘』Linux日志管理 — 91、日志服务rsyslogd说明的更多相关文章
- 『学了就忘』Linux权限管理 — 55、文件特殊权限
目录 1.文件特殊权限说明 2.设置SetUID 3.检测SetUID的脚本 4.设置SetGID (1)针对文件的作用 (2)针对目录的作用 5.Sticky BIT 6.设定文件特殊权限 7.文件 ...
- 『学了就忘』Linux软件包管理 — 40、Linux系统软件包介绍
目录 1.Linux系统软件包分类 2.源码包说明 3.二进制包说明 4.RPM包的优缺点 4.RPM包的两种安装方法 5.总结 1.Linux系统软件包分类 Linux系统下的软件包只有源码包和二进 ...
- 『学了就忘』Linux软件包管理 — 42、对RPM软件包的查询操作
目录 1.查询RPM软件包是否安装 2.查询系统中所有已安装的RPM软件包 3.查询RPM软件包的详细信息 4.查询RPM软件包中的文件列表 5.查询系统文件属于哪个RPM包 6.查询RPM软件包所依 ...
- 『学了就忘』Linux软件包管理 — 44、在RPM包中提取文件
目录 1.RPM包中文件的提取 2.在RPM包中提取文件的操作 (1)cpio命令介绍 (2)提取RPM包中文件 1.RPM包中文件的提取 为什么要做这个事呢? 在操作Linux系统的时候误删除一个文 ...
- 『学了就忘』Linux软件包管理 — 47、Linux源码包的安装和卸载
目录 1.源码包安装服务的注意事项 2.源码包安装服务的过程 3.源码包安装服务的删除 4.源码包安装服务的启动 5.源码包安装服务的关闭 1.源码包安装服务的注意事项 (1)安装服务选择哪种软件包? ...
- 『学了就忘』Linux软件包管理 — 49、拓展:Linux中通过脚本安装程序
目录 1.脚本程序简介 2.Webmin安装 (1)简介 (2)安装 (3)使用 1.脚本程序简介 脚本程序包并不多见,所以在软件包分类中并没有把它列为一类.它更加类似于Windows下的程序安装,有 ...
- 『学了就忘』Linux用户管理 — 50、用户管理相关文件详细说明
目录 1.用户信息文件 2./etc/shadow影子文件 3./etc/group 组信息文件 4.组密码文件 5.用户的家目录 6.用户邮箱目录 7.用户模板目录 总结: 提示:严格的用户权限划分 ...
- 『学了就忘』Linux用户管理 — 51、用户管理相关命令
目录 1.添加用户(useradd命令) 2.设定密码(passwd命令) 3.用户信息修改(usermod命令) 4.删除用户(userdel命令) 5.切换用户身份(su命令) 1.添加用户(us ...
- 『学了就忘』Linux权限管理 — 53、ACL权限详解
目录 1.什么是ACL权限 2.开启ACL 3.ACL权限的相关命令 (1)设定ACL权限 (2)查询文件的ACL权限 (3)设置文件ACL权限给用户组 (4)给文件夹和里边的文件同时赋予ACL权限 ...
- 『学了就忘』Linux权限管理 — 54、sudo授权
目录 1.什么是sudo授权 2. sudo授权说明 3.sudo命令的使用 示例1 示例2 示例3 1.什么是sudo授权 在Linux系统中,/sbin/和/usr/sbin/两个目录中的命令只有 ...
随机推荐
- DVWA总结
Brute Force,即暴力(破解),是指黑客利用密码字典,使用穷举法猜解出用户口令,是现在最为广泛使用的攻击手法之一,如2014年轰动全国的12306"撞库"事件,实质就是暴力 ...
- 更通俗的理解JS原型链
最近在网上看到一篇理解原型链的,感觉非常好非常通俗易懂,拿来记录一下~: 1)人是人他妈生的,妖是妖他妈生的.人和妖都是对象实例,而人他妈和妖他妈就是原型.原型也是对象,叫原型对象. 2)人他妈和人他 ...
- 解决 IDEA 2021.2.3 新建maven项目只有两个archetype项目模板的问题
最近把我的 IDEA 版本更新到 2021.2.3 了,发生了一个比较有意思的问题,做个小小的记录 思路分析 在新的 IDEA 中配置完Maven之后,想要创建Maven项目的时候没有自动加载arch ...
- IT公司都不喜欢招培训班出来的学生,那培训班的意义何在呢?
我一方面做过培训学校的老师,现在上班之余,还在培训学校做兼职老师,另一方面做过大厂和外求的技术面试官,主要是java方向的,应该对这个话题有充分的话语权. 在本文里,就从培训班的作用. ...
- FJD1T1
在考场上因为一些原因,系统编译不了. 于是在最后\(1h\)把\(T3\)得重打一遍,所以这题的暴力没有写完. 不过也确实很蠢,没想到做法. 考虑搜索原串中的字母的对应取值,然后计算出结果的柿子. 考 ...
- 洛谷 P5224 - Candies(循环卷积)
洛谷题面传送门 一道题解长度大概不到 1k 的题,可还是决定写篇题解,因为自己没有做出来( \(1004535809\) 好评( 首先这个 \(\equiv m\pmod{k}\) 有点把我们往单位根 ...
- 洛谷 P4548 - [CTSC2006]歌唱王国(概率生成函数)
洛谷题面传送门 PGF 入门好题. 首先介绍一下 PGF 的基本概念.对于随机变量 \(X\),满足 \(X\) 的取值总是非负整数,我们即 \(P(v)\) 表示 \(X=v\) 的概率,那么我们定 ...
- 2.MaxSubArray-Leetcode
题目:最大连续子序列和 思路:动态规划 状态转移方程 f[j]=max{f[j-1]+s[j],s[j]}, 其中1<=j<=n target = max{f[j]}, 其中1<=j ...
- 前端1 — HTML — 更新完毕
1.首先来了解一个东西 -- W3C标准( 全称是:World Wide Web Consortium ) 万维网联盟(外语缩写:W3C)标准不是某一个标准,而是一系列标准的集合 -- 这个其实每天都 ...
- 日常Java 2021/9/23
练习使用Math.random函数,以及JOptionPane.showMessageDialog(null,"字符串","Results",JOptionPa ...