linux中常见的日志文件为:
* /var/log/cron:例行工作排程的记录信息
* /var/log/dmesg:系统开机时候内核检测过程产生的各项信息
* /var/log/lastlog:所有帐号最近一次登录系统时候的相关信息
* /var/log/maillog或/var/log/mail/*:记录邮件的往来信息,主要是记录sendmail(SMTP协议提供者)与dovecot(POP3协议提供者)所产生的信息。
* /var/log/messages:这个文件相当重要,几乎系统发生的错误信息都会记录在这个文件中。
* /var/log/secure:只要牵涉到输入帐号密码的软件,那么登录时候都会被记录到此文件中,包括系统的login程序,图形界面登录使用的gdm程序,su,sudo等等,还有网络联机的ssh,telnet等程序,登录信息都会记录在这里。
* /var/log/wtmp,/var/log/faillog:这两个文件可以记录正确登录系统者的账户信息(wtmp)与错误登录时所使用的账户信息(faillog)。
* /var/log/httpd/*,/var/log/news/*,/var/log/samba/*:不同的网络服务会使用它们自己的日志文件来记录它们各自产生的各项信息。
日志文件所需要的服务主要就是syslogd和klogd,还有一个logrotate,它是用来自动化处理日志文件容量与更新的问题。
syslogd:主要登陆系统与网络等服务的信息
klogd:主要登录内核产生的各项信息
1
2
3
|
[yidao@localhost ~]$
ps
aux |
grep
syslog
root 728 0.0 0.0 243132 1548 ? Ssl 20:40 0:00
/sbin/rsyslogd
-n -c 5
yidao 2934 0.0 0.0 133512 1332 pts
/0
S+ 20:58 0:00
grep
--color=auto syslog
|
日志文件内容的一般格式:
* 事件发生的日期和时间
* 发生此事件的主机名
* 启动此事件的服务名(如samba,xinetd等)或函数名称(如libpam)
* 该信息的实际数据内容
1
2
3
4
|
[yidao@localhost ~]$
sudo
more
/var/log/secure
Nov 4 22:32:59 localhost
sudo
: yidao : TTY=pts
/1
; PWD=
/home/yidao
; USER=root ; COMMAND=
/bin/yum
info nautilus-terminal
Nov 4 22:33:21 localhost
sudo
: yidao : TTY=pts
/1
; PWD=
/home/yidao
; USER=root ; COMMAND=
/bin/yum
remove nautilus-terminal
Nov 4 22:36:22 localhost
sudo
: yidao : TTY=pts
/1
; PWD=
/home/yidao
; USER=root ; COMMAND=
/sbin/shutdown
-h now
|
上面的够清楚了吧,在11月4号的晚上22:32:59,在localhost本主机上,sudo进程产生的消息,具体内容为yidao….
====syslog的配置文件====
在cenos中为/etc/syslog.conf这个配置文件,里面的内容举例来说形如:
mail.info /var/log/maillog_info
news.=warn;cron.warn /var/log/cronnews.warn
*.*;news.none;cron.none /var/log/messages
三个字段:
服务名称 + 信息等级 + 日记文件记录位置,注意其中的信息等级,如果是.info代表info和info高的级别都记录,而.=info代表只记录info级别,而.!info代表不等于info级别的才记录,一般.就足够了。
给日志文件加入隐藏属性a,可以放置被改动和删除,只能增加数据:
# sudo chattr +a /var/log/messages
# sudo lsattr /var/log/messages
====日志文件服务器====
如果有10台linux服务器,每一台负责一个网络服务,那么为了了解整个集群的运行状态,可以单独部署一台日志文件服务器,方便管理员查看。
1,server端的设置:
# sudo vim /etc/sysconfig/syslog
# 找到下面这行:
SYSLOGD_OPTIONS="-m 0"
# 修改成下面这样子:
SYSLOGD_OPTIONS="-m 0 -r"
# 重启并查看syslogd
# sudo /etc/init.d/syslog restart
# sudo netstat -lunp | grep syslog
2,客户端的设置就简单多了:(假设我们日志文件服务器的IP是:192.168.1.100)
# sudo vim /etc/syslog.conf
*.* @192.168.1.100
====日志文件的论替====
logrotate:主要进行日志文件的论替功能
logrotate的配置文件:/etc/logrotate.conf和/etc/logrotate.d/
====分析日志文件====
logwatch分析日志文件,有个样板文件下载:
========================END========================
本人博客已搬家,新地址为:http://yidao620c.github.io/