日志的作用
用于记录系统、程序运行中发生的各种事件
eg:
[root@localhost ~]# yum install -y httpd
[root@localhost ~]# tail -f /var/log/messages
Aug 4 14:10:01 localhost yum: Installed: apr-1.2.7-11.el5_3.1.i386
Aug 4 14:10:03 localhost yum: Installed: postgresql-libs-8.1.18-2.el5_4.1.i386
Aug 4 14:10:05 localhost yum: Installed: apr-util-1.2.7-11.el5.i386
Aug 4 14:10:11 localhost yum: Installed: httpd-2.2.3-43.el5.i386
通过阅读日志,有助于诊断和解决系统故障
eg:
[root@localhost ~]# service dhcpd restart
Starting dhcpd: [FAILED]
[root@localhost ~]# tail -f /var/log/messages
Aug 4 14:22:36 localhost dhcpd: ** You must add a global ddns-update-style statement to /etc/dhcpd.conf.
日志文件的分类
内核及系统日志
由系统服务rsyslog统一进行管理,日志格式基本相似
用户日志
记录系统用户登录及退出系统的相关信息
程序日志
由各种应用程序独立管理的日志文件,记录格式不统一
日志格式
[root@localhost ~]# tail -5 /var/log/messages
Sep 14 11:22:44 localhost kernel: sdb: cache data unavailable
Sep 14 11:22:44 localhost kernel: sdb: assuming drive cache: write through
Sep 14 11:22:44 localhost kernel: sdb: sdb1
Sep 14 11:23:37 localhost kernel: VFS: Can't find ext3 filesystem on dev sdb1.
Sep 14 16:54:48 localhost NetworkManager: <information> starting...
↑时间标签 ↑主机名字 ↑子系统名 ↑消息字段
日志的级别
日志级别
NONE: 什么都不记录
EMERG(紧急):会导致主机系统不可用的情况
ALERT(警告):必须马上采取措施解决的问题
CRIT(严重):比较严重的情况
ERR(错误):运行出现错误
WARNING(提醒):可能会影响系统功能的事件
NOTICE(注意):不会影响系统但值得注意
INFO(信息):一般信息
DEBUG(调试):程序或系统调试信息等
从下到上,级别从低到高,记录的信息越来越少
日志处理方式
本地文件:通常就是文件的绝对路径
打印机:例如 /dev/lp0 这个打印机装置
用户名称:显示给用户
远程主机:例如 @202.100.100.1
*:所有在线的用户
系统日志保存位置
默认位于:/var/log 目录下
主要日志文件介绍
内核及公共消息日志:/var/log/messages
计划任务日志:/var/log/cron
系统引导日志:/var/log/dmesg
邮件系统日志:/var/log/maillog
程序日志文件
由相应的应用程序独立进行管理
Web服务:/var/log/httpd/
access_log、error_log
代理服务:/var/log/squid/
access.log、cache.log、squid.out、store.log
FTP服务:/var/log/xferlog
……
分析工具
文本查看、grep过滤检索、Webmin管理套件中查看
awk、sed等文本过滤、格式化编辑工具
Webalizer、Awstats等专用日志分析工具
用户日志文件
保存了用户登录、退出系统等相关信息
/var/log/lastlog:最近的用户登录事件
/var/log/wtmp:用户登录、注销及系统开、关机事件
/var/run/utmp:当前登录的每个用户的详细信息
/var/log/secure:与用户验证相关的安全性事件
用户登录分析
who、w、users、last、ac、lastlog
日志管理策略
及时作好备份和归档
控制日志访问权限
日志中可能会包含各类敏感信息,如账户、口令等
集中管理日志
使用日志服务器便于日志的统一收集、整理和分析
杜绝日志信息的意外丢失、恶意篡改或删除
应用实例
日志服务器
调整rsyslog服务设置,建立集中管理的日志服务器
将客户机B中所有日志消息,自动发送到服务器A的日志文件中
![](https://img2018.cnblogs.com/blog/1545451/201904/1545451-20190410192800171-2121259052.png)
在服务器上配置:
1、修改/etc/rsyslog.conf文件,把以下2项的注释取消
$ModLoad imudp
$UDPServerRun 514
2、重启rsyslog服务
service rsyslog restart
[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
#### MODULES ####
$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imklog # provides kernel logging support (previously done by rklogd)
#$ModLoad immark # provides --MARK-- message capability
# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
[root@localhost ~]# service rsyslog restart
Shutting down system logger: [ OK ]
Starting system logger: [ OK ]
在客户机上配置:
1、修改/etc/rsyslog.conf文件,在最后加一行,内容如下:
*.* @服务器IP
2、重启rsyslog服务
service rsyslog restart
测试
在客户机通过logger添加日志
在服务器上查看日志
[root@localhost ~]# vim /etc/rsyslog.conf
# Save boot messages also to boot.log
local7.* /var/log/boot.log
*.* @172.16.66.188
[root@localhost ~]# service rsyslog restart
Shutting down system logger: [ OK ]
Starting system logger: [ OK ]