3.2. 配置 Prometheus 以监控 3scale
您必须使用 Prometheus 自定义资源部署和配置 Prometheus
,以启用 3scale 的监控。
确保正确设置了权限,如 Prometheus 文档 所述。
流程
根据您要监控集群中的所有资源还是仅 3scale 资源,按如下所示部署 Prometheus 自定义资源:
要监控集群中的所有资源,请将
spec.podMonitorSelector
属性设置为{}
,并将spec.ruleSelector
属性设置为{}
。例如,应用以下自定义资源:apiVersion: monitoring.coreos.com/v1 kind: Prometheus metadata: name: example spec: podMonitorSelector: {} ruleSelector: {}
如果您在同一 OpenShift 项目中部署了 3scale 和 Prometheus operator,并假设
APP_LABEL
的值被设置为默认的3scale-api-management
,请按照以下步骤监控 3scale 资源:将
spec.podMonitorSelector
属性设置为:podMonitorSelector: matchExpressions: - key: app operator: In values: - 3scale-api-management
将
spec.ruleSelector
属性设置为:matchExpressions: - key: app operator: In values: - 3scale-api-management
例如,应用以下自定义资源:
apiVersion: monitoring.coreos.com/v1 kind: Prometheus metadata: name: example spec: podMonitorSelector: matchExpressions: - key: app operator: In values: - 3scale-api-management ruleSelector: matchExpressions: - key: app operator: In values: - 3scale-api-management
如果您在不同的 OpenShift 项目中部署了 3scale 和 Prometheus operator,请按照以下步骤监控 3scale 资源:
-
为 OpenShift 项目添加标签,其中 3scale 使用
MYLABELKEY=MYLABELVALUE
部署 使用
podMonitorNamespaceSelector
过滤器选择 3scale pod。例如,应用以下自定义资源:apiVersion: monitoring.coreos.com/v1 kind: Prometheus metadata: name: example spec: podMonitorSelector: {} ruleSelector: {} podMonitorNamespaceSelector: matchExpressions: - key: MYLABELKEY operator: In values: - MYLABELVALUE
-
为 OpenShift 项目添加标签,其中 3scale 使用
为确保仪表板和警报按预期工作,您必须执行以下操作之一来包含 Kubernetes 指标 (即 kube-state-metrics ):
- 将 Prometheus 实例与集群默认 Prometheus 实例相结合。
- 配置您自己的提取任务,以从 kubelet、etcd 和其它数据获取指标。
其他资源
- 有关 Prometheus 的更多信息,请参阅 Prometheus 文档。