3.2. 为 OCP 4.16 配置 Grafana 和 Prometheus
为 OpenShift Container Platform (OCP) 4.16 配置 Grafana 和 Prometheus。本指南涵盖了为 OCP 4.16 设置监控和数据视觉化的步骤。
流程
从 OperatorHub 安装 Grafana 5 社区 Operator。
- 使用您的 OpenShift 管理员凭证登录到 OpenShift Container Platform (OCP)。
- 从您要安装 Grafana community operator 的 Project 列表中选择项目。
- 导航到 Operators > OperatorHub。
- 搜索 "grafana" 并点 Grafana Operator。
在 Grafana Community Operator 页面中点 Install。此时会显示 Create Operator Subscription 页面。完成以下步骤以创建 Grafana operator 订阅:
- 点 A specific namespace on the cluster,选择您要安装 Grafana community Operator 的项目。
- 点 Subscribe.
- 单击 Approve。
从 OperatorHub 安装最新的 Prometheus community Operator。
- 使用您的 OpenShift 管理员凭证登录到 OpenShift Container Platform (OCP)。
从您要安装 Prometheus community operator 的 Project 列表中选择项目。
重要在安装 3scale Operator 的同一项目中安装 Prometheus community Operator。
- 导航到 Operators > OperatorHub。
- 搜索 "prometheus" 并单击 Prometheus Operator。
在 Prometheus Community Operator 页面中点 Install。此时会显示 Create Operator Subscription 页面。完成以下步骤以创建 Prometheus operator 订阅:
- 点 A specific namespace on the cluster,再选择您要安装 Prometheus community Operator 的项目。
- 点 Subscribe.
- 单击 Approve。
通过将 3scale 部署 YAML 的
spec.monitoring.enabled参数设置为true来启用监控。例如:apiVersion: apps.3scale.net/v1alpha1 kind: APIManager metadata: ... spec: monitoring: enabled: true ...登录您的 OpenShift 集群。您必须以具有 edit 集群角色的用户身份在 3scale 的 OpenShift 项目中(如
cluster-admin)登录。$ oc login切换到 3scale 项目。
$ oc project <project_name>
为 Prometheus 创建新服务帐户:
$ oc create serviceaccount prometheus-monitoring创建一个 ClusterRoleBinding,为 Prometheus ServiceAccount 提供提取指标所需的基于角色的访问控制(RBAC)权限。在创建 ClusterRoleBinding 前更新 ServiceAccount 命名空间:
$ oc adm policy add-cluster-role-to-user cluster-monitoring-view -z prometheus-monitoring -n "<3scale_namespace>"为
prometheus-monitoringServiceAccount 创建令牌:$ oc create token prometheus-monitoring当此令牌过期时,Prometheus 会丢失对所需资源的访问。添加-
duration X[s|m|h]以指定令牌有效的时间。-
使用生成的令牌更新文件 3scale-scrape-configs.yaml
bearer_token字段。 创建 additional-scrape-config secret:
$ oc create secret generic additional-scrape-configs --from-file=3scale-scrape-configs.yaml=./3scale-scrape-configs.yaml部署 Prometheus。
在 Prometheus.yaml 文件中,使用外部 URL 填写
spec.externalUrl字段。URL 模板应该是:spec: ... externalUrl: https://prometheus.<namespace-name>.apps.<cluster-domain>
部署 Prometheus 服务器:
$ oc apply -f prometheus.yaml创建 Prometheus 路由:
$ oc expose service prometheus-operated --hostname prometheus.<namespace-name>.apps.<cluster-name>部署 Grafana 数据源:
$ oc apply -f datasource-v5.yaml部署 Grafana:
$ oc apply -f grafana-v5.yaml公开 grafana 路由:
$ oc expose service example-grafana-service