linux命令:syslog日志服务-系统缩减之增加日志服务功能

syslog 服务:

    syslogd:系统日志服务,非内核产生的信息

    klogd:内核日志服务,专门负责记录内核产生的日志信息

  service syslog restart 重启日志服务

  service syslog reload  不重启日志服务使得日志服务配置文件立即生效


   配置文件:/etc/syslog.conf

  配置文件格式:facility.priority action  #facility谁产生的日志,priority所产生的那   种   级别的日志,action  对这些日志进行的操作(例如保存到那个路径文档中)

  facility,可以理解为日志的来源或设备目前常用的facility有以下几种:

      auth               #认证相关的

      authpriv            #权限,授权相关的

      cron               #任务计划相关的

      daemon              #守护进程相关的

      kern               #内核相关的

      lpr                #打印相关的

      mail               #邮件相关的

      mark               #标记相关的

      news               #新闻相关的

      security            #安全相关的,与auth类似

      syslog              #syslog系统日志自己的

      user               #用户相关的

      uucp               #unix to unix cp 相关的

      local0到local7        #用户自定义使用

      *                 #*表示所有的facility  


 priority(log level)日志的级别,一般有以下几种级别(从低到高)

     debug               #程序或系统的调试信息

     info               #一般信息

     notice              #不影响正常功能,需要注意的消息

     warning/warn          #可能影响系统功能,需要提醒用户的重要事件

     err/error            #错误信息

     crit               #比较严重的

     alert              #必须马上处理的

     emerg/panic          #会导致系统不可用的

     *                 #表示所有的日志级别

     none               #跟*相反,表示撒也没有

   

 action(动作)日志记录的位置

     系统上的绝对路径      #普通文件 如:/var/log/xxx

     |                #管道 通过管道送给其他的命令处理

      终端             #终端  如:/dev/console

     @HOST              #远程主机  如:@10.0.0.1

      用户              #系统用户  如:root

      *                #登录到系统上的所有用户,一般emerg级别的日志是这样定义的


 实例:

  mail.info  -/var/log/mail.log #表示将mail相关的,级别为info及info以上级别的信息记录

 到/var/log/mail.log文件中-表示异步写入即先放置内存中之后再同步到硬盘中,没有-表示同步写入

  auth.=info  @10.0.0.1      #表示将auth相关的,级别为info的信息记录到10.0.0.1主机

                       上去,前提是10.0.0.1要能接收其他主机发来的日志信息

  user.!=error             #表示记录user相关的,不包括error级别的信息

  user.!error             #与user.error相反,即记录比error级别低的信息且不包括error

  *.info                 #表示记录所有的日志信息的info级别

  mail.*                 #表示记录mail相关的所有级别的日志信息

  *.*                   #表示记录所有的日志所有级别的信息 

  cron.info;mail.info        #表示记录cron和mail的info及以上级别的日志信息,

                       多个日志用“;”隔开

  cron,mail.info           #与cron.info;mail.info是同样的意思

  mail.*;mail.!=info        #记录mail相关的所有级别信息,但是不包括info级别  


从系统开机到加载内核到物理终端开启过程中,所产生的日志信息都是属于内核日志

kernel --> 物理终端(console)--> /var/log/dmesg 

这个过程产生的日志保存在 /var/log/dmesg  

查看内核日志信息可以通过以下方式:

1、通过命令查看:dmesg

2、直接查看内核日志信息保存的文档:cat /var/log/dmesg


当系统执行了/sbin/init文件后就表示系统开始加载虚拟终端和伪终端,后期日志为系统日志。

/var/log/messages:系统标准错误日志信息,非内核产生引导信息,各子系统产生的系统

/var/log/maillog:邮件系统产生的日志信息;

/var/log/secure:记录登录系统的相关信息

[root@localhost ~]# tail /var/log/secure

Dec 19 07:35:47 localhost sshd[31767]: Accepted password for root from 10.109.134.247 port 59456 ssh2

Dec 19 07:35:47 localhost sshd[31767]: pam_unix(sshd:session): session opened for user root by (uid=0)

Dec 19 09:46:19 localhost sshd[4022]: pam_unix(sshd:session): session closed for user root

Dec 21 07:22:11 localhost sshd[12087]: Accepted password for root from 10.109.134.247 port 52122 ssh2

Dec 21 07:22:11 localhost sshd[12087]: pam_unix(sshd:session): session opened for user root by (uid=0)


实验目的(给精简linux增加日志服务) 

前期准备:已经安装制作了一个精简的linux系统

在宿主虚拟机添加IDE硬盘,并分2个分区,并挂载:

       mount /dev/hda1 /mnt/boot

       mount /dev/hda2 /mnt/sysroot

[root@localhost ~]# cd /mnt/sysroot/

[root@localhost sysroot]# ls sbin/

acpid    fbsplash   hdparm     klogd     mkdosfs     nameif       syslogd depmod  getty   init       man     modinfo   route   switch_root    devmem    halt   insmod     mdev    modprobe    runlevel     sysctl

[root@localhost sysroot]# vim etc/rc.d/rc.sysinit  添加两行内容

   #!/bin/sh

   #

 .......

  mount -a

  swapon -a


 echo "Start syslog..."

  syslogd     新添加系统日志服务进程开机启动

  klogd      新添加内核日志服务进程开机启动


[root@localhost sysroot]# vim etc/syslog.conf  新建日志服务配置文件

 *.info      /var/log/message   #新增改行信息,所有设备和系统的info及其以上的信息都                          同步记入到/var/log/message中,需确保/var/log目录存在。

[root@localhost sysroot]# 

[root@localhost sysroot]# sync    同步写入到硬盘中

[root@localhost sysroot]# sync      

[root@localhost sysroot]# 

 









本文转自wang650108151CTO博客,原文链接:http://blog.51cto.com/woyaoxuelinux/1885016 ,如需转载请自行联系原作者






上一篇:多部门出台指导意见强化中小微企业金融服务


下一篇:ElasticSearch的基本用法与集群搭建