第 12 章 使用 Prometheus 监控
Prometheus 是一个开源监控和警报平台。您可以使用它监控 Red Hat Advanced Cluster Security for Kubernetes 的 Central 和 Sensor 组件的健康状态和可用性。
12.1. 启用监控 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
在监控 Red Hat Advanced Cluster Security for Kubernetes 前,您必须启用监控。
流程
修补服务以公开端口号
9090。对 Sensor 服务进行补丁:
$ oc -n stackrox patch svc/sensor -p '{"spec":{"ports":[{"name":"monitoring","port":9090,"protocol":"TCP","targetPort":9090}]}}'1 - 1
- 如果使用 Kubernetes,请输入
kubectl而不是oc。
对中央服务进行补丁:
$ oc -n stackrox patch svc/central -p '{"spec":{"ports":[{"name":"monitoring","port":9090,"protocol":"TCP","targetPort":9090}]}}'
修改网络策略以允许入口。
$ oc apply -f - <<EOF1 apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: labels: app.kubernetes.io/name: stackrox name: allow-monitoring namespace: stackrox spec: ingress: - ports: - port: 9090 protocol: TCP podSelector: matchExpressions: - {key: app, operator: In, values: [central, sensor, collector]} policyTypes: - Ingress EOF- 1
- 如果使用 Kubernetes,请输入
kubectl而不是oc。
12.1.1. 自定义默认端口 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
要自定义 Red Hat Advanced Cluster Security for Kubernetes Central 和 Sensor 中 Prometheus 指标所使用的端口,您可以使用 ROX_METRICS_PORT 环境变量。
流程
设置
ROX_METRICS_PORT环境变量:$ oc -n stackrox set env deploy/central ROX_METRICS_PORT=<value>1 - 1
- 如果使用 Kubernetes,请输入
kubectl而不是oc。
注意
您可以为 ROX_METRICS_PORT 环境变量指定 < value >:
-
禁用监控功能。 -
<port_number> 将其绑定到通配符地址。 -
<address>:<port_number> 以使用特定地址和端口号。您还可以使用方括号指定 IPv6 地址,例如[2001:db8::1234]:9090。