0

0

Linux 如何建设可观测性体系?

冷漠man

冷漠man

发布时间:2026-01-23 19:42:47

|

309人浏览过

|

来源于php中文网

原创

Linux可观测性体系需统一采集metrics、logs、traces三类信号:journald为日志唯一入口,rsyslog用imjournal转发;node_exporter须精简collector并过滤虚拟设备;ebpf_exporter补足内核级指标;全链路时间同步与label设计是关联分析关键。

linux 如何建设可观测性体系?

Linux 环境下建可观测性体系,不是装一堆工具就完事——核心是围绕 metricslogstraces 三类信号,用最小侵入方式把真实运行态数据持续、稳定、可关联地采集上来。

systemd-journald + rsyslog 统一日志入口

直接读 /var/log/messages 或轮询 journalctl 输出,会导致时间戳不一致、字段缺失、权限混乱。应让 systemd-journald 作为唯一日志接收端,再通过 rsyslog 转发结构化数据:

  • ForwardToSyslog=yes/etc/systemd/journald.conf 中启用,确保所有服务日志进 journald
  • imjournal 模块(非 imuxsock)在 rsyslog.conf 中对接 journald,保留 _PID_COMMSYSLOG_IDENTIFIER 等原生字段
  • 禁用 imfile 直接读文件——它无法捕获 journal 的二进制元数据,且容易丢行

node_exporter 但别全量采集

node_exporter 默认开启 20+ collector,其中 textfilenetstatconntrack 在高并发机器上会显著拖慢采集周期,甚至触发 Prometheus 抓取超时。

EnablePPA中小学绩效考核系统2.0
EnablePPA中小学绩效考核系统2.0

无论从何种情形出发,在目前校长负责制的制度安排下,中小学校长作为学校的领导者、管理者和教育者,其管理水平对于学校发展的重要性都是不言而喻的。从这个角度看,建立科学的校长绩效评价体系以及拥有相对应的评估手段和工具,有利于教育行政机关针对校长的管理实践全过程及其结果进行测定与衡量,做出价值判断和评估,从而有利于强化学校教学管理,提升教学质量,并衍生带来校长转变管理观念,提升自身综合管理素质。

下载
  • 启动时显式关闭低价值项:--no-collector.hwmon --no-collector.rapl --no-collector.bonding
  • diskstats,用 --collector.diskstats.ignored-devices="^(ram|loop|fd|nvme[0-9]+n[0-9]+|zram)[0-9]*$" 过滤虚拟设备
  • 自定义指标优先走 textfile collector:写入 /var/lib/node_exporter/textfile_collector/app_build.prom,内容如 app_build_info{branch="main",commit="a1b2c3"} 1,避免在进程内硬编码指标逻辑

ebpf_exporter 补足传统 metrics 盲区

进程级 CPU/内存等基础指标掩盖了内核调度、IO 调度、TCP 重传等关键瓶颈。靠 perfsysdig 手动分析太滞后,需实时导出 eBPF 指标到 Prometheus:

  • ebpf_exporter 加载预编译的 tcp_rtt.pybiolatency.py(来自 bcc-tools),暴露 tcp_rtt_us_bucketbiolatency_us_bucket 等直方图指标
  • 避免在生产环境跑 bpftrace 一类交互式工具——它会动态编译,可能触发内核模块加载失败或占用大量内存
  • 注意 ebpf_exporterconfig.yamlmaps 定义必须与 eBPF 程序中 map 名称严格一致,否则指标为 0 且无报错

真正难的不是部署组件,而是让 logs 中的 request_id 能查到对应时刻的 node_exporter CPU 队列长度,再关联上 ebpf_exporter 的 TCP 重传次数——这要求所有采集器使用同一 NTP 源、所有日志打点带纳秒级时间戳、所有指标 label 设计预留 trace 关联字段。漏掉任意一环,可观测就退化成“可看见”。

相关专题

更多
堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

393

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

574

2023.08.10

golang map内存释放
golang map内存释放

本专题整合了golang map内存相关教程,阅读专题下面的文章了解更多相关内容。

75

2025.09.05

golang map相关教程
golang map相关教程

本专题整合了golang map相关教程,阅读专题下面的文章了解更多详细内容。

36

2025.11.16

golang map原理
golang map原理

本专题整合了golang map相关内容,阅读专题下面的文章了解更多详细内容。

60

2025.11.17

java判断map相关教程
java判断map相关教程

本专题整合了java判断map相关教程,阅读专题下面的文章了解更多详细内容。

40

2025.11.27

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

1352

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

704

2023.06.29

C++ 高级模板编程与元编程
C++ 高级模板编程与元编程

本专题深入讲解 C++ 中的高级模板编程与元编程技术,涵盖模板特化、SFINAE、模板递归、类型萃取、编译时常量与计算、C++17 的折叠表达式与变长模板参数等。通过多个实际示例,帮助开发者掌握 如何利用 C++ 模板机制编写高效、可扩展的通用代码,并提升代码的灵活性与性能。

10

2026.01.23

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.6万人学习

Git 教程
Git 教程

共21课时 | 2.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号