linux的系统日志

news2024/12/25 0:39:42

目录

一、日志文件的产生

二、日志文件存放在哪儿

(1)文本日志

(2)二进制日志

三、日志存放规则的配置文件

四、日志轮转

五、分析和监控日志


一、日志文件的产生

日志内容:内核、开机引导、守护进程启动运行的事件和输出

产生过程:系统的syslog组件产生,由rsyslong.srevice和systemd-journald.srevice这2个服务负责记录到轮转创建的日志文件里,然后处理

二、日志文件存放在哪儿

(1)文本日志

  1. 由rsyslong服务产生;
  2. 可以用cat、more、tail等命令查看
  3. 存放在:/var/log/

补充(上图)

/var/log/secure:包含登录相关的。比如用户登录失败的记录、原因

/var/log/wtmp:是二进制文件,用命令查看是乱码。只能用last命令才看得到

/var/log/utmp:是二进制文件,用命令查看是乱码。只能用w和who命令才看得到

/var/log/boot.log:开机时,系统启动服务时,相关的输出

/var/log/demsg:开机时,系统启用硬件时,相关的输出。是二进制文件,用命令查看是乱码,只能用dmesg命令才看得到

(2)二进制日志

  1. 由systemd-journald服务产生;
  2. 用cat、more、tail这些命令查看是乱码,只能用journaldctl命令查看;
  3. 存放在:/run/log/

/run/是内存映射的目录,重启后/run/log/会清空重建,二进制日志会丢失。不过在重启前系统会先把二进制日志记录到“文本日志存放目录/var/log/”下

三、日志存放规则的配置文件

作用:比如,与安全相关的日志都是存放到/var/log/secure文件。这个默认行为就是在配置文件里预设置好的

配置文件:/etc/rsyslog.conf(主配置文件)、/etc/rsyslog.d/*.conf(子配置文件)

主配置文件参数:

# rules #

*.info;mail.none;authpriv.none;cron.none       /var/log/messages

#.none表示匹配所有优先级。所有优先级的与邮件、安全、定时任务相关日志信息,都会写到 /var/log/messages

#####除了none,其他优先级如下图

mail.*                                                              /var/log/maillog

#所有与邮件相关日志信息,都会写到 /var/log/maillog

authpriv.*                                                        /var/log/secure

#所有与安全相关日志信息,都会写到 /var/log/secure

cron.*                                                             /var/log/cron

#所有与定时任务相关日志信息,都会写到 /var/log/cron

*.emerg                                                         :omusrmsg:*

#所有紧急事件日志,都直接打印在控制台,不记录到日志文件

四、日志轮转

出现问题:系统日志一直都增加,由各种系统服务产生。时间久了,服务器肯定存不下。

比如:

  • 定时任务相关的服务,5月15日产生一个日志文件cron-20230515,5月16日又产生cron-20230516;
  • 服务启动相关的服务,5月15日产生一个日志文件boot.log-20230515,5月16日又产生boot.log-20230516

解决办法:linux引入了日志轮转的机制来解决这个问题。日志轮转,就是创建新日志文件,删除旧日志文件的过程

具体实现:定时任务cron这个系统服务,每天会运行一次logrotate脚本(/etc/cron.daily/logrotate),脚本调用/etc/logrotate.conf这个配置文件,实现日志轮转   //logrotate脚本运行时只有守护进程,不产生服务

日志轮转配置文件/etc/logrotate.conf:

该文件设置了轮转规则

weekly:每周轮转一次(还有monthly、day、daily)

rotate4:同一个文件最多轮转4次,4次之后就删除该文件(这儿是只保留最近4周的日志文件,之前的旧日志都删了)

dateteext:创建日志文件时,名字以日期命名XXXX-YYYYMD。如mail-20230516

create:删除旧日志时,创建一个新的空日志文件     //今天创建的,那么今天的日志内容会由rsyslong服务或systemd-journald服务写到该空日志文件里

compress:日志文件要压缩,不写表示不压缩

include:包含子配置文件/etc/logrotate.d。要引入自定义轮转规则配置文件,可以在下面加一条include /etc/自定义配置文件

自定义轮转规则:

更多轮转规则参数:

五、分析和监控日志

(1)分析日志

每一条日志文件的内容,都由4部分组成


  1. 日志记录时间(操作系统时间)
  2. 日志是那一台主机产生的
  3. 日志由哪个服务产生       //[1433]是服务对应进程的pid
  4. 日志详细内容(记录的什么事件)

最新的日志在末尾:每写入一条日志,都写到文件最后

(2)监控日志

tail -f /var/log/日志文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/530790.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

华为和思科两种常见的网络设备如何进行ospf配置?

概述 ospf(开放最短路径优先)是一种基于链路状态的动态路由协议,它可以在网络中自动发现和维护最优的路由路径。ospf广泛应用于大型和复杂的网络环境,因为它具有以下优点: 支持分层路由,可以将网络划分为…

WebAssembly黑暗的一面

案例1:技术支持诈骗 什么是技术支持诈骗? 技术支持诈骗是一种电话欺诈,其中诈骗者声称可以提供合法的技术支持服务。该骗局可能以陌生电话开始,骗子通常会声称来自合法的第三方的员工,如“微软”或“Windows部门”。他…

YOLOv5实现目标分类计数并显示在图像上

有同学后台私信我,想用YOLOv5实现目标的分类计数,因此本文将在之前目标计数博客的基础上添加一些代码,实现分类计数。阅读本文前请先看那篇博客,链接如下: YOLOv5实现目标计数_Albert_yeager的博客 1. 分类实现 以co…

web 实验一 HTML基本标签实验

实验原理 通过创建HTML5网页,验证form内多种元素标签及其属性的作用及意义。 实验目的 理解并掌握Form表单提交必须声明的内容 理解并掌握Input元素中多种类型属性的使用方法及使用场景 理解并掌握Label元素的使用方法 理解并掌握Datalist元素的使用方法 理解并掌握…

软件测试学习——笔记一

一、软件和软件测试 1、软件和软件分类 (1)软件:程序、数据、文档——用户手册 (2)软件的分类 按层次划分:系统软件、应用软件按组织划分:开源软件(代码公开)、商业软…

RSA 加密算法在C++中的实现 面向初学者(附代码)

概述 博文的一,二部分为基础知识的铺垫。分别从密码学,数论两个方面为理解RSA算法做好了准备。第三部分是对RSA加密过程的具体介绍,主要涉及其密钥对(key-pair)的获取。前三个部分与编程实践无关,可以当作…

C# | 内存池

内存池 文章目录 内存池前言什么是内存池内存池的优点内存池的缺点 实现思路示例代码结束语 前言 在上一篇文章中,我们介绍了对象池的概念和实现方式。对象池通过重复利用对象,避免了频繁地创建和销毁对象,提高了系统的性能和稳定性。 今天我…

你真的了解索引吗

当我们学习存储算法和索引算法时,他们可以深入了解如何在系统中存储和查询数据。因为存储和查询数据是许多系统的核心功能之一,例如数据库、搜索引擎等。理解这些算法可以帮助程序员更好地设计和优化系统架构,提高系统的可扩展性、可用性和性…

玩转Google开源C++单元测试框架Google Test系列(gtest)之二 - 断言

一、前言 这篇文章主要总结gtest中的所有断言相关的宏。 gtest中,断言的宏可以理解为分为两类,一类是ASSERT系列,一类是EXPECT系列。一个直观的解释就是: 1. ASSERT_* 系列的断言,当检查点失败时,退出当前…

大数据之光:Apache Spark 实用指南 大数据实战详解【上进小菜猪大数据】

上进小菜猪,沈工大软件工程专业,爱好敲代码,持续输出干货。 本文将深入探讨Apache Spark作为一种强大的大数据处理框架的基本概念、特点和应用。我们将详细介绍Spark的核心组件,包括Spark Core、Spark SQL、Spark Streaming和Spa…

百子作业 —— 中国邮递员问题

题目 严老师和宋老板去勘测武威市区的道路网,每一条路都需要勘测,且需要两人合作.武威市区可以近似地看成六横六纵组成的道路网,自西向东依次为学府路、民勤路、西关路、中关路、富民路、滨河路;自北向南依次为雷海路、宣武路、祁…

Redis基本数据类型及使用(2)

书接上回,这节讲讲其余的基本数据结构使用 集合,有序集合以及遍历和事务的使用 Set集合,无序不重复的成员 表现形式: key1string1string2key2string1string2 常用的基本操作: sadd key string1 [string2..]添加1…

第二十届宁波大学程序设计竞赛(同步赛)

A-0-1翻转_第二十届宁波大学程序设计竞赛(同步赛) (nowcoder.com) 思路: 我们观察发现,奇数位与偶数位的1每次操作一定时同时增加或者减少的,我们无法做到同时删除奇数位的两个1.。不满足相等则情况无解那么&#xf…

【谷粒商城之订单服务-支付】

本笔记内容为尚硅谷谷粒商城订单服务支付部分 目录 一、支付宝沙箱 沙箱环境 二、公钥、私钥、加密、加签、验签 1、公钥私钥 2、加密和数字签名 3、对称加密和非对称加密 三、内网穿透 四、整合支付 1、导入支付宝SDK依赖 2、封装工具类和PayVo 3、前端访问支付接…

python汉诺塔编程代码

汉诺塔问题是一个经典的递归问题。以下是使用Python实现汉诺塔的一个简单方法: python def hanoi(n, source, target, auxiliary): if n > 0: # 把 n-1 个盘子从 source 移动到 auxiliary hanoi(n-1, source, auxiliary, target) # 把第 n 个盘子从 source 移动到…

三十四、服务治理、实现负载均衡、

1、服务治理介绍 先来思考一个问题 通过上一章的操作,我们已经可以实现微服务之间的调用。但是我们把服务提供者的网络地址 (ip,端口)等硬编码到了代码中,这种做法存在许多问题: l 一旦服务提供者地址变化…

浪潮之巅第一章 — 帝国的余辉(ATT)(一) 阅读笔记

在这十几年间,它们代表着科技的浪潮,直到下一波浪潮的来临。 从一百年前算起,AT&T 公司、IBM 公司、苹果公司 (Apple)、英特尔 (Intel) 公司、微软 (Microsoft) 公司、思科公司 (Cisco) 公司、雅虎 (Yahoo) 公司和谷歌 (Google) 公司都先…

相见恨晚的Matlab编程小技巧(2)-代码怎么做到逻辑清晰?——巧用注释符“%“

本文将以教程的形式详细介绍Matlab中两个常用符号“%”和“%%”的作用。初学者可以通过此文掌握这两个符号的用法,为Matlab编程打下坚实的基础。 一、什么是“%”符号? 在 Matlab 中,“%” 符号是注释符号,它后面的文本被视为注释…

GEE:下载MODIS海表温度影像

作者:CSDN @ _养乐多_ 本篇博客将介绍如何使用Google Earth Engine(GEE)平台下载MODIS(Moderate Resolution Imaging Spectroradiometer)海表温度影像数据。MODIS是一种遥感传感器,用于监测地球表面的温度变化。我们将展示如何获取MODIS数据集,并选择特定感兴趣区域进行…

C#操作Redis明细内容 C#调用redis c#使用redis业务 C# Redis操作类 C#中Redis封装的类 C#和Redis客户端

谈下你对 Redis 的了解? 1)Redis是一种基于键值对的NoSQL数据库(非关系型数据库);是一个key-value存储系统 2)高性能、可靠性 Redis将数据存储在内存中,读写性能高;Redis提供了 R…