第 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. 禁用本地 Alertmanager
在 OpenShift Container Platform 监控堆栈的 openshift-monitoring
项目中默认启用从 Prometheus 实例路由警报的本地 Alertmanager。
如果您不需要本地 Alertmanager,可以通过在 openshift-monitoring
项目中配置 cluster-monitoring-config
配置映射来禁用它。
先决条件
-
您可以使用具有
cluster-admin
集群角色的用户身份访问集群。 -
您已创建了
cluster-monitoring-config
配置映射。 -
已安装 OpenShift CLI(
oc
)。
流程
编辑
openshift-monitoring
项目中的cluster-monitoring-config
配置映射:$ oc -n openshift-monitoring edit configmap cluster-monitoring-config
在
data/config.yaml
下为alertmanagerMain
组件添加enabled: false
:apiVersion: v1 kind: ConfigMap metadata: name: cluster-monitoring-config namespace: openshift-monitoring data: config.yaml: | alertmanagerMain: enabled: false
- 保存文件以使改变生效。应用更改时,Alertmanager 实例会自动禁用。