一、日志系统

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. ES6转ES5(Babel转码器)

    ES6转ES5(Babel转码器) 前提:必须在VScode中已经安装了Node.js 官网:https://nodejs.org/en/ 一.安装命令行转码工具 npm install --glob ...

  2. 1.PreparedStatement VS Statement

    两者都是Sun公司定义的接口,PreparedStatement属于Statement的子接口.二者类似信使,向数据库中执行sql语句: Statement存在拼串的操作,比较繁琐:存在SQL注入问题 ...

  3. 自动化kolla-ansible部署centos7.9+openstack-train-超融合高可用架构

    自动化kolla-ansible部署centos7.9+openstack-train-超融合高可用架构 欢迎加QQ群:1026880196 进行交流学习 环境说明: 1. 满足一台电脑一个网卡的环境 ...

  4. Linux执行.sh文件,提示No such file or directory的问题

    问题描述 在window平台下,写好shell脚本文件,迁移到linux平台,赋过可执行权限,执行该sh文件,却提示NO such file or directory 解决方案 难道是文件格式兼容性问 ...

  5. MySQL的半同步是什么?

    前言 年后在进行腾讯二面的时候,写完算法的后问的第一个问题就是,MySQL的半同步是什么?我当时直接懵了,我以为是问的MySQL的两阶段提交的问题呢?结果确认了一下后不是两阶段提交,然后面试官看我连问 ...

  6. Pandas的loc,iloc与ix的用法及区别

    1.先来谈一谈loc,loc这个方法就是你有啥我就用啥,你没有的我不用,pandas对象的index,columns有什么,pd.loc[index,column],index就是pd.index的其 ...

  7. 工厂模式之简单工厂模式,head first设计模式

    简单设计模式比较简单,15分钟的时间,跟着我做,十几分钟学会简单设计模式,开始吧: 1.使用new实例化一个对象时,你肯定知道这种代码缺少弹性,绑定着具体的类会导致代码更加脆弱,简单工厂模式就是针对接 ...

  8. 10- JMeter5.1.1 工具快速入门

    什么是JMeter JMeter是Apache组织开发的开源软件,由Java语言实现. 主要用于软件系统性能测试,他最初被设计用于web测试,后来被扩展到其他领域. Jmeter特点 http://w ...

  9. Eureka原理剖析

    Eureka作为微服务中的注册中心,为微服务集群间各个服务进行调用提供寻址的功能,有了它集群间的服务只需要指定服务名称就可以了,无需再去关心服务具体部署的服务器IP,即可正常调用.下面来对其中我们开发 ...

  10. Linux 基本防火墙设置和开放端口命令

    关闭防火墙 CentOS 7.RedHat 7 之前的 Linux 发行版防火墙开启和关闭( iptables ): 即时生效,重启失效 #开启 service iptables start #关闭 ...