专属
文档
插件
助手
邀请
顶部
快速返回页面顶部
收起
收起工具栏
轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像

交易
充值流量我的订单

文档

工具

功能
提交工单页面收录

帮助
轩辕镜像免费版

其他
关于我们网站地图
热门搜索:
statsd-exporter

prom/statsd-exporter

prom

接收StatsD风格指标并将其转换为Prometheus指标的转换器,支持通过映射规则定义指标名称和标签,兼容Librato、InfluxDB等多种标签格式,可作为边车或中继运行,实现StatsD到Prometheus的平滑过渡。

24 次收藏下载次数: 0状态:社区镜像维护者:prom仓库类型:镜像最近更新:16 天前
让 AI 帮你使用轩辕镜像? · 展开查看说明

如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。

只需在 AI 对话中先发送下面这句话即可:

请先完整阅读并严格遵守以下文档中的全部规则与要求:

https://xuanyuan.cloud/agents.md

在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。

查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。

使用轩辕镜像,把时间还给真正重要的事。点击查看
中文简介
标签列表
镜像标签列表与下载命令
使用轩辕镜像,把时间还给真正重要的事。点击查看

statsd exporter

statsd_exporter 接收StatsD风格的指标并将其导出为Prometheus指标。

概述

StatsD exporter是StatsD的替代品。该exporter通过配置的映射规则将StatsD指标转换为Prometheus指标。

我们建议仅将该exporter用作中间解决方案,长期应切换到原生Prometheus instrumentation。虽然运行集中式StatsD服务器很常见,但该exporter作为边车运行时效果最佳。

从现有StatsD设置过渡

中继功能允许逐步过渡。

通过将exporter作为边车添加到应用实例旁来引入它。在Kubernetes中,这意味着将其添加到Pod中。使用--statsd.relay.address将指标转发到现有StatsD UDP端点。中继会无修改地转发statsd事件,保留原始指标名称和任何格式的标签。

+-------------+    +----------+                  +------------+
| 应用程序     +--->| Exporter +----------------->|  StatsD    |
+-------------+    +----------+                  +------------+
                          ^
                          |                      +------------+
                          +----------------------+ Prometheus |
                                                 +------------+

从StatsD中继

要将现有StatsD环境中的指标传输到Prometheus,配置StatsD的repeater后端以将所有接收到的指标重复发送到statsd_exporter进程。

+----------+                         +-------------------+                        +--------------+
|  StatsD  |---(UDP/TCP repeater)--->|  statsd_exporter  |<---(scrape /metrics)---|  Prometheus  |
+----------+                         +-------------------+                        +--------------+

这允许以最小的工作量试用exporter,但不提供边车模式的每实例指标。

标签扩展

exporter支持Librato、InfluxDB、DogStatsD和SignalFX风格的标签,这些标签将转换为Prometheus标签。

对于Librato风格的标签,必须使用分隔符#将其附加到指标名称后,如下所示:

metric.name#tagName=val,tag2Name=val2:0|c

有关更完整的描述,请参见https://github.com/librato/statsd-librato-backend#tags%E3%80%82

对于InfluxDB风格的标签,必须使用分隔符逗号将其附加到指标名称后,如下所示:

metric.name,tagName=val,tag2Name=val2:0|c

有关更全面的概述,请参见这篇InfluxDB博客文章。

对于DogStatsD风格的标签,它们作为|#分隔的部分附加在指标末尾,如下所示:

metric.name:0|c|#tagName:val,tag2Name:val2

有关概念描述,请参见DogStatsD文档中的标签和数据报格式。如果遇到问题,请注意这种标签风格与原始statsd实现不兼容。exporter还支持结合DogStatsD标签使用https://github.com/prometheus/statsd_exporter/pull/558%EF%BC%8C%E4%BD%86%E4%B8%8D%E6%94%AF%E6%8C%81%E5%85%B6%E4%BB%96%E6%A0%87%E7%AD%BE%E9%A3%8E%E6%A0%BC%E3%80%82

对于https://github.com/signalfx/signalfx-agent/blob/main/docs/monitors/collectd-statsd.md#adding-dimensions-to-statsd-metrics%EF%BC%8C%E5%9C%A8%E6%8C%87%E6%A0%87%E5%90%8D%E7%A7%B0%E7%9A%84%E6%96%B9%E6%8B%AC%E5%8F%B7%E4%B8%AD%E6%B7%BB%E5%8A%A0%E6%A0%87%E7%AD%BE%EF%BC%8C%E5%A6%82%E4%B8%8B%E6%89%80%E7%A4%BA%EF%BC%9A

metric.name[tagName=val,tag2Name=val2]:0|c

注意:如果混合标签风格(例如Librato/InfluxDB与DogStatsD),exporter会将其视为错误,行为未定义。此外,没有值的标签(#some_tag)不受支持,将被忽略。

exporter默认解析所有标签格式,但可以通过命令行标志禁用特定标签格式:

--no-statsd.parse-dogstatsd-tags
--no-statsd.parse-influxdb-tags
--no-statsd.parse-librato-tags
--no-statsd.parse-signalfx-tags

默认情况下,配置中显式指定的标签优先于来自标签的标签。要从statsd事件标签设置标签,请使用honor_labels。

构建和运行

注意:0.7.0版本切换到https://github.com/alecthomas/kingpin%E6%A0%87%E5%BF%97%E5%BA%93%E3%80%82%E6%AD%A4%E6%9B%B4%E6%94%B9%E5%90%8E%EF%BC%8C%E6%A0%87%E5%BF%97%E8%A1%8C%E4%B8%BA%E7%AC%A6%E5%90%88POSIX%E9%A3%8E%E6%A0%BC%EF%BC%9A

  • 长标志以两个破折号开头(--version)
  • 布尔长标志通过前缀no-禁用(--flag-name为true,--no-flag-name为false)
  • 多个短标志可以组合(但目前只有一个)
  • 标志处理在第一个--处停止
  • 有关完整标志列表,请参见--help

生命周期API

statsd_exporter具有可选的生命周期API(默认禁用),可通过向/-/reload或/-/quit端点发送PUT或POST请求来重新加载或退出exporter。

中继

statsd_exporter有一种可选模式,可将传入的statsd行缓冲并中继到远程服务器。这在迁移到使用exporter时"分流"数据很有用。中继将至少每秒刷新一次缓冲区,以避免延迟指标传递。

测试

$ go test

指标映射与配置

statsd_exporter可通过简单的映射语言配置,将特定的点分隔StatsD指标转换为带标签的Prometheus指标。配置文件在收到SIGHUP信号时重新加载。

映射定义以匹配相关StatsD指标的行开始,其中*作为每个点分隔指标组件的通配符。匹配表达式后的行必须每行包含一个label="value"对,并且至少定义指标名称(标签名称name)。然后从这些标签构造Prometheus指标。标签值中的$n风格引用将替换为匹配行中的第n个通配符匹配,从1开始。多个匹配定义由一个或多个空行分隔。与StatsD指标匹配的第一个映射规则生效。

未在配置文件中匹配任何映射的指标将转换为不带标签的Prometheus指标,任何非字母数字字符(包括句点)转换为下划线。

通常,不同的指标类型转换如下:

StatsD gauge   -> Prometheus gauge

StatsD counter -> Prometheus counter

StatsD timer, histogram, distribution   -> Prometheus summary or histogram

Glob匹配

默认(且最快)的glob映射风格使用*表示statsd指标名称中可能变化的部分。这些变化的部分可用于构造Prometheus指标名称和标签。

示例映射配置:

yaml
mappings:
- match: "test.dispatcher.*.*.*"
  name: "dispatcher_events_total"
  labels:
    processor: "$1"
    action: "$2"
    outcome: "$3"
    job: "test_dispatcher"
- match: "*.signup.*.*"
  name: "signup_events_total"
  labels:
    provider: "$2"
    outcome: "$3"
    job: "${1}_server"

这会将以下示例StatsD指标转换为Prometheus指标:

test.dispatcher.FooProcessor.send.success
 => dispatcher_events_total{processor="FooProcessor", action="send", outcome="success", job="test_dispatcher"}

foo_product.signup.***.failure
 => signup_events_total{provider="***", outcome="failure", job="foo_product_server"}

test.web-server.foo.bar
 => test_web_server_foo_bar{}

配置中的每个映射必须定义指标的name。指标名称中可以包含$n风格的引用,以替换匹配行中的通配符匹配。例如:

yaml
mappings:
- match: "test.*.*.counter"
  name: "${2}_total"
  labels:
    provider: "$1"

Glob匹配为常见映射提供最佳性能。

Glob规则排序

从左到右,先列出更具体的匹配,再列出通配符:

a.b.c
a.b.*
a.*.d
a.*.*

这避免意外遮蔽后续规则,以及回溯导致的性能影响。

或者,可以完全禁用映射排序。启用无序映射后,在每个层级,更具体的匹配优先。这与推荐的排序效果相同。

正则表达式匹配

regex映射风格使用正则表达式匹配完整的statsd指标名称。如果glob映射不足以从statsd指标名称中提取结构化数据,可以使用此方式。

正则表达式匹配比glob映射慢得多,因为所有映射必须按顺序测试。因此,regex映射仅在所有glob映射之后执行。换句话说,无论指定顺序如何,glob映射优先于regex匹配。正则表达式匹配始终按顺序计算,第一个匹配生效。

指标名称也可以包含对regex匹配的引用。上面的映射可以写为:

yaml
mappings:
- match: "test\\.(\\w+)\\.(\\w+)\\.counter"
  match_type: regex
  name: "${2}_total"
  labels:
    provider: "$1"
- match: "(.*)\\.(.*)--(.*)\\.status\\.(.*)\\.count"
  match_type: regex
  name: "request_total"
  labels:
    hostname: "$1"
    exec: "$2"
    protocol: "$3"
    code: "$4"

注意yaml转义规则,如下映射将无法工作:

yaml
mappings:
- match: "test\\.(\w+)\\.(\w+)\\.counter"
  match_type: regex
  name: "${2}_total"
  labels:
    provider: "$1"

特殊匹配组

使用regex时,匹配组0是完整匹配,可用于为指标附加标签。示例:

yaml
mappings:
- match: ".+"
  match_type: regex
  name: "$0"
  labels:
    statsd_metric_name: "$0"

如果收到指标my.statsd_counter,指标名称仍将映射为my_statsd_counter(Prometheus兼容名称),但指标还将具有标签statsd_metric_name,值为my.statsd_counter(未更改的值)。

注意:如果使用类似示例中的match(即.+),请注意它将作为"全能"块。因此应放在映射列表的最后。

使用glob匹配无法实现相同功能,详情参见https://github.com/prometheus/statsd_exporter/issues/444%E3%80%82

命名、标签和帮助文本

请注意,名称相同的指标必须具有相同的标签名称集。

如果默认指标帮助文本不够,可以使用YAML配置为每个映射指定自定义帮助文本:

yaml
mappings:
- match: "http.request.*"
  help: "HTTP请求总数"
  name: "http_requests_total"
  labels:
    code: "$1"

Honor labels

默认情况下,映射配置中指定的标签优先于statsd事件中的标签。

要将标签值设置为statsd事件标签中的原始值(如果存在),在映射配置中指定honor_labels: true。此时,映射中指定的标签作为默认值。

StatsD计时器和分布

默认情况下,statsd计时器和分布(统称为"observer")表示为带有分位数的Prometheus summary。可以选择配置分位数和可接受误差,以及调整summary指标的聚合方式:

yaml
mappings:
- match: "test.timing.*.*.*"
  observer_type: summary
  name: "my_timer"
  labels:
    provider: "$2"
    outcome: "$3"
    job: "${1}_server"
  summary_options:
    quantiles:
      - quantile: 0.99
        error: 0.001
      - quantile: 0.95
        error: 0.01
      - quantile: 0.9
        error: 0.05
      - quantile: 0.5
        error: 0.005
    max_age: 30s
    age_buckets: 3
    buf_cap: 1000

默认分位数为0.99、0.9和0.5。

默认summary时长为10分钟,默认桶数为5,默认缓冲区大小为500。另请参见https://godoc.org/github.com/prometheus/client_golang/prometheus#SummaryOpts%E3%80%82%60max_summary_age%60%E5%AF%B9%E5%BA%94%60SummaryOptions.MaxAge%60%EF%BC%8C%60summary_age_buckets%60%E5%AF%B9%E5%BA%94%60SummaryOptions.AgeBuckets%60%EF%BC%8C%60stream_buffer_size%60%E5%AF%B9%E5%BA%94%60SummaryOptions.BufCap%60%E3%80%82

在配置中,还可以将observer类型设置为"histogram"。例如,为单个计时器指标设置observer类型:

yaml
mappings:
- match: "test.timing.*.*.*"
  observer_type: histogram
  histogram_options:
    buckets: [ 0.01, 0.025, 0.05, 0.1 ]
    native_histogram_bucket_factor: 1.1
    native_histogram_max_buckets: 256
  name: "my_timer"
  labels:
    provider: "$2"
    outcome: "$3"
    job: "${1}_server"

如果未设置,直方图桶使用默认的https://godoc.org/github.com/prometheus/client_golang/prometheus#pkg-variables%EF%BC%9A%60%5B.005, .01, .025, .05, .1, .25, .5, 1, 2.5, 5, 10]。会自动添加+Inf。如果Prometheus服务器启用了原生直方图抓取(v2.40.0+),可以设置native_histogram_bucket_factor配置稀疏直方图桶的精度。更多信息参见原始https://github.com/prometheus/client_golang/blob/449b46435075e6e069e05af920fe028b941033cf/prometheus/histogram.go#L399-L430。还可以使用native_histogram_max_buckets`配置最大桶数,避免直方图在内存中过大,更多信息参见原始https://github.com/prometheus/client_golang/blob/449b46435075e6e069e05af920fe028b941033cf/prometheus/histogram.go#L443-L467%E3%80%82

observer_type仅在statsd指标类型为计时器、直方图或分布时使用。buckets仅在statsd指标类型为这些类型且observer_type设置为histogram时使用。

计时器将以ms类型接收。Statsd计时器数据以毫秒为单位传输,而Prometheus期望单位为秒。exporter会将所有计时器观测值转换为秒。

直方图和分布事件(h和d指标类型)不受单位转换影响。

DogStatsD客户端行为

timed()装饰器

DogStatsD客户端的timed装饰器以秒为单位发送指标,但使用ms类型。设置use_ms=True以发送正确的单位。

正则表达式匹配

使用YAML配置时,另一个功能是能够使用原始正则表达式定义匹配,而不是默认的glob风格匹配。这可以从命名不佳的statsd指标中提取结构化数据,并允许更精确地定位匹配规则。如果未指定match_type参数,默认值为glob:

yaml
mappings:
- match: "(.*)\\.(.*)--(.*)\\.status\\.(.*)\\.count"
  match_type: regex
  name: "request_total"
  labels:
    hostname: "$1"
    exec: "$2"
    protocol: "$3"
    code: "$4"

全局默认值

还可以为observer类型、直方图选项、summary选项和匹配类型设置默认值。所有未定义这些值的映射将使用默认值。

defaults中唯一可配置的选项是glob_disable_ordering,省略时为false。将其设置为true后,glob匹配类型将不考虑映射规则文件中规则的顺序,始终将*视为比具体字符串优先级低。

在默认值中设置buckets或quantiles已弃用,建议使用histogram_options和summary_options,它们将覆盖弃

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

轩辕镜像加速拉取命令点我查看更多 statsd-exporter 镜像标签

docker pull docker.xuanyuan.run/prom/statsd-exporter:<标签>

使用方法:

  • 登录认证方式
  • 免认证方式

DockerHub 原生拉取命令

docker pull prom/statsd-exporter:<标签>

更多 statsd-exporter 镜像推荐

kong/statsd-exporter logo

kong/statsd-exporter

kong
暂无描述
2.4千+ 次下载
5 年前更新
bitnami/statsd-exporter logo

bitnami/statsd-exporter

Bitnami Secure Images(VMware Tanzu)
Bitnami安全镜像,用于statsd-exporter,提供StatsD指标到Prometheus格式的转换,支持安全可靠的指标收集与监控。
1万+ 次下载
10 个月前更新
swiggyrock/statsd-exporter logo

swiggyrock/statsd-exporter

swiggyrock
暂无描述
1万+ 次下载
6 年前更新
bitnamilegacy/statsd-exporter logo

bitnamilegacy/statsd-exporter

bitnamilegacy
Bitnami旧版镜像(不再更新)
3.4千+ 次下载
10 个月前更新
harness/statsd-exporter logo

harness/statsd-exporter

harness
https://harness.atlassian.net/browse/SECENG-3804
2.3千+ 次下载
25 天前更新
ibmcom/statsd-exporter logo

ibmcom/statsd-exporter

ibmcom
暂无描述
1.8千+ 次下载
8 年前更新

查看更多 statsd-exporter 相关镜像

轩辕镜像配置手册

按平台快速找到配置文档

Docker

登录仓库拉取

登录认证 · 私有仓库

专属域名拉取

免登录 · 高速拉取

Linux

Docker 镜像配置

Windows / Mac

Docker Desktop 配置

MacOS OrbStack

OrbStack 容器

Docker Compose

Compose 项目配置

NAS

群晖

Synology 配置

飞牛

fnOS 镜像配置

绿联

绿联 NAS

威联通

QNAP 配置

极空间

极空间 NAS

企业仓库

其他仓库

ghcr · Quay · nvcr

Harbor 镜像源

Proxy Repository 对接

Portainer 镜像源

Registries 配置

Nexus 镜像源

Docker Proxy 缓存

开发工具

Dev Containers

VS Code 开发容器

Podman

Podman 配置指南

Singularity / Apptainer

HPC 科学计算容器

Kubernetes

K8s Containerd

Kubernetes · Containerd

K3s

轻量级集群

面板 / 网络

爱快路由

iKuai 镜像加速

宝塔面板

一键配置镜像源

AI

用 AI 使用轩辕镜像

agents.md · AI 对话 · 提示词

一键安装

一键安装 Docker

Linux Docker 一键安装

需要其他帮助?请查看我们的 常见问题 Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

功能

免费版与专业版区别

功能对比 · 版本选择

支持的镜像仓库

Docker Hub · GCR · GHCR

新手拉取配置

登录 · 专属域名 · 配置

docker search 限制

专属域名 · Hub 搜索

不支持 push

仅支持 pull · 不支持

拉取速度原因

带宽 · 缓存 · 冷热镜像

错误码

402 与流量用尽

402 · 流量包 · 充值

401 认证失败

401 · docker login

manifest unknown

标签错误 · 镜像不存在

410 Gone 排查

410 · Docker 升级

429 限流

免费版 · 请求频率

其他报错

DNS 超时

DNS 解析 · 网络超时

TLS 证书失败

no matching manifest(架构)

账号

失败是否计费

manifest · blob · 计费

申请开发票(企业 / 个人)

企业 · 个人 · 工单

修改登录密码

网站 · 仓库 · 重置

注销账户

工单 · 数据 · 注销

原理

mirrors 不生效

daemon.json · 重启

去掉域名前缀

docker tag · 重命名

指定架构拉取

ARM64 · AMD64 · 多架构

latest 与「最新」

digest · 版本号 · 标签

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
prom/statsd-exporter
教程轩辕镜像功能与使用教程
价格查看流量套餐与价格
热门查看热门 Docker 镜像推荐
博客Docker 镜像公告与技术博客
官方公众号:源码跳动|官方技术交流群:831623681
官方公众号:源码跳动|官方技术交流群:|问题咨询请:提交工单
商务合作:点击复制邮箱
©2024-2026 源码跳动
商务合作:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.