设为首页 收藏本站
查看: 2951|回复: 6

[经验分享] linux系统中的日志系统

  [复制链接]

尚未签到

发表于 2013-4-1 09:02:23 | 显示全部楼层 |阅读模式
   Linux上的日志系统早期的版本有syslog,后来推出了其升级版syslog-ng(即下一代),该版本又可分为开源版和商业版。下面我们主要介绍syslog。那么日志是用来做什么的呢?
    日志可记录如下内容:
1.        记录系统和内核的运行信息;
2.        记录每一次网络连接和它们的源IP地址、长度,有时还包括攻击者的用户名和使用的操作系统;
3.        记录远程用户申请访问哪些文件;
4.        记录用户可以控制哪些进程;
5.        记录具体用户使用的每条命令。
6.        等……

    在Linux系统中,有3个主要的日志子系统:连接时间日志、进程统计日志和错误日志
l        连接时间日志记录在/var/log/wtmp和/var/run/utmp中,用于跟踪谁在何时登录到系统;
l        进程统计日志(pacct或acct)给系统中的基本服务提供命令使用统计(默认不激活,要想激活该服务,可使用该命令激活:# accton /var/account/pacct);
l        错误日志由syslogd后台进程记录,各种系统守护进程、用户程序通过调用函数syslog向文件/var/og/messages记录值得注意的事件。

syslog日志系统:包含syslogd和klogd两个进程                    
Ø        syslogd:系统,记录非内核产生的信息
Ø        klogd:内核,专门负责记录内核产生的信息

    kernel初始化时的所有日志信息都将由klogd负责,一旦控制权由内核转交给/sbin/init后,日志信息都将由syslogd来负责,除非是与内核相关的信息。kernel初始化时因还没有虚拟终端,所有信息都显示在物理终端(/dev/console)上,系统初始化完成后内核产生的所有日志信息都将被记录在/var/log/dmesg文件中,可使用如下命令查看内核信息:# dmesg   或  # cat /var/log/dmesg

/sbin/init有3个重要的日志文件:
    /var/log/messages:系统标准错误日志信息;非内核产生的引导信息,各子系统产生的信息,该文件记录信息最多,在系统运行时间长了以后该文件会非常大,会定时滚动
    /var/log/maillog:邮件系统产生的日志信息
       /var/log/secure:记录有所有登录或尝试登录信息,该日志文件不允许其他用户查看
    上边提到了日志滚动,什么是日志滚动呢?日志需要滚动(日志切割):日志应经常滚动,以免日志文件过大分析起来不便。比方说,系统运行一段时间后,messages因记录信息会比较大,我们知道单个日志文件过大当系统出现问题时,分析起来不方便,所以就需要对日志文件进行分割。对日志文件进行分割时,会产生一个以.X(1,2,3)结尾的与原日志文件同名的文件,如:当messages文件第一次滚动时,原文件会变成messages.1,同时会产生一个新的messages文件;当messages文件第二次滚动时,原来的messages.1文件变成messages.2,而messages变成messages.1,同时产生新的messages文件。

常用的日志文件说明如下:
boot.log  记录系统在引导过程中发生的事件。
cron  记录crontab守护进程crond所派生的子进程的动作。
maillog  记录电子邮件的活动。
acct/pacct  记录用户命令。
lastlog  记录最近几次成功登录的事件和最后一次不成功的登录。
messages  从syslog中记录信息(有的链接到syslog文件)。
sulog  记录su命令的使用。
syslog  从syslog中记录信息(通常链接到messages文件);
utmp  记录当前登录用户的信息。
wtmp  一个用户每次登录进入和退出时间的永久记录。另外,wtmp和utmp文件都是二进制文件,需要使用who、w、users、last和ac命令查看它们包含的信息。


    我们知道syslog包含两个进程:syslogd和klogd,但syslog自身就是一个服务,想要查看该服务有没有启动,其包含的两个进程运行情况如何,可使用如下命令:
# chkconfig --list syslog  :可查看系统有没有启动该服务
# service syslog status  :可查看该服务的两个进程运行情况
    syslog的配置文件为/etc/syslog.conf,在配置文件中,对日志系统的格式做出了明确的定义,其格式为:facility.priority        action ,其中syslog.conf 的第一列facility.priority用来指定日志功能和日志级别,中间用.隔开,可以使用*来匹配所有的日志功能和日志级别, "设备" 标识发出消息的子系统,可以把同一类型的消息组合在一起,"优先级" 表示消息的重要性,其范围从debug (最不重要)到emerg (最重要)。第二列action定义消息的分发目标,或收到消息后如何处理。下面具体介绍下facility、priority和action都包含哪些含义。
facility 指定 syslog 功能,可以理解为日志的来源或设备,目前常用的facility有以下几种:

auth                 由 pam_pwdb 报告的认证活动
authpriv             包括特权信息如用户名在内的认证活动
cron                与任务计划有关的信息
daemon               与 inetd 守护进程有关的信息
kern                内核信息,首先通过 klogd 传递
lpr                与打印服务有关的信息  
mail                与电子邮件有关的信息  
mark                syslog 内部功能用于生成时间戳
news                来自新闻服务器的信息  
security             安全相关的信息,与auth 类似
syslog              由 syslog 生成的信息  
user               由用户程序生成的信息
uucp               由 uucp 生成的信息  
local0----local7  与自定义程序使用,例如使用 local5 做为 ssh 功能
*                  通配符代表除了 mark 以外的所有功能


priority(log level)日志的级别,决定信息的重要性。 与每个功能对应的优先级是按一定顺序排列的,emerg 是最高级,其次是 alert,依次类推。缺省时,在 /etc/syslog.conf 记录中指定的级别为该级别和更高级别。如果希望使用确定的级别可以使用两个运算符号!(不等)和=。
例如:user.=info  表示告知 syslog 接受所有在 info 级别上的 user 功能信息。以下的等级重要性逐次递减:
emerg           该系统不可用
alert           需要立即被修改的条件
crit           阻止某些工具或子系统功能实现的错误条件
err            阻止工具或某些子系统部分功能实现的错误条件
warning          预警信息  
notice          具有重要性的普通条件
info           提供信息的消息
debug           不包含函数条件或问题的其他信息  
none            没有重要级,通常用于排错  
*             所有级别,除了none

注:当我们指定记录某一级别的日志信息时,该级别及比该级别高的日志信息也会被记录下来

action 字段为动作域,所表示的活动具有许多灵活性,特别是,可以使用名称管道的作用是可以使 syslogd 生成后处理信息。syslog 主要支持以下活动:

file                  将消息追加到指定的文件尾  
terminal 或 print      完全的串行或并行设备标志符
@host                 远程的日志服务器(将日志记录在远程主机上,在某些情况下可加强日志安全)  
username          将消息写到指定的用户  
named pipe         指定使用 mkfifo 命令来创建的 FIFO 文件的绝对路径。
*              将消息写到登录到系统上的所有用户,一般emerg级别的日志是这样定义的

注:在/etc/sysconfig/syslog文件中做如下修改可实现作为日志服务器使用
# Options to syslogd
# -m 0 disables 'MARK' messages.
# -r enables logging from remote machines

# -x disables DNS lookups on messages recieved with -r

# See syslogd(8) for more details
SYSLOGD_OPTIONS="-r -m 0"    #  -r选项默认不启用,然后重启日志服务即可

  
/etc/syslog.conf配置文件定义格式例子:
mail.info   /var/log/mail.log       :表示将mail相关的,级别为info及info以上级别的信息记录到var/log/mail.log文件中
auth.=info  @172.16.0.1             :表示将auth相关的,级别为info的信息记录到172.16.0.1主机上
mark.!=warn                         : 表示记录与mark相关的,除了error级别以外的所有信息
mark.!warn                          :与mark.warn相反,表示只记录与mark有关的比warn级别低的日志信息
*.info                             : 表示记录所有info级别的所有日志信息
auth.*                              :表示记录与auth相关的所有级别的信息
*.*                                 : 表示记录所有功能或设施所有级别的信息
cron.info;mail.info                 :表示记录cron和mail有关的,info级别的及以上的信息,多个日志来源可以用";" 隔开
cron,mail.info                      : 意义同上
mail.*;mail.!=info                  :表示记录与mail相关但不包含info级别的所有其他级别的信息
  
下面一起来看一下syslog配置文件/etc/syslog.conf中的内容,其中#表示注释信息,帮助理解,可忽略,这里只贴出非注释信息:
*.info;mail.none;authpriv.none;cron.none            /var/log/messages
          表示除了邮件、权限、任务计划外的所有inifo及以上级别的信息都记录在/var/log/messages中  
authpriv.*                                        /var/log/secure
         表示所有与权限或授权有关的,所有级别的信息都记录在/var/log/secure文件中,该文件权限比较特殊,为600,仅允许管理员读取
mail.*                                              -/var/log/maillog      
         表示与邮件有关的,所有级别的信息都记录在/var/log/maillog文件中,其中-表示异步写入磁盘,不写表示同步写入磁盘
cron.*                                              /var/log/cron
         表示与任务计划有关的所有级别的日志信息都记录在/var/log/cron文件中
*.emerg                                           *            
         表示emerg级别的所有信息通知所有登陆该系统的所有用户
uucp,news.crit                                        /var/log/spooler
         表示uucp和新闻有关的,crit级别及以上的所有信息记录在该文件中
local7.*                                     /var/log/boot.log
         用户自定义的,不管什么级别都记录在该文件中

    如果自己想要修改日志中定义的格式,可在该文件/etc/syslog.conf中修改,但不会立即生效,要想立即生效,需重新载入该服务,即使用如下命令重新装载日志服务:# service syslog reload ,该命令可实现不用重启服务就可以使其读取配置文件,即向系统发送1号信号;如果选择如下命令# service syslog restart 重启日志服务,可能会导致在重启时正好有其它日志系统正在向syslog发送信息,但因重启日志服务syslog将收不到信息的情况,因此一般不建议重启日志服务

    上边提到日志滚动,那我们来看一下其配置文件吧。/etc/logrotate.conf文件内容(我们还可以自己在这里添加某个日志文件如何滚动;借助于系统定义的任务计划,将某个日志的切割或配置文件放到指定的位置下,就可以实现自动滚动。)

weekly            #按周滚动
rotate 4           #表示保留4个历史版本
create             #创建新的日志,以上几个为全局定义,如果某个日志文件没有定义,就从此处继承,如果定义了就使用自己已定义好的
include /etc/logrotate.d          #包含多个片段
/var/log/wtmp {
    monthly                             #按月滚动
    minsize 1M                           #最小为1M
    create 0664 root utmp                   #创建新的日志文件,权限为0664,用户为root,文件名为utmp
    rotate 1                               #保留1个历史版本
}
/var/log/btmp {
    missingok                           #如果此前没有也没有关系
    monthly
    minsize 1M
    create 0600 root utmp
    rotate 1
}
  




参考文献:
http://blog.iyunv.com/jeff2007/article/details/5984719
http://book./art/200712/62870.htm
http://ant595.blog./5074217/1080922



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-4613-1-1.html 上篇帖子: 日志系统(syslog和syslog-ng) 下篇帖子: awstats 线上web服务器访问统计

尚未签到

发表于 2013-4-1 09:24:13 | 显示全部楼层
这是什么东东啊

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-16 00:54:55 | 显示全部楼层

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-16 12:43:27 | 显示全部楼层
一时的冲动,子孙的危机!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-17 05:40:20 | 显示全部楼层
如果有一双眼睛陪我一同哭泣,就值得我为生命受苦。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-17 17:39:06 | 显示全部楼层
.其实我是一个天才,可惜天妒英才!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-18 07:14:20 | 显示全部楼层
很多女明星不红的原因是因为没有张开腿*^_^*

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表