Linux常见问题-获取日志方法总结(Ubuntu/Debian)

1 日志基本路径和基础查看方法

在 Ubuntu 或 Debian 11 系统中,可以通过不同的日志文件来获取系统日志和内核日志。日志常见路径如下:

  • /var/log/syslog:包含系统的整体日志,包括各种系统事件和服务日志。
  • /var/log/auth.log:记录用户认证和授权相关的日志,如登录、sudo 使用等。
  • /var/log/kern.log:内核相关的日志,包括硬件和驱动程序问题。
  • /var/log/dmesg:包含内核环缓冲区的消息,可以用来查看系统启动期间的信息。

说明:这些日志一般都是有多个,这里以kern.log为例,一般从下到上的时间顺序,如下所示:

-rw-r-----   1 syslog            adm               1662 2月  6 06:58 kern.log
-rw-r-----   1 syslog            adm             366757 2月  3 00:00 kern.log.1
-rw-r-----   1 syslog            adm               6504 1月 25 12:24 kern.log.2.gz
-rw-r-----   1 syslog            adm              16436 1月 17 21:31 kern.log.3.gz
-rw-r-----   1 syslog            adm              51381 1月 11 23:25 kern.log.4.gz

这里可以使用以下命令查看这些日志文件的内容,如下所示:

$cat /var/log/syslog
$cat /var/log/auth.log
$cat /var/log/kern.log
$cat /var/log/dmesg

如果想实时监视日志文件的更新,可以使用 tail 命令加上 -f 参数如下:

$tail -f /var/log/syslog
$tail -f /var/log/auth.log
$tail -f /var/log/kern.log
$tail -f /var/log/dmesg

2 日志查看和过滤工具

除了直接查看日志文件之外,还有一些常用的工具可以帮助你抓取和分析系统日志和内核日志。以下是一些常见的工具:

2.1 journalctl

journalctl是 systemd 系统日志记录器的命令行工具,用于查看和分析系统日志。它可以以可读的格式显示日志,并支持按时间、单元(服务)、PID 等进行过滤和搜索。它提供了许多参数和选项,用于过滤、搜索和格式化日志输出。以下是 journalctl 常见的参数和使用示例:

@1 基本用法总结如下:

#查看最新的系统日志:
$journalctl
#查看指定单位(服务)的日志:
$journalctl -u unit-name.service
#查看指定用户的日志:
$journalctl -u user-name
#查看指定时间范围内的日志:
$journalctl --since "2023-12-01 00:00:00" --until "2023-12-02 23:59:59"

@2 过滤和搜索总结如下:

#根据优先级过滤日志。其中,priority 可以是数字(0 至 7)或对应的名称(如 emerg、alert、crit、err、warning、notice、info、debug):
$journalctl -p priority
#根据日志来源过滤日志:
$journalctl -b SYSLOG_IDENTIFIER=source-name
#搜索特定关键字的日志,这将搜索包含关键字的日志消息:
$journalctl -t keyword

@3 输出格式:

#以可读的格式显示日志:
$journalctl -o short
#以 JSON 格式显示日志:
$journalctl -o json
#以详细格式显示日志:
$journalctl -o verbose
#以特定字段的格式显示日志:
$journalctl -o field --field=FIELD_NAME

2.2 dmesg

dmesg 是一个用于读取和打印内核环缓冲区消息的命令。它可以查看系统启动信息、硬件设备和内核模块相关的日志。以下是 dmesg 常见的参数和使用示例总结:

#查看系统启动信息:
$dmesg
#以逆序方式查看最新的内核日志:
$dmesg -r
#仅显示指定级别的内核日志(可用级别:emerg, alert, crit, err, warning, notice, info, debug):
$dmesg --level=LEVEL
#过滤显示包含指定关键字的内核日志:
$dmesg --grep=KEYWORD
#限制输出的行数:
$dmesg -n NUM_LINES

2.3 syslog-ng

syslog-ng是一个高度可配置的系统日志守护进程,它可以收集、过滤和转发系统日志。它支持多种日志源和目标,并提供灵活的日志处理和存储功能。

以下是一个简单的使用案例:

#安装 syslog-ng
$sudo apt-get install syslog-ng
#创建一个自定义的 syslog-ng 配置文件
$sudo vim /etc/syslog-ng/conf.d/myconfig.conf

在 myconfig.conf 文件中,可以定义日志源、过滤规则和目标。以下是一个简单的demo示例:

# 定义日志源为本地系统日志
source s_local {system();
};# 过滤规则:仅保留来自特定设备的日志
filter f_myfilter {host("192.168.1.100");
};# 定义目标为远程日志服务器
destination d_remote {syslog("192.168.2.200" port(514));
};# 配置日志源、过滤规则和目标的关联
log {source(s_local);filter(f_myfilter);destination(d_remote);
};

保存并关闭文件后,重新启动 syslog-ng 服务:

$sudo systemctl restart syslog-ng

这个示例配置将从本地系统收集日志,然后根据过滤规则将特定设备的日志转发到远程日志服务器。

2.4 rsyslog

类似于 syslog-ng,rsyslog也是一个常见的系统日志守护进程。它可以收集、转发和处理系统日志,并支持各种配置选项和插件。

以下是一个简单的使用案例:

#安装 rsyslog
$sudo apt-get install rsyslog
#创建一个自定义的 rsyslog 配置文件
$sudo vim /etc/rsyslog.d/myconfig.conf

在 myconfig.conf 文件中,你可以定义日志源、过滤规则和目标。以下是一个简单的demo示例:

# 过滤规则:仅保留来自特定设备的日志
if $fromhost-ip == '192.168.1.100' then {action(type="omfwd" target="192.168.2.200" port="514" protocol="udp");
}

保存并关闭文件后,重新启动 rsyslog 服务:

$sudo systemctl restart rsyslog

这个示例配置将根据过滤规则将来自特定设备的日志转发到远程日志服务器。

2.5 logrotate

logrotate是一个实用程序,用于管理日志文件的轮转。它可以自动压缩和归档旧的日志文件,以便节省磁盘空间并确保日志文件不会无限增长。

以下是一个简单的使用案例:

# 创建一个自定义的 logrotate 配置文件
$sudo vim /etc/logrotate.d/mylog

在 mylog 文件中,你可以指定要轮转的日志文件、轮转频率、保存的旧日志文件数量等。以下是一个简单的demo示例:

# 轮转 /var/log/mylog.log 文件,每天轮转一次,保留最近的 7 个旧日志文件
/var/log/mylog.log {dailyrotate 7compress
}

保存并关闭文件后,logrotate 将根据配置文件的设置定期轮转日志文件。

2.6 总结

  • 这些工具提供了更灵活和高级的功能,能够更方便地查看、分析和管理系统日志和内核日志。可以根据自己的需求选择适合的工具来使用。
  • 注意,可能需要使用 sudo 或以 root 用户身份运行这些命令来访问一些日志文件,特别是位于 /var/log 目录下的文件。

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

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

相关文章

ubuntu中显卡驱动,cuda,cudnn安装

1. 在ubuntu中安装显卡驱动 参考:https://blog.csdn.net/m0_37605642/article/details/119651996 2.在ubuntu中安装cuda 参考:https://blog.csdn.net/m0_61431544/article/details/127007300 2.1 安装cuda cuda官网: https://developer.n…

前端“量子纠缠”:multipleWindow3dScene 来了

最近前端实现的量子纠缠在网络上火了起来,作者bgstaal的推文:效果如下: 量子纠缠 那我们一起来看下什么是量子纠缠,以及前端是如何实现的。 什么是量子纠缠? 在量子力学里,当几个粒子在彼此相互作用后&…

阶段四:数据分析与机器学习(学习基本的机器学习算法,如线性回归,决策树等。)

Python 是一种广泛使用的编程语言,特别适用于数据分析和机器学习。下面是如何使用 Python 来学习基本的机器学习算法,如线性回归和决策树。 首先,你需要安装一些必要的库。对于机器学习,最常用的库包括 Scikit-learn、Pandas、Nu…

大数据Doris(三十三):Doris高级设置

文章目录 Doris高级设置 一、增大内存

【华为数据之道学习笔记】2-建立企业级数据综合治理体系

数据作为一种新的生产要素,在企业构筑竞争优势的过程中起着重要作用,企业应将数据作为一种战略资产进行管理。数据从业务中产生,在IT系统中承载,要对数据进行有效治理,需要业务充分参与,IT系统确保遵从&…

AWS Remote Control ( Wi-Fi ) on i.MX RT1060 EVK - 2 “架构 AWS”

接续上一章节,我们把开发环境架设好之后,此章节叙述如何建立 AWS IoT 环境,请务必已经有 AWS Account,申请 AWS Account 之流程将不在此说明。 III-1. 登入AWS IoT, 在“管理”>“所有装置”>“实物”下点击“建…

Metasploit的漏洞挖掘和利用

预计更新 第一章 Metasploit的使用和配置 1.1 安装和配置Metasploit 1.2 Metasploit的基础命令和选项 1.3 高级选项和配置 第二章 渗透测试的漏洞利用和攻击方法 1.1 渗透测试中常见的漏洞类型和利用方法 1.2 Metasploit的漏洞利用模块和选项 1.3 模块编写和自定义 第三章 Me…

【使用uniapp完成微信小程序的图片下载到本机】

使用uniapp完成微信小程序的图片下载到本机 话不多说直接上代码吧 话不多说直接上代码吧 使用的vue3的语法糖进行完成的 因为我是请求的后端接口 <template><view class"load"><view class"selectPart"><Select></Select>…

IDEA切换Python虚拟环境

前言 因为之前一直使用的IDEA开发&#xff0c;换到VSCODE之后各种不习惯&#xff0c;特别是DEBUG的操作&#xff0c;特别难受&#xff0c;因此决心换回IDEA 环境配置 已有项目调整 进入Project 选择SDKs&#xff0c;新建Python 配置Conda以及虚拟环境 有就选择一个虚拟环境…

LeetCode-周赛-思维训练-中等难度

第一题 1798. 你能构造出连续值的最大数目 解题思路 我们先抛开原题不看&#xff0c;可以先完成一道简单的题目&#xff0c;假设现在就给你一个目标值X&#xff0c;问你能够构造出从【1~X】的连续整数&#xff0c;最小需要几个数&#xff1f; 贪心假设期望&#xff1a;我们要…

Path Finder for Mac:超越系统的文件管理利器

Path Finder for Mac是一款卓越的文件管理器&#xff0c;它不仅具备基本的文件浏览、打开、复制和移动等操作功能&#xff0c;还引入了一系列强大的特性&#xff0c;使得用户可以更高效地管理和处理文件。 一、强大的预览功能 Path Finder for Mac支持多种文件格式的预览&…

题目分析,高度理解一维二维数组的申请和[]是什么运算符

第0题: 动态申请二维数组并输出非负数和 和负数出现次数 思路:输入数组大小,然后申请内存并不对其初始化,提高速度,传入数据到申请的数组中,判断如果数组中有元素小于0对其进行计数,否则加上非0数最后输出答案,释放内存 第一题: 解答: 运行结果: 思路分析: 创建长度为20的…

RobotFramework编写用例,在Jenkins上如何实现用例的并发运行?

我们了解RobotFramework编写自动化测试用例的方法&#xff0c;了解如何将用例在Jenkins上运行。 但是&#xff0c;随着用例的增多&#xff0c;传统的pybot/robot命令运行测试用例会耗费大量的时间&#xff0c;这就慢慢成为了一个苦恼的问题。 那么&#xff0c;在Jenkins上如何…

解决el-tree数据回显时子节点部分选中父节点都全选中问题

//数据结构<el-tree ref"tree_edit" :check-strictly"checkStrictly" :data"powerList" :props"defaultProps" :default-expand-all"true" :default-expanded-keys"checkedCities" :default-checked-keys"…

JFrog Artifactory二进制文件管理工具部署使用

1.简介 JFrog Artifactory二进制文件管理工具&#xff0c;目前已经在使用的公司有很多&#xff0c;足见他的方便好用。 2.下载安装包 点击下载地址 这里我下载的是7.9.2版本 3. 安装 &#xff08;1&#xff09;在安装JFrog Artifactory之前需要安装好jdk&#xff08;需…

9_企业架构队列缓存中间件分布式Redis

企业架构队列缓存中间件分布式Redis 学习目标和内容 1、能够描述Redis作用及其业务适用场景 2、能够安装配置启动Redis 3、能够使用命令行客户端简单操作Redis 4、能够实现操作基本数据类型 5、能够理解描述Redis数据持久化机制 6、能够操作安装php的Redis扩展 7、能够操作实现…

看图学源码 之 ConcurrentHashMap 源码分析

内容迁移到&#xff1a;看图学源码 之 ConcurrentHashMap put、get、remove、clear、扩容等相关方法的源码分析

AWS 日志分析工具

当您的网络资源托管在 AWS 中时&#xff0c;需要定期监控您的 AWS CloudTrail 日志、Amazon S3 服务器日志和 AWS ELB 日志等云日志&#xff0c;以降低任何潜在的安全风险、识别严重错误并确保满足所有合规性法规。 什么是 Amazon S3 Amazon Simple Storage Service&#xff…

vue3中修改element plus 主题色

vue3中修改element plus 主题色,有两种方式 一、使用 :root 方式设置变量进行覆盖 1.1文件夹 styles 下新建一个 element-variarbles.scss文件 :root { –el-color-primary: red; } 1.2 main 文件中引入 import ‘element-plus/dist/index.css’ import ‘/styles/element…

苹果ios的系统app应用WebClip免签应用开源及方式原理

在移动设备上&#xff0c;为了方便访问我们经常使用的网站或服务&#xff0c;我们经常会希望将其添加到主屏幕上&#xff0c;以便快速启动。虽然我们可以通过使用浏览器书签实现这一目标&#xff0c;但添加一个图标到主屏幕上&#xff0c;使得它看起来与原生App无异&#xff0c…