第 3 章 监控 3scale
Prometheus 是专为存储历史数据和监控大型可扩展系统而构建的容器原生软件。它在延长时间内收集数据,而不仅仅是针对当前运行的会话。Prometheus 中的警报规则由 Alertmanager 管理。
您可以使用 Prometheus 和 Alertmanager 监控并存储 3scale 数据,以便您可以使用图形工具(如 Grafana )来视觉化和运行数据查询。
Prometheus 是一个开源系统监控工具包,Grafana 是一个开源仪表板工具包。红帽对 Prometheus 和 Grafana 的支持仅限于红帽产品文档中提供的配置建议。
3scale 操作器允许您使用现有的 Prometheus 和 Grafana 操作器安装来监控 3scale 使用情况和资源。
3scale 操作器创建监控资源,但不会阻止修改这些资源。
先决条件
- 已安装 3scale operator。
Prometheus Operator 已安装在集群中。Prometheus operator 是一个用于创建和管理 Prometheus 实例的操作器。它提供了 3scale 监控所需的
Prometheus
自定义资源定义。以下 Prometheus operator 和镜像版本使用 3scale 测试:
-
Prometheus operator
v0.37.0
-
Prometheus 镜像:
quay.io/prometheus/prometheus:v2.16.0
-
Prometheus operator
Grafana Operator 在集群中安装。Grafana Operator 是一个用于创建和管理 Grafana 实例的 operator。它提供了 3scale 监控所需的
GrafanaDashboard
自定义资源定义。以下 Grafana operator 和镜像版本使用 3scale 测试:
-
Grafana operator
v3.9.0
-
Grafana 镜像:
registry.hub.docker.com/grafana/grafana:7.1.1
-
Grafana operator
如果您的集群在互联网上公开,请确保保护 Prometheus 和 Grafana 服务。
本节论述了如何启用对 3scale 实例的监控,以便您可以查看 Grafana 仪表板。
3.1. 为 3scale 启用监控
要监控 3scale,您必须通过设置 APIManager 自定义资源来启用监控。
流程
通过将 3scale 部署 YAML 的
spec.monitoring.enabled
参数设置为true
,将 3scale 配置为启用监控。例如:创建名为
3scale-monitoring.yml
的 APIManager 自定义资源来启用监控:apiVersion: apps.3scale.net/v1alpha1 kind: APIManager metadata: name: apimanager1 spec: wildcardDomain: example.com monitoring: enabled: true enablePrometheusRules: false 1
- 1
- 您可以选择禁用
PrometheusRules
,它被默认启用。
登录您的 OpenShift 集群。您必须以具有 edit 集群角色的用户身份在 3scale 的 OpenShift 项目中(如
cluster-admin)
登录。oc login
切换到 3scale 项目。
oc project <project_name>
部署自定义资源:
$ oc apply -f 3scale-monitoring.yml