使用 ClickStack 监控 systemd 日志
本指南演示如何通过运行带有 journald receiver 的 OpenTelemetry Collector,使用 ClickStack 监控 systemd journal 日志。您将学习如何:
- 部署 OpenTelemetry Collector 来读取 systemd 日志条目
- 通过 OTLP 将 systemd 日志发送到 ClickStack
- 使用预构建的仪表板可视化 systemd 日志洞察(服务状态、错误、身份验证事件)
如果您希望在为生产系统配置之前先测试集成,我们提供了带有示例日志的演示数据集。
所需时间:10–15 分钟
集成现有系统
通过运行带有 journald 接收器的 OpenTelemetry Collector 来监控现有 Linux 系统的 journald 日志,以收集系统日志并通过 OTLP 发送到 ClickStack。
如果希望在不修改现有环境的情况下先测试此集成,请跳转到演示数据集部分。
先决条件
- 正在运行的 ClickStack 实例
- 带有 systemd 的 Linux 系统(Ubuntu 16.04+、CentOS 7+、Debian 8+)
- 在被监控系统上已安装 Docker 或 Docker Compose
获取 ClickStack API key
OpenTelemetry Collector 会向 ClickStack 的 OTLP 端点发送数据,该端点需要进行身份验证。
- 在你的 ClickStack 地址上打开 HyperDX (例如:http://localhost:8080)
- 如有需要,创建账号或登录
- 导航到 Team Settings → API Keys
- 复制你的 摄取 API key

- 将其设置为环境变量:
在 HyperDX 中验证日志
配置完成后,登录 HyperDX 并验证日志是否已开始流入:
- 导航到 Search 视图
- 将 source 设置为 Logs
- 按
service.name:systemd-logs进行过滤 - 应该能看到带有
unit、priority、MESSAGE、_HOSTNAME等字段的结构化日志条目


演示数据集
对于希望在配置生产系统之前先测试 systemd 日志集成的用户,我们提供了一份预生成的、带有接近真实日志模式的 systemd 日志演示数据集。
使用演示数据运行 ClickStack
使用演示日志启动 ClickStack:
该演示使用 filelog 接收器读取文本日志,而不是使用 journald,以避免在容器中依赖 journalctl。
仪表盘和可视化
为了帮助您开始使用 ClickStack 监控 systemd 日志,我们提供了针对 systemd journal 数据的基础可视化视图。
导入预配置的仪表盘
- 打开 HyperDX 并导航到「仪表盘(Dashboards)」部分
- 点击右上角省略号下的 Import Dashboard

- 上传
systemd-logs-dashboard.json文件并点击 Finish Import

查看仪表盘
该仪表盘包含以下可视化内容:
- 随时间变化的日志量
- 按日志数量排序的 systemd 单元
- SSH 认证事件
- 服务故障
- 错误率

对于演示数据集,将时间范围设置为 2025-11-15 00:00:00 - 2025-11-16 00:00:00 (UTC)(可根据您的本地时区进行调整)。
故障排查
HyperDX 中没有日志显示
检查日志是否已经到达 ClickHouse:
如果没有查询结果,请检查 Collector 的日志:
journalctl 未找到错误
如果你看到 exec: "journalctl": executable file not found in $PATH:
otel/opentelemetry-collector-contrib 镜像不包含 journalctl。你可以:
- 在主机上安装收集器:
- 使用文本导出方法(与演示类似),由
filelog接收器读取 journald 导出的日志