一、日志系统

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命令:显示当前系统每一个用户最近一次的登录时间

Linux_日志管理理论概述的更多相关文章

  1. Linux_权限管理理论概述

    一.权限定义 1.文件权限作用的对象 owner :属主 - u group :属组 - g other :其他人 - o 2.文件的三种权限 //针对文件的权限 r 可读 可以使用cat命令查看文件 ...

  2. Linux_磁盘管理理论概述

    一.磁盘阵列 1.什么是磁盘阵列? 1️⃣:磁盘整列就是将多块独立的磁盘组合到一起,形成容量大的磁盘组. 2️⃣:将相同的数据存放到不多个的磁盘的不同位置 2.RAID0 1️⃣:RAID0是磁盘整列 ...

  3. Java 日志框架概述(slf4j / log4j / JUL / Common-logging(JCL) / logback)

    一.简介 JAVA日志在初期可能官方并没有提供很好且实用的规范,导致各公司或OSS作者选择自行造轮子,这也导致了目前初学者觉得市面上 Java 日志库繁杂的局面. 现在市面流行以 slf4j(Simp ...

  4. Linux_源码安装包管理理论概述

    一.源码包基本概述 1️⃣:源码包的编译用到了linux系统里的编译器,通常源码包都是用C语言开发的,这也是因为C语言为linux上最标准的程序语言 2️⃣:Linux上的C语言编译器叫做gcc,利用 ...

  5. Linux_日志管理介绍(一)

    一.介绍 1.CentOS 6.x中日志服务已经由rsyslogd取代了原先的syslogd服务,但是rsyslogd是和syslogd服务相兼容的 2.除了系统默认的日志之外,采用RPM方式安装的系 ...

  6. SQL Server中的事务日志管理(2/9):事务日志架构概述

    当一切正常时,没有必要特别留意什么是事务日志,它是如何工作的.你只要确保每个数据库都有正确的备份.当出现问题时,事务日志的理解对于采取修正操作是重要的,尤其在需要紧急恢复数据库到指定点时.这系列文章会 ...

  7. Linux_日志信息

    一.httpd日志:/var/log/httpd1.软件位置:whereis httpd2.配置文件位置:/etc/httpd/conf/httpd.conf 二.mysql日志:/var/log 查 ...

  8. JAVA日志框架概述

            日志用来记录应用的运行状态以及一些关键业务信息,其重要性不言而喻,通常我们借助于现有的日志框架完成日志输出.目前开源的日志框架很多,常见的有log4j.logback等,有时候我们还会 ...

  9. MySQL二进制日志分析-概述篇

    MySQL从3.23版本开始引入了二进制日志,用于的数据复制, 二进制日志根据MySQL的版本不同,目前有4个版本: https://dev.mysql.com/doc/internals/en/bi ...

随机推荐

  1. 解决删除Azure Active Directory的Enterprise Applications异常

    当我们不需要使用某个Azure Active Directory(以下简称AAD)的时候,我们可以删除它,这个时候Azure会对当前的AAD包含的内容进行检查, 在所有的检查项目中有一个名叫" ...

  2. Spring Boot 轻量替代框架 Solon 1.3.20 发布

    Solon 是一个微型的Java开发框架.项目2018年启动,参考过大量前人作品:内核0.1m的身材,超高的跑分,以及良好的使用体验.支持:RPC.REST API.MVC.WebSocket.Soc ...

  3. 使用 shell 做 tcp 协议模拟

    问题背景 公司有一套消息推送系统(简称GCM),由于人事变动接手了其中的客户端部分.看了一下文档,仅通讯协议部分有几页简单的说明,代码呢又多又乱,一时理不出一个头绪.由于消息是从后台推送到端的,所以使 ...

  4. BUAAOO第三单元总结

    JML理论基础 JML规定了一些语法,用这些语法可以描述一个方法,一个类的行为,理论基础是离散数学吧 JML常用语法 前置条件: 使用 require + 表达式 ,表达式一般为布尔表达式 副作用: ...

  5. .NET管道应用——工作池

    名词解释 工作池:一组等待任务分配的线程.一旦完成了所分配的任务,这些线程可继续等待任务的分配. .NET管道:命名空间System.Threading.Channels中的Channel和Chann ...

  6. 基于.Net Core 5.0 Worker Service 的 Quart 服务

    前言 看过我之前博客的人应该都知道,我负责了相当久的部门数据同步相关的工作.其中的艰辛不赘述了. 随着需求的越来越复杂,最近windows的计划任务已经越发的不能满足我了,而且计划任务毕竟太弱智,总是 ...

  7. seaweedfs分布式文件使用示例

    安装seaweedfs分布式文件存储 启动一个测试集群:2 filer(8801-8802) + 3 master(9331-9333) + 3 volume(8081-8083) 下载seaweed ...

  8. git 让忽略.gitignore文件马上生效

    在.gitignore文件里面输入 *.zip 表示所有zip文件忽略更改 /bin 表示忽略整个根目录的bin文件夹 /src/aa.jar 表示忽略/src/aa.jar文件 设置完.gitign ...

  9. MSSQL数据库清理Log 压缩数据库日志文件

    dump transaction 数据库名 with no_log go dbcc shrinkdatabase(数据库名)

  10. Zabbix页面管理

    Zabbix页面管理 Screen Screen翻译成中文为"屏幕",在一些交通管理中心.保安监控.预警中心等等地方都比较常见到监控视频,视频上有多块小视频,实际上Zabbix S ...