常见的Linux日志文件名 /var/log/cron : 与之前写过的crontab任务调度相关的日志文件。 /var/log/dmesg : 记录系统在开机时候内核检测过程中所产生的各项信息。由于centos默认将开机时内核的硬件检测过程取消,因此额外将数据记录一份在这个文件中。 /var/log/lastlog : 记录系统上面所有账号最近一次登录系统时的相关信息。日志文件不用说,就是记录linux系统在什么时候由哪个进程做了什么样的行为,发生了什么事件等。详细的日志文件信息可以帮助我们解决大部分的Linux问题。
lastlog
命令就是基于此。
/var/log/maillog|* : 记录邮件的往来信息,主要是记录sendmail(SMTP协议提供者)与dovecot(POP3协议提供者)所产生的信息。
/var/log/message : 相当重要的日志文件,几乎系统发生的错误信息都会记录在这个文件中。系统发生莫名的错误时,这个文件是一定要查阅的日志文件之一。
/var/log/secure : 基本上,只要涉及账号密码的软件,登录信息都会存在这个文件中。
/var/log/wtmp,/var/log/faillog : 分别记录正确登录系统的账户信息(wtmp)和错误登录的账户信息(faillog)
/var/log/httpd/*【ps:不同的linux distributions中,通常日志的文件名不会相同,所以,具体仍需查阅主机上的日志文件设置数据。】
日志文件的产生方式:
软件开发商自行定义写入的日志文件与相关格式。 Linux distribution提供的日志文件管理服务来统一管理。centos7使用rsyslogd来统一管理。 日志文件所需服务与程序rsyslogd : 主要登录系统与网络等服务的信息。 klogd : 主要登录内核产生的各项信息。 logrotate : 主要进行日志文件的轮替功能。
一般来说,系统产生的信息经过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.这个文件规定了什么服务的什么等级信息以及需要被记录在那里(设备或文件)
语法规则:
服务名称[.=!]信息等级 信息记录的文件名或设备或主机 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服务。
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.pngnumpy快速处理数据学习笔记 numpy能处理多大的数据量