找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

4622

积分

0

好友

638

主题
发表于 2 小时前 | 查看: 4| 回复: 0

在当今的数字化运维体系中,一套强大、直观的监控系统是企业IT基础设施稳定运行的“眼睛”。Grafana,作为一款开源的数据可视化与分析平台,凭借其丰富的插件生态和灵活的数据源支持,已成为构建企业级监控体系的核心组件。它能将服务器性能指标、应用日志、网络流量等各类数据转化为直观的图表,帮助运维和开发团队快速定位问题,洞察系统健康状态。

Grafana品牌标识与界面预览

Grafana简介

Grafana 开源软件 (OSS) 可让您查询、可视化、警报和探索指标、日志和跟踪,无论它们存储在何处。Grafana 数据源插件可让您查询多种数据源,包括时间序列数据库(如 Prometheus 和 CloudWatch)、日志记录工具(如 Loki 和 Elasticsearch)、NoSQL/SQL 数据库(如 Postgres)、CI/CD 工具(如 GitHub)等等。Grafana OSS 为您提供工具,以在实时仪表板上显示这些数据,并提供富有洞察力的图表和可视化效果。

安装配置Grafana

本文将演示如何在 Kubernetes 环境中,使用 Helm 完成 Grafana 的安装与配置。这是一种在生产环境中非常推荐的方式,便于管理和版本控制。

1、下载Grafana chart包

首先,我们添加 Grafana 官方的 Helm 仓库并拉取指定版本的 Chart 包。

$ helm repo add grafana https://grafana.github.io/helm-charts
"grafana" has been added to your repositories

$ helm pull grafana/grafana --version 7.3.12

2、上传到内网 Harbor 服务

如果您的环境与外网隔离,需要将拉取的 Chart 包上传至内网的镜像仓库,例如 Harbor。

$ helm registry login core.jiaxzeng.com --username admin
Password:
Login Succeeded

$ helm push prometheus-25.25.0.tgz oci://core.jiaxzeng.com/plugins
Pushed: core.jiaxzeng.com/plugins/grafana:7.3.12
Digest: sha256:480fed052af924f971c308ab89b2bff72e262cedd8045ee981e58280ecdcfaa8

3、内网主机下载 Grafana chart 包

在部署 Grafana 的 Kubernetes 集群内网主机上,从内网 Harbor 拉取 Chart 包。

$ sudo helm registry login core.jiaxzeng.com --username admin
Password:
Login Succeeded

$ sudo helm pull oci://core.jiaxzeng.com/plugins/grafana --version 7.3.12 --untar --untardir /etc/kubernetes/addons/
Pulled: core.jiaxzeng.com/plugins/grafana:7.3.12
Digest: sha256:480fed052af924f971c308ab89b2bff72e262cedd8045ee981e58280ecdcfaa8

4、编写 Helm 部署 Grafana 的配置文件

创建 values.yaml 文件来定制 Grafana 的部署参数,如镜像仓库、存储、访问路径和管理员密码等。

$ cat <<'EOF' | sudo tee /etc/kubernetes/addons/grafana-values.yaml > /dev/null
# 使用内网 Harbor 仓库镜像
image:
  registry: core.jiaxzeng.com
  repository: library/monitor/grafana

initChownData:
  enabled: true
  image:
    registry: core.jiaxzeng.com
    repository: library/busybox

# 配置 pvc 持久卷
persistence:
  enabled: true
  type: pvc
  storageClassName: ceph-rbd-storage  # 不需要的话,使用默认 pvc
  accessModes:
    - ReadWriteOnce
  size: 10Gi

# 访问 Grafana 添加 /grafana 上下文
env:
  GF_SERVER_ROOT_URL: "%(protocol)s://%(domain)s:%(http_port)s/grafana"
  GF_SERVER_SERVE_FROM_SUB_PATH: true

# 设置 Grafana 账号密码
adminUser: admin
adminPassword: admin321

# 通过 ingress 访问 Grafana
ingress:
  enabled: true
  ingressClassName: nginx
  annotations:
    cert-manager.io/cluster-issuer: ca-cluster-issuer
  path: /grafana
  pathType: Prefix
  hosts:
  - ops.jiaxzeng.com
  tls:
  - secretName: ops.jiaxzeng.com-tls
    hosts:
    - ops.jiaxzeng.com

# 取消测试框架
testFramework:
  enabled: false
EOF

5、部署 Grafana 服务

使用 Helm 命令,根据刚才创建的配置文件,在 kube-system 命名空间中进行部署。

$ helm -n kube-system install grafana -f grafana-values.yaml /etc/kubernetes/addons/grafana/

Grafana 验证以及添加数据源

部署完成后,如何验证服务是否正常,并接入我们的监控数据呢?

1、查看 Grafana Pod 是否正常运行

$ kubectl -n kube-system get pod -l app.kubernetes.io/instance=grafana
NAME                       READY   STATUS    RESTARTS   AGE
grafana-7d9b67598b-h44lp   1/1     Running   0          3m48s

2、浏览器访问 Grafana

在 Ingress 配置的域名下(如 https://ops.jiaxzeng.com/grafana),您将看到 Grafana 的欢迎页面。

Grafana欢迎页面

添加数据源

Grafana 本身不存储数据,它需要连接到数据源。这里以最常用的时间序列数据库 Prometheus 为例进行配置。

1、登录 Grafana 地址 https://ops.jiaxzeng.com/grafana
2、打开菜单 - Connections - Data sources

Grafana数据源管理页面

3、点击 “Add data source” 按钮

4、在数据源列表中选择 “Prometheus”

选择Prometheus数据源类型

5、填写 Prometheus 服务器地址

这是最关键的一步。您需要填写集群内可访问的 Prometheus 服务地址。

配置Prometheus数据源URL

Tip:填写 Prometheus 地址时,请确认 Prometheus 服务是否设置了 --web.external-url 参数。如果设置了该参数,URL 中需要包含具体的路径。上图中的示例配置了 /prometheus 路径。

6、测试数据源是否可用

填写完 URL 后,滚动到页面底部,点击 “Save & test” 按钮。如果配置正确,您将看到绿色的成功提示。

成功测试Prometheus数据源

结语

至此,我们已经成功在 Kubernetes 集群中部署了 Grafana,并完成了与 Prometheus 数据源的对接。您现在已经拥有了一个功能强大的可视化监控平台的基础。接下来,就可以开始探索 Grafana 的核心功能:创建仪表盘、设置告警规则、使用 Explore 功能即时查询数据。掌握这些技能,将极大提升您对系统状态的洞察力和故障响应速度。

在云原生技术飞速发展的今天,像 Grafana 这样的工具是每一位 运维/SRE 工程师工具箱里的必备品。如果您想深入学习更多关于云原生监控、自动化运维的实战技巧,欢迎到技术社区交流探讨。

火箭发射动图




上一篇:一个码农的周末阅读思考:我们为何总是“过度自信”?
下一篇:Keepalived生产环境实战:高可用配置优化与Docker部署指南
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-4-11 07:55 , Processed in 0.744195 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表