第 3 章 监控 3scale API 管理
Prometheus 是专为存储历史数据和监控大型可扩展系统而构建的容器原生软件。它在延长时间内收集数据,而不仅仅是针对当前运行的会话。Prometheus 中的警报规则由 Alertmanager 管理。
您可以使用 Prometheus 和 Alertmanager 来监控和存储 Red Hat 3scale API 管理数据,以便您可以使用图形工具(如 Grafana )来视觉化并在数据上运行查询。
- Prometheus 是一个开源系统监控工具包,Grafana 是一个开源仪表板工具包。红帽对 Prometheus 和 Grafana 的支持仅限于红帽产品文档中提供的配置建议。
- 3scale 操作器创建监控资源,但不会阻止修改这些资源。
- 您必须在同一命名空间中安装 3scale operator 和 Prometheus Operator,或使用集群范围的 Operator。
3scale 操作器允许您使用现有的 Prometheus 和 Grafana 操作器安装来监控 3scale 使用情况和资源。
先决条件
- 已安装 3scale operator。
Prometheus Operator 已安装在集群中。Prometheus operator 是一个用于创建和管理 Prometheus 实例的操作器。它提供 3scale 监控所需的
Prometheus
自定义资源定义(CRD)。以下 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
CRD。以下 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 API 管理启用监控
为 Red Hat 3scale API Management 启用监控的方法有两种:
-
您可以将
spec.monitoring.enabled
字段配置为true
,并保存现有的自定义资源定义(CRD) (如果已存在)。 - 另外,这个流程也适用于 3scale API 管理的安装阶段。
要监控 3scale,请在安装时将 spec.monitoring.enabled
字段设为 true
。
流程
通过将现有 APIManager CRD.For 示例中的 3scale 部署 YAML 的
spec.monitoring.enabled
参数设置为true
,将 3scale 配置为启用监控:创建名为
3scale-monitoring.yml
的 APIManager CR 来启用监控:apiVersion: apps.3scale.net/v1alpha1 kind: APIManager metadata: name: your-existing-apimanager-name spec: monitoring: enabled: true enablePrometheusRules: false 1 [...] 2
登录您的 OpenShift 集群。您必须以具有 edit 集群角色的用户身份在 3scale 的 OpenShift 项目中登录,如
cluster-admin
:$ oc login
切换到 3scale 项目:
$ oc project <project_name>
将更改应用到自定义资源:
$ oc apply -f 3scale-monitoring.yml