一、日志系统

1、kernel ——>物理终端(/dev/console) ——> /var/log/dmesg(系统启动时信息(包括错误信息)记录到该文件)

或者:# dmesg 或 # cat /var/log/dmesg

2、系统日志

  • /var/log/messages:系统标准错误日志信息;非内核产生的引导信息;各子系统产生的信息
  • /var/log/maillog:邮件系统产生的日志信息
  • /var/log/secure:与安全相关的日志信息

3、日志详细程度:

  • 日志级别:级别越低越详细

4、系统日志服务

  • syslog:centos5
  • rsyslog:centos6,是syslog的升级版
    • 特性:

      • 多线程
      • 支持UDP,TCP,SSL,TLS协议
      • 支持使用MySQL、PGSQL和Oracle实现日志存储
        • 默认没启用此功能,需要加载rsyslog支持此类存储方式的模块,并配置其可使用mysql存储日志
      • 强大的过滤器,可实现过滤系统日志信息中的任何部分
      • 自定义输出格式

5、elasticsearch,logstash,kibana = elk

  • elasticsearch:存储,分析日志
  • logstash:日志收集工具
  • kibana:前端展示工具

二、日志服务(syslog/rsyslog)

1、syslog和rsyslog服务均有两个进程

  • syslogd:系统,非内核产生的日志信息
  • klogd:内核,专门负责记录内核产生的日志信息

2、日志服务的配置文件:

  • syslog服务的配置文件:/etc/syslog.conf
  • rsyslog服务的配置文件:/etc/rsyslog.conf

3、配置文件格式定义:

  • 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
      | COMMAND 管道,通过管道送给其他的命令处理
      终端 终端,如:/dev/console
      @HOST 远程主机(远程主机必须要监听在tcp或udp协议514端口上提供服务),如:@10.0.0.1
      用户 系统用户,如:root
      * 登录到系统上的所有用户

4、格式定义的例子:

  • mail.info /var/log/maillog     表示将mail相关的,级别为infoinfo以上级别的信息同步记录到/var/log/maillog文件中
  • mail.* -/var/log/maillog         表示将mail相关的所有日志信息异步记录到/var/log/maillog文件中,路径前的“-”表示异步模式
  • auth.=info @10.0.0.1            表示将auth相关的,级别为info的信息记录到10.0.0.1主机上去。前提是10.0.0.1要能接收其他主机发来的日志信息
  • user.!=error                           表示记录user相关的,但不包括error级别的日志信息
  • user.!error                             与user.error相反
  • *.info                                      表示记录所有的日志信息的info级别
  • mail.*                                     表示记录mail相关的所有级别的信息
  • *.*                                           表示 记录所有级别的所有日志信息
  • cron.info;mail.info               多个日志来源可以用分号隔开
  • cron,mail.info                       与cron.info;mail.info是一个意思
  • mail.*;mail.!=info                 表示记录mail相关的所有级别的信息,但是不包括info级别的

5、文件记录(/var/log/message)的日志的格式:

  • 事件产生的日期时间        主机        进程(pid):        事件内容
  • 有些日志记录为二进制格式:/var/log/wtmp/var/log/btmp
    • /var/log/wtmp:当前系统成功登录的日志,可使用last命令查看其内容
    • /var/log/btmp:当前系统失败的登录尝试的日志,可使用lastb命令查看其内容

6、lastlog命令:显示当前系统每一个用户最近一次的登录时间

最新文章

  1. Webstorm编译TypeScript
  2. Java内存模型
  3. jQuery 特效:盒子破碎和移动动画效果
  4. POJ 3461 Oulipo
  5. [转载] C++ 程序员快过来围观:非常实用全面的 C++ 资源
  6. Google Protocol Buffer
  7. UberX及以上级别车奖励政策(优步北京第一组)
  8. JS 排列组合
  9. C++移动构造函数以及move语句简单介绍
  10. Java学习笔记23(Calendar类)
  11. 20165226 2017-2018-4 《Java程序设计》第6周学习总结
  12. j2ee期末项目 新闻发布系统需求文档
  13. ThinkPHP3.2 --- 中文乱码问题
  14. GAN-生成对抗网络原理
  15. Android 实现连续两次点击或连续多次点击退出应用
  16. Python 获得最近一个月的每天的日期
  17. 可视化的Redis数据库管理工具redis-desktop-manager的初步使用(图文详解)
  18. clean-css
  19. ios 的 desciption
  20. div 画园

热门文章

  1. Python基础(九):字典的使用
  2. Ubuntu16.04下安装virtualbox,配置及卸载
  3. Day07_37_深度剖析集合中的contains()方法
  4. CentOS7 基本概念以及安装注意事项
  5. BadUsb配合Cobalt-Strike免杀上线
  6. 1.8.7- HTML值label标签
  7. php将IP地址转换为真实地址的方法
  8. vue2整个项目中,数据请求显示loading图----------未完成阅读,码
  9. 【Java基础】ConcurrentHashMap为什么不能存null键和null值
  10. 【网络协议】 TCP三次握手的流程