linux中的程序执行时通过标准输出和错误输出让我们能够观测到程序的运行状态,当遇到后台执行的程序或内核自身来说就不能将运行状态信息输出到屏幕了
他们会切断与终端主控制台的连接,即使输出到屏幕。我们也不能24小时的盯着屏幕,为了让管理员能随时查看程序运行的历史与当前状态,linux引入了日志服务
它可以收集任何服务产生的日志,并且存储成文件,以备管理员随时查看
日志分为三大组件
    klogd                        kernel log daemon                   专门收集内核产生的日志
    syslogd                   system log daemon                 专门收集应用程序或服务产生的日志
    logger                      日志工具,可以手动写出各个对象和级别的日志信息
日志服务的启动和关闭
     service syslog restart    /#日志服务重启(stop停止 start启动)
日志服务的配置文件
     server : /etc/sysconfig/syslog
     client : /etc/syslog.conf
     /etc/syslog.conf 的格式
     AA     BB      CC
其中AA代表产生日志的对象,BB代表产生的日志级别,CC代表日志的存放位置
      例如mail.*                                                  -/var/log/maillog
      #产生的对象为mail 级别为所有的存放位置为/var/log/maillog
系统定义了很多对象
      authpriv 与安全验证有关的信息
      cron  包含at cron定时任务产生的日志
      daemon   后台进程的信息
      kern  内核产生的信息
      lpr  打印系统产生的信息
      mail  mail系统产生的信息
      news  新闻系统产生的信息
      syslog  日志服务本身产生的信息
      user  一般用户产生的信息
      uucp  UUCP子系统产生的信息
      localN  保留给其他应用程序使用的 N = 0-7 共8个
日志级别
     debug 除错信息,开发人员使用
     info 正常信息
     notice 稍微需要注意的信息
     warn 警告信息 warning
     err 错误信息 error
     crit (critical) 危急的错误信息
     alert 特别留意的报警信息
     emerg (emergency) 紧急的错误信息 panic
     none    表示不需要的信息
级别的写法
     err   代表等于或高于; err相当于 err+crit+alert+emerg
     =err  代表恰好等于;  =err相当于 只有 err 本身
     !err  代表取反;      !err相当于 debug+info+notice+warn+crit+alert+emerg
存储位置的写法
       /var/log/messages 直接存储在文件中,若文件不存在则自动创建
       -/var/log/maillog  -不同步设置,日志默认直接记录到磁盘(如果需要缓冲区的在目录前-)
       username 发送给登录的用户 *表示登录的所有人
       @[hostname | IP]  发送给某台主机
       对象和级别都可以用*来代表所有 *.* 所有对象的所有等级
syslog服务器配置实例
例如: 192.168.0.1为syslog服务器 192.168.0.2 为客户机
步骤:
1.服务端配置
vim /etc/sysconfig/syslog
SYSLOGD_OPTIONS="-m 0 -r -x"      # -r 意思是接受远程的日志
重启syslog服务 /etc/rc.d/init.d/syslog restart
2.客户端配置
vim /etc/syslog.conf
在消息去向处添加 @192.168.0.1
例如:*.info;mail.none;authpriv.none;cron.none @192.168.0.1
保存退出重启服务
/etc/rc.d/init.d/syslog restart