第 4 章 为 Prometheus Adapter 设置审计日志级别
在默认平台监控中,您可以为 Prometheus Adapter 配置审计日志级别。
先决条件
-
已安装 OpenShift CLI(
oc
)。 -
您可以使用具有
cluster-admin
集群角色的用户身份访问集群。 -
您已创建
cluster-monitoring-config
ConfigMap
对象。
流程
您可以在默认 openshift-monitoring
项目中为 Prometheus Adapter 设置审计日志级别:
编辑
openshift-monitoring
项目中的cluster-monitoring-config
ConfigMap
对象:$ oc -n openshift-monitoring edit configmap cluster-monitoring-config
在
data/config.yaml
下的k8sPrometheusAdapter/audit
部分中添加profile:
apiVersion: v1 kind: ConfigMap metadata: name: cluster-monitoring-config namespace: openshift-monitoring data: config.yaml: | k8sPrometheusAdapter: audit: profile: <audit_log_level> 1
- 1
- 应用到 Prometheus Adapter 的审计日志级别。
使用
profile:
参数的以下值之一设置审计日志级别:-
None
:不记录事件。 -
Metadata
:仅记录请求的元数据,如用户、时间戳等。不要记录请求文本和响应文本。metadata
是默认的审计日志级别。 -
Request
:仅记录元数据和请求文本,而不记录响应文本。这个选项不适用于非资源请求。 -
RequestResponse
:日志事件元数据、请求文本和响应文本。这个选项不适用于非资源请求。
-
保存文件以使改变生效。在应用更改时,Prometheus Adapter 的 Pod 会自动重启。
警告一旦将更改保存到监控配置映射,可能会重新部署相关项目中的 Pod 和其他资源。该项目中正在运行的监控进程也可能被重启。
验证
-
在配置映射的
k8sPrometheusAdapter/audit/profile
下,将日志级别设置为Request
并保存文件。 确认 Prometheus Adapter 的 pod 正在运行。以下示例列出了
openshift-monitoring
项目中的 pod 状态:$ oc -n openshift-monitoring get pods
确认正确配置了审计日志级别和审计日志文件路径:
$ oc -n openshift-monitoring get deploy prometheus-adapter -o yaml
输出示例
... - --audit-policy-file=/etc/audit/request-profile.yaml - --audit-log-path=/var/log/adapter/audit.log
确认
openshift-monitoring
项目中的prometheus-adapter
部署中应用了正确的日志级别:$ oc -n openshift-monitoring exec deploy/prometheus-adapter -c prometheus-adapter -- cat /etc/audit/request-profile.yaml
输出示例
"apiVersion": "audit.k8s.io/v1" "kind": "Policy" "metadata": "name": "Request" "omitStages": - "RequestReceived" "rules": - "level": "Request"
注意如果您为
ConfigMap
对象中的 Prometheus Adapter 输入了一个未识别的profile
值,则不会对 Prometheus Adapter 进行任何更改,Cluster Monitoring Operator 会记录错误。查看 Prometheus Adapter 的审计日志:
$ oc -n openshift-monitoring exec -c <prometheus_adapter_pod_name> -- cat /var/log/adapter/audit.log
其他资源
- 有关创建监控配置映射的步骤,请参阅准备配置监控堆栈。
4.1. 禁用默认的 Grafana 部署
默认情况下,使用显示集群指标的仪表板集合部署了只读 Grafana 实例。Grafana 实例不可用户配置。
您可以禁用 Grafana 部署,从而导致从集群中删除相关的资源。如果您不需要这些仪表板且希望在集群中节省资源,则可能会这样做。您仍然能够查看 web 控制台中包含的指标和仪表板。Grafana 可以随时安全地启用。
先决条件
-
您可以使用具有
cluster-admin
角色的用户访问集群。 -
您已创建
cluster-monitoring-config
ConfigMap
对象。 -
已安装 OpenShift CLI(
oc
)。
流程
编辑
openshift-monitoring
项目中的cluster-monitoring-config
ConfigMap
对象:$ oc -n openshift-monitoring edit configmap cluster-monitoring-config
在
data/config.yaml
下为grafana
组件添加enabled: false
:apiVersion: v1 kind: ConfigMap metadata: name: cluster-monitoring-config namespace: openshift-monitoring data: config.yaml: | grafana: enabled: false
保存文件以使改变生效。应用更改时,资源将开始自动删除。
警告此更改会导致一些组件,包括 Prometheus 和 Thanos Querier,正在重启。如果您还没有遵循"配置持久性存储"部分中的步骤,这可能会导致之前收集的指标丢失。
检查 Grafana pod 是否不再运行。以下示例列出了
openshift-monitoring
项目中的 pod 状态:$ oc -n openshift-monitoring get pods
注意应用更改后可能需要几分钟时间来终止这些 pod。
其他资源
- 有关创建监控配置映射的步骤,请参阅准备配置监控堆栈。