atlassianlabs/gostatsdgostatsd 镜像是 Etsy statsd 的 Go 语言实现,基于 atlassian/gostatsd 项目构建。它提供了轻量级、高性能的 metrics 收集和聚合能力,支持将来自应用或服务的指标数据聚合后转发至后端存储或监控系统(如 Graphite、Prometheus 等)。
通过 docker run 启动容器,默认监听 UDP 8125 端口(statsd 标准端口),并转发指标至指定后端:
bashdocker run -d --name gostatsd \ -p 8125:8125/udp \ # 暴露 statsd 监听端口(UDP) -e BACKENDS="graphite://graphite.example.com:2003" \ # 配置后端地址(如 Graphite) gostatsd:latest
通过环境变量自定义运行参数,常用配置项如下:
| 环境变量 | 说明 | 默认值 | 示例值 |
|---|---|---|---|
LISTEN_ADDR | 监听地址与端口(UDP/TCP) | :8125(UDP) | udp://0.0.0.0:8125,tcp://0.0.0.0:8126 |
BACKENDS | 后端存储地址列表(逗号分隔) | 无 | graphite://graphite:2003,prometheus://prometheus:9090 |
FLUSH_INTERVAL | 指标聚合周期(秒) | 10 | 5 |
LOG_LEVEL | 日志级别(debug/info/warn/error) | info | debug |
如需更复杂配置(如指标过滤、采样率、后端高级参数),可通过挂载配置文件实现。配置文件为 YAML 格式,示例:
yaml# config.yaml 示例 listen: addr: "udp://0.0.0.0:8125" read_buffer_size: *** # 1MB 读取缓冲区 backends: - type: graphite addr: "graphite.example.com:2003" prefix: "stats.gostatsd" # 指标前缀 flush_interval: 10s metrics: allowed_prefixes: ["app.", "service."] # 仅允许特定前缀的指标
挂载配置文件启动容器:
bashdocker run -d --name gostatsd \ -p 8125:8125/udp \ -v /path/to/config.yaml:/etc/gostatsd/config.yaml \ # 挂载配置文件 gostatsd:latest --config /etc/gostatsd/config.yaml # 指定配置文件路径
docker logs gostatsdHTTP_LISTEN_ADDR),可通过 http://<容器IP>:8127/metrics 查看 gostatsd 自身指标。read_buffer_size 或增加容器资源(CPU/内存)优化性能。manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务