专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏

graphiteapp/graphite-statsd Docker 镜像 - 轩辕镜像

graphite-statsd
graphiteapp/graphite-statsd
Graphite官方Docker镜像,用于存储和可视化时间序列数据,基于稳定仓库,适用于一般用途。
134 收藏0 次下载activegraphiteapp镜像
🚀专业版镜像服务,面向生产环境设计
中文简介版本下载
🚀专业版镜像服务,面向生产环境设计

Graphite & Statsd Docker 镜像文档

!Docker Pulls !Docker Size

镜像概述和主要用途

本镜像为 Graphite 和 Statsd 的官方 Docker 镜像,基于 hopsoft/docker-graphite-statsd 和 obfuscurity/synthesize 项目构建。主要用途是提供快速部署方案,帮助用户在几分钟内搭建起完整的指标收集与可视化系统,无需手动配置复杂的 Graphite 和 Statsd 环境。

标签与架构

  • 开发版本:已弃用原开发仓库(graphiteapp/docker-graphite-statsd),不稳定构建请使用稳定仓库的 master 标签(graphiteapp/graphite-statsd:master)。
  • 多架构支持:从 1.1.7-1 版本开始支持 arm/arm64 架构;从 1.1.7-6 版本开始提供 x64 架构的 -pypy 版本(针对性能优化,详情见 PR #151)。

核心功能和特性

包含组件
  • Nginx:反向代理 Graphite 仪表盘
  • Graphite:前端指标可视化仪表盘
  • Carbon:后端指标接收与存储服务(包含 carbon-cache、carbon-aggregator)
  • Statsd:UDP 协议的指标聚合代理
  • 可选组件:Redis(用于 TagDB)、Collectd(系统指标收集)
关键特性
  • 快速部署:一键启动完整的 Graphite & Statsd 环境
  • 灵活配置:通过环境变量调整性能参数和功能开关
  • 多架构支持:x64、arm、arm64 架构兼容,提供 PyPy 优化版本
  • 数据持久化:支持挂载卷存储配置、指标数据和日志
  • 服务监控:使用 runit 管理进程,支持优雅启停和日志轮转

使用场景和适用范围

适用场景
  • 开发/测试环境的指标收集与调试
  • 中小型生产环境的系统/应用指标监控
  • 需要快速搭建可视化监控平台的场景
  • 对指标存储和查询性能有基础需求的场景
不适用场景
  • 超大规模集群监控(建议使用分布式部署方案)
  • 对组件独立扩展有强需求的场景(建议拆分部署各组件)

使用方法和配置说明

快速开始

通过以下命令一键启动容器:

sh
docker run -d \
  --name graphite \
  --restart=always \
  -p 80:80 \
  -p 2003-2004:2003-2004 \
  -p 2023-2024:2023-2024 \
  -p 8125:8125/udp \
  -p 8126:8126 \
  graphiteapp/graphite-statsd

参数说明:

  • --name graphite:指定容器名称为 graphite
  • --restart=always:容器退出时自动重启
  • -p:端口映射(详见下文“端口映射”)
  • 可根据需求调整端口映射(如主机端口冲突时)
端口映射
主机端口容器端口服务说明
8080Nginx(反向代理 Graphite 仪表盘)
20032003Carbon 纯文本协议接收端口
20042004Carbon Pickle 协议接收端口
20232023Carbon Aggregator 纯文本协议接收端口
20242024Carbon Aggregator Pickle 协议接收端口
80808080Graphite 内部 Gunicorn 端口(不经过 Nginx 代理)
81258125/udpStatsd 指标接收端口(默认 UDP,可通过 STATSD_INTERFACE=tcp 切换为 TCP)
81268126Statsd 管理接口端口
卷挂载

默认情况下,容器会自动创建***卷存储以下数据。建议显式挂载主机目录以实现持久化:

主机目录(示例)容器目录用途说明
/path/to/graphite/conf/opt/graphite/confGraphite 配置文件
/path/to/graphite/storage/opt/graphite/storage指标数据存储(whisper 文件)
/path/to/statsd/config/opt/statsd/configStatsd 配置文件
/path/to/nginx/conf/etc/nginxNginx 配置文件
/path/to/logs/var/log日志文件(Graphite、Statsd 等)
/path/to/redis/data/var/lib/redisRedis 数据(用于 TagDB,可选)

挂载示例:

sh
docker run -d \
  --name graphite \
  -v /host/graphite/conf:/opt/graphite/conf \
  -v /host/graphite/storage:/opt/graphite/storage \
  -v /host/statsd/config:/opt/statsd/config \
  graphiteapp/graphite-statsd
开始使用 Graphite & Statsd
发送测试指标数据

通过以下命令向 Statsd 发送随机指标:

sh
while true; do echo -n "example:$((RANDOM % 100))|c" | nc -w 1 -u 127.0.0.1 8125; done

(example 为指标名,c 表示计数器类型,数值为 0-99 随机数)

可视化指标数据

访问 Graphite 仪表盘查看指标:

  • 仪表盘:http://localhost/dashboard
  • 指标查询:http://localhost/render?from=-10mins&until=now&target=stats.example
安全设置:Django Admin

默认 Django 管理员账户存在安全风险,需立即修改:

  • 默认用户名:root
  • 默认密码:root
  • 默认***:***

修改步骤:

  1. 访问 http://localhost/account/login 登录
  2. 进入 http://localhost/admin/auth/user/1/ 修改用户信息

配置参数说明

基础参数
环境变量默认值说明
GRAPHITE_WSGI_PROCESSES4Gunicorn 工作进程数
GRAPHITE_WSGI_THREADS1每个工作进程的线程数
GRAPHITE_WSGI_REQUEST_TIMEOUT65请求超时时间(秒)
STATSD_INTERFACEudpStatsd 监听协议(udp 或 tcp)
SVWAIT7runit 服务停止超时时间(秒)
Graphite-web 配置
环境变量默认值说明
GRAPHITE_ALLOWED_HOSTS*允许访问的主机列表(Django 设置)
GRAPHITE_TIME_ZONEEtc/UTC时区设置
GRAPHITE_UTF8_METRICSfalse是否允许 UTF-8 格式指标名(可能影响性能)
GRAPHITE_DEBUGfalse是否启用调试模式(显示详细错误信息)
GRAPHITE_DEFAULT_CACHE_DURATION60指标数据和图表缓存时间(秒)
GRAPHITE_CLUSTER_SERVERS''集群服务器列表(远程指标查询)
Carbon 配置
环境变量默认值说明
CARBON_DISABLE_TAGSfalse是否禁用 TagDB(设置为 true 禁用)
GRAPHITE_CARBONLINK_HOSTS'127.0.0.1:7002'Carbonlink 服务地址列表
RELAY0是否启用 carbon-relay(设置为 1 启用)
TagDB 配置

TagDB 用于存储指标标签信息,默认使用 SQLite,可切换为 Redis:

环境变量默认值说明
REDIS_TAGDBfalse是否使用 Redis 存储标签(true 启用)
GRAPHITE_TAGDB_REDIS_HOST'localhost'Redis 主机地址
GRAPHITE_TAGDB_REDIS_PORT6379Redis 端口
其他功能开关
环境变量默认值说明
COLLECTD0启用 Collectd(1 启用)
GOCARBON0使用 go-carbon 替代 Carbon(1 启用)
BRUBECK0使用 Brubeck 替代 Statsd(1 启用)
MEMCACHE_HOST''Memcached 地址(如 127.0.0.1:***)
修改配置文件

若需调整高级配置(如 storage-schemas.conf):

  1. 停止容器:docker stop graphite
  2. 查看容器卷路径:docker inspect graphite(在 Mounts 中找到对应卷的 Source 路径)
  3. 修改主机上的配置文件(如 /var/lib/docker/volumes/xxx/_data/storage-schemas.conf)
  4. 重启容器:docker start graphite

注意:修改 storage-schemas.conf 后,需删除旧的 whisper 文件(/opt/graphite/storage/whisper/ 目录下)以应用新的数据保留策略。

高级部署方案

Docker Compose 部署

创建 docker-compose.yml 文件:

yaml
version: '3'
services:
  graphite:
    image: graphiteapp/graphite-statsd
    container_name: graphite
    restart: always
    ports:
      - "80:80"
      - "2003-2004:2003-2004"
      - "8125:8125/udp"
      - "8126:8126"
    volumes:
      - ./graphite/conf:/opt/graphite/conf
      - ./graphite/storage:/opt/graphite/storage
    environment:
      - GRAPHITE_TIME_ZONE=Asia/Shanghai
      - GRAPHITE_WSGI_PROCESSES=8

启动:docker-compose up -d

Kubernetes 部署

推荐使用第三方 Helm Chart:kiwigrid/graphite

实验性功能

go-carbon

设置 GOCARBON=1 启用 go-carbon(Carbon 的 Go 语言实现,性能更优)。若需启用 carbonserver,设置 GRAPHITE_CLUSTER_SERVERS="127.0.0.1:8000"。

Brubeck

设置 BRUBECK=1 启用 Brubeck(Statsd 替代方案,支持更多协议,但配置格式与原生 Statsd 不兼容)。

附加说明

关于 root 进程

容器使用 runit 作为 init 系统管理多进程,需 root 权限运行。这符合 Docker 多进程容器最佳实践,但不完全遵循“单进程容器”理念。若需无 root 运行,建议拆分部署各组件。

Statsd 与 Carbon 配置兼容性

确保 Statsd 刷新间隔(flushInterval)不小于 Carbon 最小数据保留粒度。例如,Statsd 配置 flushInterval: ***(10 秒)时,storage-schemas.conf 中保留策略需设置为 10s:12h 或更大粒度。

附加阅读

  • Graphite 官方文档
  • Statsd 文档
  • Carbon 配置指南
  • Docker 多进程容器管理
查看更多 graphite-statsd 相关镜像 →
datasense/graphite-statsd logo
datasense/graphite-statsd
by datasense
暂无描述
500K+ pulls
上次更新:8 个月前

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

登录仓库拉取

通过 Docker 登录认证访问私有仓库

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

宝塔面板

在宝塔面板一键配置镜像

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

极空间

极空间 NAS 系统配置服务

爱快路由

爱快 iKuai 路由系统配置

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

专属域名拉取

无需登录使用专属域名

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

镜像拉取常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像支持哪些镜像仓库?

专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

用户好评

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

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

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

轩辕镜像
镜像详情
...
graphiteapp/graphite-statsd
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
提交工单
免费获取在线技术支持请 提交工单,官方QQ群:13763429 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
免费获取在线技术支持请提交工单,官方QQ群: 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.
轩辕镜像 官方专业版 Logo
轩辕镜像轩辕镜像官方专业版
首页个人中心搜索镜像
交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 13763429