Co-authored-by: sundapeng.sdp <sundapeng@hashdata.cn> Reviewed-on: #18 Reviewed-by: xuxt <xuxt@zgclab.edu.cn> Reviewed-by: yuyr <yuyr@zgclab.edu.cn> Reviewed-by: huhy <husteryezi@163.com>
2.6 KiB
2.6 KiB
Grafana 构建配置
基于 grafana/grafana:11.1.0
构建的自定义镜像,主要做了用户 ID 适配和配置自动化。
快速开始
# 构建镜像
docker build -t argus-metric-grafana:1.0.0 .
# 启动容器(主机网络模式)
docker run -d \
--name grafana \
--network=host \
-v /private/argus:/private/argus \
argus-metric-grafana:1.0.0
访问:http://localhost:3001/private/argus/metric/grafana/
默认账号:admin
/ admin
用户 ID 配置
镜像默认使用特殊的用户 ID 以适配主机权限:
GRAFANA_UID=2133
GRAFANA_GID=2015
如果需要修改,构建时传入参数:
docker build \
--build-arg GRAFANA_UID=1000 \
--build-arg GRAFANA_GID=1000 \
-t argus-metric-grafana:1.0.0 .
配置说明
数据源配置
修改 datasources/datasources.yml
中的 Prometheus 地址:
datasources:
- name: Prometheus
type: prometheus
url: http://10.211.55.5:9090 # 改成你的 Prometheus 地址
isDefault: true
注意:确保 Grafana 容器能访问到 Prometheus 服务,网络要通。
Dashboard 导入
配置好数据源后,手动导入默认 dashboard:
- 登录 Grafana
- 左侧菜单 → Dashboards → Import
- 上传
dashboards/default_dashboard.json
- 选择 Prometheus 数据源
- Import
或者直接把 dashboard 放到持久化目录:
cp dashboards/default_dashboard.json /private/argus/metric/grafana/provisioning/dashboards/
重启容器会自动加载(因为 dashboards.yml
配置了自动扫描该目录)。
目录结构
持久化目录都在 /private/argus
下:
/private/argus/
├── etc/
│ └── grafana.metric.argus.com # 容器 IP 记录
└── metric/grafana/
├── config/
│ └── grafana.ini # 主配置文件
├── data/ # 数据库、会话等
├── logs/ # 日志
├── plugins/ # 插件
└── provisioning/
├── datasources/
│ └── datasources.yml # 数据源配置
└── dashboards/
├── dashboards.yml # dashboard 配置
└── *.json # dashboard JSON 文件
启动流程
容器启动时 start-grafana-supervised.sh
会:
- 记录容器 IP 到
/private/argus/etc/grafana.metric.argus.com
- 创建必要的目录
- 从
/tmp/
复制配置文件到持久化目录(首次启动或配置不存在时) - 用
grafana:grafana
(UID:GID=2133:2015) 启动 Grafana 服务