OpenShift 4 - 使用定制的Grafana和Dashboard
《OpenShift 4.x HOL教程汇总》
说明:本文已经在OpenShift 4.8环境中验证
文章目录
- OpenShift预制的Grafana权限限制
- 用Operator安装Grafana
- 安装Operator
- 创建Grafana实例
- 配置Grafana的Datasource
- 访问定制的Grafana
- 参考
OpenShift预制的Grafana权限限制
我们知道,在OpenShift 4 中已经内置了Prometheus和Grafana,可以在控制台的“仪表盘”中直接使用,它们的相关资源都运行在openshift-monitoring项目中。但是为了能保持监控环境始终可以正常运行,OpenShift只为内置的Grafana提供了只读(下图的Viewer)权限,即便使用OpenShift集群管理员也不能修改集群内置的Grafana配置,例如导入定制的Dashboard。
为了能够对Dashboard进行定制,我们需要安装使用项目级定制的Grafana环境。本文档通过Operator部署项目级的Grafana,并将OpenShift集群预制的Prometheus作为数据源(其实也可在同一项目中安装项目级Prometheus,并作为其数据源)显示数据。
用Operator安装Grafana
安装Operator
- 创建一个新的项目my-grafana。
$ oc new-project my-grafana
- 在OperatorHub中找到“Grafana Operator”,然后将这个Operator安装到my-grafana项目中。
- 进入已经安装好的“Grafana Operator”,然后点击下图中Grafana下面的“Create Instance”。
创建Grafana实例
- 在“创建Grafana”页面中切换到“YAML 视图”,提供以下YAML配置后点击“创建”按钮。说明:配置中root/mypasswords是这个Grafana实例的登录用户和密码。
apiVersion: integreatly.org/v1alpha1
kind: Grafana
metadata:name: my-grafananamespace: my-grafana
spec:config:auth:disable_signout_menu: trueauth.anonymous:enabled: truelog:level: warnmode: consolesecurity:admin_password: mypasswordadmin_user: rootingress:enabled: truedashboardLabelSelector:- matchExpressions:- key: appoperator: Invalues:- grafana
- 查看my-grafana实例的Resources。
配置Grafana的Datasource
- 为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"
- 获取grafana-serviceaccount的TOKEN。
$ oc serviceaccounts get-token grafana-serviceaccount
eyJhbGciOiJSUzI1NiIsImtpZCI6ImdKWHBwemQ2dWcteGlUT2txWGpfV2lTQ2dOdWJIRVpaQThVd0h3ZnRhMHcifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJteS1ncmFmYW5hIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZWNyZXQubmFtZSI6ImdyYWZhbmEtc2VydmljZWFjY291bnQtdG9rZW4tNXdnZjIiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoiZ3JhZmFuYS1zZXJ2aWNlYWNjb3VudCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6IjM1NDgzMWI0LTBiMTAtNDQ0Mi1hNWM1LWEzMzZjOTdhZDA3ZCIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDpteS1ncmFmYW5hOmdyYWZhbmEtc2VydmljZWFjY291bnQifQ.oOHbUBdvNsUzIHb-ZEeKbDw1alt1LY6Hu1DN0kd6XxavT7P-U2AUQEricKXSTzerpL8EuDlFANf5pwGcAkiploLvpWlTa39Q_NC0oqgV7sE2W9RRkPL1DGOya7Dfks-uRLKJqYKgnWTOifxwuYyi0ckKYAAI_uTyIPaDwQL8goWNMHOmjCEzySdJi2sEfwYDqXSz_s9aKztNL0u0yJufIF9pA9WN_i2qGmOl_shdBJeG-MEn3fJ6xueKEx4fyteY-NNNfIyP7VkwE7mIBMZGo2uWRNfTJk6KtO8ZkLHOTyjtG5KQYnzdaCoD1WM_dMeGwFXuofHYLE7rJD_f7puehg
- 在已经安装好的“Grafana Operator”中点击“Grafana Data Source”的“创建实例”。
- 切换到“YAML 视图”后提供以下YAML配置,然后点击“创建”按钮。其中url的内容是openshift-monitoring项目中名为thanos-querier的Service的内部访问地址。注意:需要用(2)获得的TOKEN字符串替换YAML中的“${TOKEN}”。
apiVersion: integreatly.org/v1alpha1
kind: GrafanaDataSource
metadata:name: prometheus-grafanadatasourcenamespace: my-grafana
spec:datasources:- access: proxyeditable: trueisDefault: truejsonData:httpHeaderName1: 'Authorization'timeInterval: 5stlsSkipVerify: truename: PrometheussecureJsonData:httpHeaderValue1: 'Bearer ${TOKEN}'type: prometheusurl: 'https://thanos-querier.openshift-monitoring.svc.cluster.local:9091'name: prometheus-grafanadatasource.yaml
访问定制的Grafana
- 查看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 10hNAME 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 12hNAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/grafana-deployment 1/1 1 1 12h
deployment.apps/grafana-operator 1/1 1 1 12hNAME 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 12hNAME 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
OpenShift 4 - 使用定制的Grafana和Dashboard相关推荐
- OpenShift / RHEL / DevSecOps 汇总目录
文章目录 OpenShift / RHEL / DevSecOps 汇总目录 OpenShift 入门 OpenShift 安装 免费线上环境 CRC单机环境 MicroShift Online安装 ...
- OpenShift 之 Quarkus(3)用独立的Prometheus监控Quarkus应用
<OpenShift 4.x HOL教程汇总> 文章目录 准备Quarkus客户端环境 创建Quarkus测试应用 安装项目级Prometheus运行环境 用Prometheus监控Qua ...
- 可视化监控指标展示工具 grafana 简介
目录 1.概述--美观.强大的可视化监控指标展示工具 1.1基本概念 2.全面瓦解 2.1登录grafana 2.2数据源配置 2.3仪表盘配置 3.特殊配置 3.1变量之interval 3.2变量 ...
- Grafana全面瓦解
Grafana全面瓦解 kang少年 https://www.jianshu.com/p/7e7e0d06709b 相关: prometheus 自己实现exporter https://zhuanl ...
- grafana 配置详解
https://www.infvie.com/ops-notes/play-grafana.html . 概述 grafana 是一款采用 go 语言编写的开源应用,主要用于大规模指标数据的可视化展现 ...
- Grafana配置数据源,自定义查询语法
1.概述--美观.强大的可视化监控指标展示工具 grafana 是一款采用 go 语言编写的开源应用,主要用于大规模指标数据的可视化展现,是网络架构和应用分析中最流行的时序数据展示工具,目前已经支持绝 ...
- Node_exporter+Prometheus+Grafana 快速实现Linux系统性能数据提取、存储和可视化展示
Node_exporter+Prometheus+Grafana 快速实现Linux系统性能数据提取.存储和可视化展示 1. 前言 2. Node_exporter 2.1 安装 node_expor ...
- grafana的+按钮_基于 Prometheus、Grafana 的 EMQ X 物联网 MQTT 服务器可视化运维监控...
Prometheus 是由 SoundCloud 开源监控告警解决方案,支持多维 数据模型(时序由 metric 名字和 k/v 的 labels 构成),具备灵活的查询语句(PromQL),支持多种 ...
- 使用Prometheus+grafana打造高逼格监控平台
前言: 笔者看来, 监控不应该只是监控,除了及时有效的报警,更应该"好看",因为视觉上的感受更能给我们直观的感受,更能从绚丽的走势中发现异常, 如果你觉得监控就应该像老牌监控nag ...
最新文章
- 怎么让电脑运行速度变快_分享几种电脑运行速度慢的解决方法_windows7教程
- 配置多路由的静态路由
- 三、Oracle的简单查询
- PHPCMS最新版任意文件上传漏洞分析
- html 物流状态,css+html如何实现物流进度样式(代码示例)
- 录播软件开始麦克风应该打开还是关闭
- Java EE,Gradle和集成测试
- 性能提升一倍,云原生网关支持 TLS 硬件加速
- 5折交叉验证_交叉验证的方法主要分为哪些?
- Ural 1001 Reverse Root 解题报告
- 温习下 function pointer.
- iOS 强制屏幕旋转
- SENT:Sentence-level Distant Relation Extraction via Negtive Training-ACL2021
- 《树莓派项目实战》第五节 使用Nokia 5110液晶屏显示Hello World
- 关于c++中引用的基本用法
- java面试教程视频
- 医学统计学中RR、OR和HR三个关于比值的概念
- 【Java基础】 ⾯向对象编程三⼤特性 --封装、继承、多态
- WTD测试框架(一)框架功能模块
- 笔记:新一代视频压缩编码标准-h.264/AVC
热门文章
- 强化学习案例_强化学习实践案例!携程如何利用强化学习提高酒店推荐排序质量...
- c# mvvm模式获取当前窗口_对Vue中的MVVM原理解析和实现
- htm怎么让图片和搜索框在同一行_对于优化来说,内链应该怎么使用你知道吗?...
- 华为手机锁屏下拉怎么设置_华为手机怎么设置锁屏
- C4D电商促销活动背景素材|设计提升,只差一个背景
- 老司机如何找素材,如何找灵感?
- Sketch vs. Figma vs. adobe xd:哪个设计工具最适合初学者?
- 强迫症设计师最爱的对称构图,促销模板
- 优秀案例UI素材模板|深层解析iPhone手机APP页面怎么设计?
- [译] Cilium:BPF 和 XDP 参考指南(2021)