Linux日志学习

2018-08-02  本文已影响0人  Meditator_6344

什么是日志文件

日志文件不用说,就是记录linux系统在什么时候由哪个进程做了什么样的行为,发生了什么事件等。详细的日志文件信息可以帮助我们解决大部分的Linux问题。

常见的Linux日志文件名

【ps:不同的linux distributions中,通常日志的文件名不会相同,所以,具体仍需查阅主机上的日志文件设置数据。】

日志文件的产生方式:

日志文件所需服务与程序

rsyslogd : 主要登录系统与网络等服务的信息。
klogd : 主要登录内核产生的各项信息。
logrotate : 主要进行日志文件的轮替功能。

rsyslogd

日志文件内容的一般格式

一般来说,系统产生的信息经过syslog记录的数据,每条信息均会记录下面的几个重要数据。

image.png

这里就拿第一条数据做说明:
在7月22日 03:46:03(Jul 22 03:46:03) 由 izuf6i29flb2df231kt91hz这台主机的sshd[pid为3070]传来的消息,信息为 来自175.124.123.28端口46519的用户wuzhenqun无效

syslog的配置文件:/etc/rsyslog.conf(centos7采用rsyslog)

syslog针对各种服务与信息记录在某些文件的配置文件就是/etc/rsyslog.conf.这个文件规定了什么服务的什么等级信息以及需要被记录在那里(设备或文件)
语法规则:

服务名称[.=!]信息等级   信息记录的文件名或设备或主机
mail.info                      /var/log/maillog_info
#  说明 mail服务产生的大于等于info等级的信息,都记录到/var/log/maillog_info文件中
服务类型 说明
auth(authpriv) 主要与认证有关的机制,例如login,ssh,su等需要账号/密码
cron 就是例行性工作调度cron/at等生成信息日志的地方
daemon 与各个daemon有关的信息
kern 就是内核(kernel)产生信息的地方
lpr 即时打印相关的信息
mail 只要与邮件收发有关的信息记录都属于这个
news 与新闻组服务器有关的东西
syslog 就是syslogd这个程序本身生成的信息
user,uucp,local0-local7 与Unix like机器本身有关的一些信息

以上提到的都是syslog自行制定的服务名称。软件开发商可以通过调用上述的服务名称来记录他们的软件。
比如sendmail是与邮件相关的软件,都是调用syslogd内的mail服务。

等级 等级名称 说明
1 info 仅是一些基本的信息说明而已
2 notice 除了info外还需要注意的一些信息内容
3 warning(warn) 警示的信息,可能有问题,但是还不至于影响某个daemon运行的信息
4 err(error) 一些重大的错误信息,例如配置文件的某些设置造成该服务无法启动的信息说明
5 crit 比error还要严重的错误信息,这个crit是临界点(critical)的缩写,这个错误已经很严重了
6 alert 警告,已经很有问题的等级,比crit还严重
7 emergency(panic) "疼痛"等级,意指系统已经几乎要死机的状态
"."     : 代表比后面还要高的等级(含该等级),都被记录下来的意思
".="    :代表需要的等级就是后面接的等级而已
".!"    : 代表不等于,即是除了该等级之外的其他等级都记录
# Don't log private authentication messages!
记录所有日志类型的info级别以及大于info级别的信息到/var/log/messages,但是mail邮件信息,authpriv验证方面的信息和cron时间任务相关的信息除外
*.info;mail.none;authpriv.none;cron.none                /var/log/messages
# The authpriv file has restricted access.
authpriv验证相关的所有信息存放在/var/log/secure
authpriv.*                                              /var/log/secure
# Log all the mail messages in one place.
邮件的所有信息存放在/var/log/maillog; 这里有一个-符号, 表示是使用异步的方式记录, 因为日志一般会比较大
mail.*                                                  -/var/log/maillog
# Log cron stuff
计划任务有关的信息存放在/var/log/cron
cron.*                                                  /var/log/cron
# Everybody gets emergency messages
 记录所有的大于等于emerg级别信息, 以wall方式发送给每个登录到系统的人
*.emerg                                                 :omusrmsg:*
# Save news errors of level crit and higher in a special file.
记录uucp,news.crit等存放在/var/log/spooler
uucp,news.crit                                          /var/log/spooler
# Save boot messages also to boot.log
启动的相关信息
local7.*                                                /var/log/boot.log

日志文件的安全设置

通过这个chattr属性可以保护日志文件只能被增加,而不能被删除。

chattr +a /var/log/message

日志文件的轮替

配置文件:
/etc/logrotate.conf 主要参数文件
/etc/logrotate.d 目录文件

下图是centos7默认的logrotate.conf文件

logrotate.conf image.png
上一篇 下一篇

猜你喜欢

热点阅读