认识和分析日志文件 Linux
来源:互联网 发布:淘宝开店客服电话 编辑:程序博客网 时间:2024/06/05 22:47
平台:RHEL
常见的日志文件
- /var/log/cron:记录crontab执行的情况
- /var/log/dmesg:记录系统在开机的时候内核检测过程所产生的各项信息
- /var/log/lastlog:记录系统上面所有账号最近一次登陆的相关信息,lastlog命令就是通过这个文件来显示内容的
- /var/log/maillog或/var/log/mail/*:记录邮件来往信息
- /var/log/messages:记录系统发生错误或者重要的信息
- /var/log/secure:记录涉及需要账号密码软件的信息
- /var/log/wtmp, /var/log/faillog:记录正确登陆系统的账号信息(wtmp)与错误登陆时所使用的账号信息(faillog)
- /var/log/httpd/*, /var/log/news/*, /var/log/samba/*:记录不同的网络服务产生的各项信息
通常情况下,日志文件由以下两种方式产生
- 由软件开发商自行定义写入日志文件,例如WWW软件apache就是这样处理的
- 由Linux distribution提供的日志文件管理服务来统一管理,RHEL提供了两种syslogd(一般日志管理)和klogd(管理内核相关的日志)
这里主要来分析一下syslogd日志文件服务,通过syslogd记录下来的日志文件通常会包含下面几个重要数据
- 事件发生的日期和事件
- 发生此事件的主机名
- 启动此事件的服务名称(如samba, xinetd等)或函数名称(如libpam)
- 该信息的实际数据内容
[root@rhel6164 ~]# head -n 1 /var/log/secureDec 21 04:29:27 rhel6164 sshd[15843]: Received disconnect from 10.121.122.58: 11: disconnected by usersyslog的配置文件:/etc/syslog.conf 这个文件规定了什么服务的什么等级信息以及需要被记录在哪里(设备或文件)这三个部分
[root@rhel6164 ~]# cat /etc/rsyslog.conf #RHEL6上面配置文件为rsyslog.conf#rsyslog v3 config file# if you experience problems, check# http://www.rsyslog.com/troubleshoot for assistance#### MODULES ####$ModLoad imuxsock.so # provides support for local system logging (e.g. via logger command)$ModLoad imklog.so # provides kernel logging support (previously done by rklogd)#$ModLoad immark.so # provides --MARK-- message capability# Provides UDP syslog reception#$ModLoad imudp.so#$UDPServerRun 514# Provides TCP syslog reception#$ModLoad imtcp.so#$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#### RULES ##### Log all kernel messages to the console.# Logging much else clutters up the screen.#kern.* /dev/console# 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# The authpriv file has restricted access.authpriv.* /var/log/secure# Log all the mail messages in one place.mail.* -/var/log/maillog# Log cron stuffcron.* /var/log/cron# Everybody gets emergency messages*.emerg *# Save news errors of level crit and higher in a special file.uucp,news.crit /var/log/spooler# Save boot messages also to boot.loglocal7.* /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/spppl/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 ###
服务名称:软件开发商会调用这些服务来记录他们的软件,例如sendmail就会主动调用syslog内的mail服务来记录邮件来往信息,syslog本身有设置一些服务,可以通过这些服务来存储系统的信息,syslog设置的服务主要有下面这些,更多帮助文档可以参考man 3 syslog页面
- "." 表示比后面还要高的等级(含该等级)都会被记录下来,例如:mail.info代表只要是mail的信息,而且改信息等级高于或等于info时,就会被记录下来
- “.=" 代表所需要的等级就是后面接的等级,其它的不要
- ”.!" 代表不等于,即是除了该等级外的其它等级都会被记录
信息记录的文件名或设备或主机:常见放置信息记录的地方
- 文件的绝对路径,通常是放在/var/log目录下面
- 打印机或其它,例如/dev/lp0这个打印机设备
- 用户名称,显示给用户
- 远程主机,例如@www.xxx.com,当然要对方能够支持才行
- *,代表目前在线的所有人
例子:
将与新闻组资料(news)及例行工作调度(cron)相关的信息都写入到/var/log/cronnews的文件中,但是把这个两个程序的警告信息则额外地记录到/var/log/cronnews.warn文件中,该用下面的内容来设置syslog.conf配置文件
new.*;cron.* /var/log/cronnewsnew.=warn;cron.=warn /var/log/cronnews.warn注意:在用vi查看了日志文件时,不小心手动修改了日志文件后,并保存了,那么该日志文件将来就不会再继续进行日志操作。因为vi保存了日志文件,则syslogd会误判为该文件已被改动过,将导致syslogd不再对该文件写入新的内容
日志文件的轮替:logrotate
logrotate的配置文件有两个(/etc/logrotate.conf和/etc/logrotate.d/),logrotate的工作是通过cron来完成的(/etc/cron.daily/logrotate)。针对日志文件进行轮替,主要的工作原理为:这里以备份日志文件messages为例
- 第一次轮替,messages变成了messages.1,然后再新建一个空的messages文件
- 第二次轮替,新建的messages变成了messages.2,然后再新建一个空的messages文件
- 第二次轮替,新建的messages变成了messages.3,然后再新建一个空的messages文件
- 以此类推
0 0
- linux认识和分析日志文件
- 认识和分析日志文件 Linux
- Linux认识与分析日志文件
- 【读书笔记】鸟哥的Linux私房菜---第19章:认识和分析日志文件
- 认识与分析日志文件
- linux分析日志文件
- Note For Linux By Jes(13)-认识与分析日志文件
- 鸟哥的linux私房菜学习笔记《三十八》认识与分析日志文件
- 认识和分析系统日志和日志轮循
- Linux 学习笔记 -- 第四部分 Linux 使用着管理 -- 第19章 认识与分析日志文件
- 认识与分析Linux登录文件
- 鸟哥私房菜 第十九章 认识分析日志文件
- 认识分析登录文件
- 日志文件的处理和分析
- Linux日志文件内容过滤和日志文件排序
- Linux删除日志文件和清除日志文件脚本
- Linux操作系统管理--日志管理和分析
- 认识 linux 文件权限
- 又是一篇感慨
- unity3d更新全书,转
- 算法与数据结构面试题(23)-将字符串转化为整形
- 游戏开发中的前端解耦设计
- C#编写通用数据库访问类
- 认识和分析日志文件 Linux
- GC如何知道对象没被引用(孤岛例子)
- UVA - 10499 The Land of Justice
- 对最近一段时间学习的总结
- 计算当前时间和⼀一个固定时间的差值
- 92SlidingDrawer控件介绍
- 视频下载工具“硕鼠”与遨游浏览器的比拼(图文)
- Java线程:线程的调度-休眠
- 4384: X++