text/plain; version=0.0.4)下暴露 /metrics 端点。您可以将这些指标接入自己的可观测性体系 — Prometheus、Grafana Agent / Alloy、VictoriaMetrics、OpenTelemetry Collector、Datadog 或任何兼容 OpenMetrics 的工具。
导出器覆盖进程和运行时遥测(CPU、内存、GC、文件描述符)。应用层指标(如请求延迟或队列深度)目前尚未导出。
支持 /metrics 的服务
端点共享各服务现有的 HTTP 端口 — 无需额外的容器端口或安全组规则。在后端服务上,该端点挂载在认证中间件之前,因此抓取不需要会话或 Cookie。
标签
每条指标序列都携带三个标签:
这些标签由导出器在发送时打上。如果您的抓取配置也添加了
environment 标签,请设置 honor_labels: true 以保留导出器的值。
配置
所有服务共享相同的环境变量约定:端点默认启用。如果不希望在某个服务上暴露,请设置
METRICS_ENABLED=false。指标族
CPU
process_cpu_seconds_total— 累计 CPU 时间process_cpu_utilization_ratio— 瞬时 CPU 使用率(0–1)process_cpu_throttled_seconds_total— cgroup 节流时间process_cpu_throttled_periods_total— cgroup 节流周期计数process_cpu_core_usage_ratio{core}— 每核使用率(仅 Linux)
内存
process_resident_memory_bytes— RSSprocess_virtual_memory_bytes— 虚拟内存process_heap_bytes/process_heap_sys_bytes— Go 堆(仅 Go 服务)system_memory_total_bytes/system_memory_available_bytes— 主机内存process_memory_usage_ratio— RSS 与 cgroup 限制的比率
运行时
process_uptime_seconds— 启动后的秒数process_open_fds/process_max_fds— 文件描述符go_goroutines、go_threads、go_gc_duration_seconds— Go 运行时(Go 服务)python_gc_collections_total、python_info— Python 运行时(检测 ML)
cgroup 和
/proc 派生的指标(节流、每核、系统内存)仅在 Linux 上发送。在其他平台上会被静默忽略。抓取配置
Prometheus / VictoriaMetrics
最小的静态目标配置:Kubernetes Pod 注解
对于集群内 Prometheus 基于 Pod 的服务发现,请为 Pod 添加注解:Grafana Agent / Alloy
使用prometheus.scrape 组件指向与上述相同的目标。
Datadog Agent
使用 OpenMetrics 检查:OpenTelemetry Collector
使用prometheus 接收器,配合相同的 scrape_configs 块。
Grafana 仪表盘
提供了一个入门 Grafana 仪表盘,包含以下面板:- CPU 利用率和 CPU 时间速率
- 常驻内存(RSS)和内存使用率
- CPU 节流速率
- Goroutine 数量和 GC 暂停时间(Go 服务)
- 打开的文件描述符
- 运行时间
$service 模板变量,可按服务筛选。将 JSON 导入您的 Grafana 实例并选择 Prometheus 数据源即可。
