You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Prometheus指标查询systemd服务的运行时长而非主机uptime

systemd服务运行时长查询方案

完全可以实现,核心依赖node_exporter的systemd采集器暴露的服务启动时间戳指标,操作步骤如下:

  • 第一步:确认node_exporter启动配置
    必须开启systemd采集器,启动参数添加--collector.systemd,如果目标服务没有默认被采集,追加参数--collector.systemd.unit-include="service01.service"(支持正则匹配批量采集多个服务),修改后重启node_exporter生效。
  • 第二步:编写PromQL查询语句
    用PromQL内置的time()函数获取当前时间戳,减去对应服务的启动时间戳,即可得到服务累计运行的秒数,查询语句如下:
    time() - node_systemd_unit_start_time_seconds{instance="x.x.x.x:9100", name="service01.service"}
    
  • 第三步:Grafana面板适配
    • 将上述查询填入Stat面板的查询框后,在面板右侧「标准选项-单位」中选择时间>持续时间(秒),面板会自动将秒数转换为易读的天/小时/分钟格式展示
    • 若需要兼容服务未运行的场景,可添加值映射规则:将null或缺失值映射为「未运行」,和你现有状态映射逻辑对齐即可

内容的提问来源于stack exchange,提问作者Ian Gregson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 09:36:03