OpenShift 4 - 使用定制的Grafana和Dashboard

1 篇文章 0 订阅
1 篇文章 0 订阅

OpenShift 4.x HOL教程汇总
说明:本文已经在OpenShift 4.8环境中验证

OpenShift预制的Grafana权限限制

我们知道,在OpenShift 4 中已经内置了Prometheus和Grafana,可以在控制台的“仪表盘”中直接使用,它们的相关资源都运行在openshift-monitoring项目中。但是为了能保持监控环境始终可以正常运行,OpenShift只为内置的Grafana提供了只读(下图的Viewer)权限,即便使用OpenShift集群管理员也不能修改集群内置的Grafana配置,例如导入定制的Dashboard。
在这里插入图片描述
为了能够对Dashboard进行定制,我们需要安装使用项目级定制的Grafana环境。本文档通过Operator部署项目级的Grafana,并将OpenShift集群预制的Prometheus作为数据源(其实也可在同一项目中安装项目级Prometheus,并作为其数据源)显示数据。

用Operator安装Grafana

安装Operator

  1. 创建一个新的项目my-grafana。
$ oc new-project my-grafana
  1. 在OperatorHub中找到“Grafana Operator”,然后将这个Operator安装到my-grafana项目中。
  2. 进入已经安装好的“Grafana Operator”,然后点击下图中Grafana下面的“Create Instance”。
    在这里插入图片描述

创建Grafana实例

  1. 在“创建Grafana”页面中切换到“YAML 视图”,提供以下YAML配置后点击“创建”按钮。说明:配置中root/mypasswords是这个Grafana实例的登录用户和密码。
apiVersion: integreatly.org/v1alpha1
kind: Grafana
metadata:
  name: my-grafana
  namespace: my-grafana
spec:
  config:
    auth:
      disable_signout_menu: true
    auth.anonymous:
      enabled: true
    log:
      level: warn
      mode: console
    security:
      admin_password: mypassword
      admin_user: root
  ingress:
    enabled: true
  dashboardLabelSelector:
    - matchExpressions:
        - key: app
          operator: In
          values:
            - grafana
  1. 查看my-grafana实例的Resources。
    在这里插入图片描述

配置Grafana的Datasource

  1. 为my-grafana项目资源提供cluster-monitoring-view的权限。
$ oc adm policy add-cluster-role-to-user cluster-monitoring-view -z grafana-serviceaccount
clusterrole.rbac.authorization.k8s.io/cluster-monitoring-view added: "grafana-serviceaccount"
  1. 获取grafana-serviceaccount的TOKEN
$ oc serviceaccounts get-token grafana-serviceaccount 
eyJhbGciOiJSUzI1NiIsImtpZCI6ImdKWHBwemQ2dWcteGlUT2txWGpfV2lTQ2dOdWJIRVpaQThVd0h3ZnRhMHcifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJteS1ncmFmYW5hIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZWNyZXQubmFtZSI6ImdyYWZhbmEtc2VydmljZWFjY291bnQtdG9rZW4tNXdnZjIiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoiZ3JhZmFuYS1zZXJ2aWNlYWNjb3VudCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6IjM1NDgzMWI0LTBiMTAtNDQ0Mi1hNWM1LWEzMzZjOTdhZDA3ZCIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDpteS1ncmFmYW5hOmdyYWZhbmEtc2VydmljZWFjY291bnQifQ.oOHbUBdvNsUzIHb-ZEeKbDw1alt1LY6Hu1DN0kd6XxavT7P-U2AUQEricKXSTzerpL8EuDlFANf5pwGcAkiploLvpWlTa39Q_NC0oqgV7sE2W9RRkPL1DGOya7Dfks-uRLKJqYKgnWTOifxwuYyi0ckKYAAI_uTyIPaDwQL8goWNMHOmjCEzySdJi2sEfwYDqXSz_s9aKztNL0u0yJufIF9pA9WN_i2qGmOl_shdBJeG-MEn3fJ6xueKEx4fyteY-NNNfIyP7VkwE7mIBMZGo2uWRNfTJk6KtO8ZkLHOTyjtG5KQYnzdaCoD1WM_dMeGwFXuofHYLE7rJD_f7puehg
  1. 在已经安装好的“Grafana Operator”中点击“Grafana Data Source”的“创建实例”。
  2. 切换到“YAML 视图”后提供以下YAML配置,然后点击“创建”按钮。其中url的内容是openshift-monitoring项目中名为thanos-querier的Service的内部访问地址。注意:需要用(2)获得的TOKEN字符串替换YAML中的“${TOKEN}”。
apiVersion: integreatly.org/v1alpha1
kind: GrafanaDataSource
metadata:
  name: prometheus-grafanadatasource
  namespace: my-grafana
spec:
  datasources:
    - access: proxy
      editable: true
      isDefault: true
      jsonData:
        httpHeaderName1: 'Authorization'
        timeInterval: 5s
        tlsSkipVerify: true
      name: Prometheus
      secureJsonData:
        httpHeaderValue1: 'Bearer ${TOKEN}'
      type: prometheus
      url: 'https://thanos-querier.openshift-monitoring.svc.cluster.local:9091'
  name: prometheus-grafanadatasource.yaml

访问定制的Grafana

  1. 查看my-grafana项目的资源。
$ oc get all -n my-grafana
NAME                                      READY   STATUS    RESTARTS   AGE
pod/grafana-deployment-86d9df47b5-qmrd6   1/1     Running   0          10h
pod/grafana-operator-849678798c-4cxj5     1/1     Running   0          10h
 
NAME                               TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE
service/grafana-operator-metrics   ClusterIP   172.30.254.168   <none>        8080/TCP   12h
service/grafana-service            ClusterIP   172.30.209.136   <none>        3000/TCP   12h
 
NAME                                 READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/grafana-deployment   1/1     1            1           12h
deployment.apps/grafana-operator     1/1     1            1           12h
 
NAME                                            DESIRED   CURRENT   READY   AGE
replicaset.apps/grafana-deployment-67cc4b5c65   0         0         0       12h
replicaset.apps/grafana-deployment-86d9df47b5   1         1         1       11h
replicaset.apps/grafana-deployment-f6cb7866     0         0         0       12h
replicaset.apps/grafana-operator-849678798c     1         1         1       12h
 
NAME                                     HOST/PORT                                                                        PATH   SERVICES          PORT   TERMINATION   WILDCARD
route.route.openshift.io/grafana-route   grafana-route-my-grafana.apps.cluster-pek-c1e6.pek-c1e6.sandbox900.opentlc.com          grafana-service   3000   edge          None
 
$ oc get grafanadatasource -n my-grafana
NAME                           AGE
prometheus-grafanadatasource   11h
 
$ oc get grafana -n my-grafana
NAME              AGE
my-grafana        11h

此时“my-grafana”项目的“开发者”视图中如下图:
在这里插入图片描述
2. 用浏览器打开上一步查到的grafana-route对应的Route地址。
3. 在界面左下方点击“Sign In”图标,然后用root/mypassword登录Grafana。
4. 查看Grafana的控制台,确认比OpenShift内置的Grafana控制台有更多的功能图标。
在这里插入图片描述
5. 在左下方的登录用户Preferences界面中确认该用户有Admin的权限。
在这里插入图片描述
6. 有了权限后,我们就可以点击左侧“+”图标"Create Dashboard"或“Import Dashboard”了。
7. 当"Create Dashboard"的时候,可点击“Add new pannel”。在下图“Edit Pannel”界面中的Query区域里的Metrics可以选择需要监控的指标,或对指标使用查询条件 。
在这里插入图片描述
7. 最后点击上图的Apply就可将Pannel保存 。

参考

https://www.redhat.com/zh/blog/custom-grafana-dashboards-red-hat-openshift-container-platform-4
https://access.redhat.com/solutions/4543031
https://www.techbeatly.com/2020/03/install-grafana-operator-on-openshift-container-platform-4.html#.X2F6XzOAQ88
https://developer.ibm.com/recipes/tutorials/monitoring-with-prometheus-and-grafana-in-redhat-openshift-4-3/
https://github.com/GandhiCloudLab/prometheus-grafana-openshift-430

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值