Linux操作系统:基础篇10基本功能之系统日志管理

简介: Linux系统拥有非常灵活和强大的日志功能,可以保存几乎所有的操作记录,并可以从中检索出我们需要的信息。

一、概述

 Linux系统拥有非常灵活和强大的日志功能,可以保存几乎所有的操作记录,并可以从中检索出我们需要的信息。

 大部分Linux发行版默认的日志守护进程为 syslog,位于 /etc/syslog 或 /etc/syslogd 或/etc/rsyslog.d,默认配置文件为 /etc/syslog.conf 或 rsyslog.conf,任何希望生成日志的程序都可以向 syslog 发送信息。

 Linux系统内核和许多程序会产生各种错误信息、警告信息和其他的提示信息,这些信息对管理员了解系统的运行状态是非常有用的,所以应该把它们写到日志文件中去。

 完成这个过程的程序就是syslog。syslog可以根据日志的类别和优先级将日志保存到不同的文件中。

二、日志类型

 下面是常见的日志类型,但并不是所有的Linux发行版都包含这些类型:

9fdeaba2d85642379c744dcc3be8438b.png

三、日志优先级

 常见的日志优先级请见下标:

da4895b0dd55455fa51d2396bf4e6a3c.png

四、常用日志文件

 系统日志是由一个名为syslog的服务管理的,如以下日志文件都是由syslog日志服务驱动的:

 /var/log/boot.log:录了系统在引导过程中发生的事件,就是Linux系统开机自检过程显示的信息

 /var/log/lastlog :记录最后一次用户成功登陆的时间、登陆IP等信息

 /var/log/messages :记录Linux操作系统常见的系统和服务错误信息

 /var/log/secure :Linux系统安全日志,记录用户和工作组变坏情况、用户登陆认证情况

 /var/log/btmp :记录Linux登陆失败的用户、时间以及远程IP地址

 /var/log/syslog:只记录警告信息,常常是系统出问题的信息,使用lastlog查看

 /var/log/wtmp:该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件,使用last命令查看

 /var/run/utmp:该日志文件记录有关当前登录的每个用户的信息。如 who、w、users、finger等就需要访问这个文件

五、rsyslogd配置文件格式

 rsyslogd 服务是依赖其配置文件 /etc/rsyslog.conf 来确定哪个服务的什么等级的日志信息会被记录在哪个位置的。也就是说,日志服务的配置文件中主要定义了服务的名称、日志等级和日志记录位置。

(1)/etc/rsyslog.conf配置文件的格式

 该配置文件的基本格式如下所示:

authpriv.* /var/log/secure
    #服务名称[连接符号]日志等级 日志记录位置
    #认证相关服务.所有日志等级 记录在/var/log/secure日志中

(2)服务名称

 rsyslogd 服务可以识别哪些服务的日志。

 这些日志服务名称是rsyslogd服务自己定义的,并不是实际的Linux的服务。当有服务需要由rsyslogd服务来帮助管理日志时,只需要调用这些服务名称就可以实现日志的委托管理。

 这些日志服务名称可以使用命令“man 3 syslog”来查看。

6d6e46b190374e639e02108f7c4c2994.png

(3)连接符号

 日志服务连接日志等级的格式如下:

   日志服务[连接符号]日志等级 日志记录位置

 在这里,连接符号可以被识别为以下三种。

 “.”代表只要比后面的等级高的(包含该等级)日志都记录。比如,“cron.info”代表cron服务产生的日志,只要日志等级大于等于info级别,就记录。

  “.=”代表只记录所需等级的日志,其他等级的日志都不记录。比如,“*.=emerg”代表人和日志服务产生的日志,只要等级是emerg等级,就记录。这种用法极少见,了解就好。

  “.!”代表不等于,也就是除该等级的日志外,其他等级的日志都记录。

(4)日志等级

 根据日志的功能性不同,每个日志的重要性都是有差别的;

(5)日志记录位置

 日志记录位置就是当前日志输出到哪个日志文件中保存,日志的记录位置也是固定的:

 日志文件的绝对路径。这是最常见的日志保存方法,如“/var/log/secure”就是用来保存系统验证和授权信息日志的。

 系统设备文件。如“/dev/lp0”代表第一台打印机,如果日志保存位置是打印机设备,当有日志时就会在打印机上打印。

 转发给远程主机。因为可以选择使用 TCP 和 UDP 协议传输日志信息,所以有两种发送格式:如果使用“@192.168.0.210:514”,就会把日志内容使用 UDP 协议发送到192.168.0.210 的 UDP 514 端口上;如果使用“@@192.168.0.210:514”,就会把日志内容使用 TCP 协议发送到 192.168.0.210 的 TCP 514 端口上,其中 514 是日志服务默认端口。当然,只要 192.168.0.210 同意接收此日志,就可以把日志内容保存在日志服务器上。

 用户名。如果是“root”,就会把日志发送给 root 用户,当然 root 要在线,否则就收不到日志信息了。发送日志给用户时,可以使用 “ * ” 代表发送给所有在线用户,如“mail.**”就会把 mail 服务产生的所有级别的日志发送给所有在线用户。如果需要把日志发送给多个在线用户,则用户名之间用“,”分隔。

 忽略或丢弃日志。如果接收日志的对象是“~”,则代表这个日志不会被记录,而被直接丢弃。如“local3.* ~”代表忽略 local3 服务类型所有的日志都不记录。

日志记录位置就是当前日志输出到哪个日志文件中保存。日志的记录位置也是固定的:

c569d1d8684f4283b654b9d5aaa3031e.png



相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
24天前
|
存储 缓存 监控
Linux缓存管理:如何安全地清理系统缓存
在Linux系统中,内存管理至关重要。本文详细介绍了如何安全地清理系统缓存,特别是通过使用`/proc/sys/vm/drop_caches`接口。内容包括清理缓存的原因、步骤、注意事项和最佳实践,帮助你在必要时优化系统性能。
168 78
|
1天前
|
监控 搜索推荐 开发工具
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
|
3天前
|
存储 弹性计算 NoSQL
os-copilot安装与多项功能测评
本文介绍了os-copilot的安装及多项功能测评。首先,通过xShell连接服务器并使用`rpm -q os-copilot`检查是否已安装,若未安装则用`yum install`命令安装。接着,配置ACCESS_KEY信息以连接阿里云服务。深入测试部分展示了-t参数用于环境健康检查、-f参数处理复杂任务、|参数解释代码等功能,还演示了编写shell脚本创建和启动Redis的便捷性。这些功能对基础运维和开发人员有较大帮助。
51 12
|
2天前
|
弹性计算 自然语言处理 Linux
Os Copilot功能测评
作为一名开发工程师,我在工作中偶尔涉及云资源的运维和管理。本文记录了我使用OS Copilot的-t/-f/管道功能的体验及遇到的问题。通过阿里云ECS下单、密钥配置、镜像选择等步骤成功登录服务器后,根据文档安装OS Copilot并测试其功能。-t参数可快速获取系统健康度结论;-f参数支持自然语言处理文件需求;管道功能帮助理解配置文件内容。这些功能极大提升了工作效率,但仍存在上下文记忆不足的问题。
|
27天前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
61 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
1天前
|
弹性计算 运维 数据可视化
OS Copilot安装与多项功能测评报告
OS Copilot安装与多项功能测评报告
45 15
|
1天前
|
弹性计算 自然语言处理 Ubuntu
OS Copilot-操作系统智能助手-Linux新手小白的福音
OS Copilot是由阿里云推出的操作系统智能助手,专为Linux新手设计,支持自然语言问答、辅助命令执行等功能,极大提升了Linux系统的使用效率。用户只需通过简单的命令或自然语言描述问题,OS Copilot即可快速提供解决方案并执行相应操作。例如,查询磁盘使用量等常见任务变得轻松快捷。此外,它还支持从文件读取复杂任务定义,进一步简化了操作流程。虽然在某些模式下可能存在小问题,但总体上大大节省了学习和操作时间,提高了工作效率。
23 2
|
14天前
|
存储 运维 监控
Linux--深入理与解linux文件系统与日志文件分析
深入理解 Linux 文件系统和日志文件分析,对于系统管理员和运维工程师来说至关重要。文件系统管理涉及到文件的组织、存储和检索,而日志文件则记录了系统和应用的运行状态,是排查故障和维护系统的重要依据。通过掌握文件系统和日志文件的管理和分析技能,可以有效提升系统的稳定性和安全性。
33 7
|
23天前
|
存储 监控 Linux
嵌入式Linux系统编程 — 5.3 times、clock函数获取进程时间
在嵌入式Linux系统编程中,`times`和 `clock`函数是获取进程时间的两个重要工具。`times`函数提供了更详细的进程和子进程时间信息,而 `clock`函数则提供了更简单的处理器时间获取方法。根据具体需求选择合适的函数,可以更有效地进行性能分析和资源管理。通过本文的介绍,希望能帮助您更好地理解和使用这两个函数,提高嵌入式系统编程的效率和效果。
93 13
|
17天前
|
JSON iOS开发 数据格式
tauri2-vue3-macos首创跨平台桌面OS系统模板
自研Tauri2.0+Vite6+Pinia2+Arco-Design+Echarts+sortablejs桌面端OS管理平台系统。提供macos和windows两种桌面风格模式、自研拖拽式栅格引擎、封装tauri2多窗口管理。
77 3