在数字化转型的大潮中,数据可视化成为了企业监控系统不可或缺的一部分。作为一款开源的数据可视化平台,Grafana因其强大的功能和易用性而备受青睐。无论是服务器性能监控还是网络流量分析,Grafana都能帮助我们以直观的方式展现数据,从而做出更快速有效的决策。

01

Grafana简介

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

02

安装配置Grafana

1、下载Grafana 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服务

$ 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包

$ 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 配置文件

$ 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 -n kube-system install grafana -f grafana-values.yaml /etc/kubernetes/addons/grafana/ 

03

Grafana验证以及添加数据源

1、查看Grafana是否正常

$ 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

图片

添加数据源

1、登录Grafana地址 https://ops.jiaxzeng.com

2、打开菜单 - 连接 - 数据源

图片

3、添加数据源

图片

4、选择Prometheus

图片

5、填写Prometheus地址

图片

Tip:填写Prometheus地址时,确认好Prometheus是否有设置--web.external-url参数,如果设置该参数,需要填写上具体路径。截图示例配置/Prometheus

6、测试数据源是否可用

图片

04

结语

通过以上步骤,我们已经成功搭建了一个基于Grafana的监控系统。无论是对于开发人员还是运维工程师来说,掌握Grafana都是非常有用的技能,它可以帮助我们更好地理解和管理我们的系统。

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐