6.2. 为监控组件设置日志级别
您可以为 Alertmanager、Prometheus Operator、Prometheus、Thanos Querier 和 Thanos Ruler 配置日志级别。
以下日志级别可应用到 cluster-monitoring-config
和 user-workload-monitoring-config
ConfigMap
中的相关组件:
-
debug
。记录调试、信息、警告和错误消息。 -
info
。记录信息、警告和错误消息。 -
warn
。仅记录警告和错误消息。 -
error
。仅记录错误消息。
默认日志级别为 info
。
先决条件
如果要为
openshift-monitoring
项目中的 Alertmanager、Prometheus Operator、Prometheus 或 Thanos Querier 设置日志级别:-
您可以使用具有
cluster-admin
集群角色的用户身份访问集群。 -
您已创建
cluster-monitoring-config
ConfigMap
对象。
-
您可以使用具有
如果要为
openshift-user-workload-monitoring
项目中的 Prometheus Operator、Prometheus 或 Thanos Ruler 设置日志级别:-
您可以使用具有
cluster-admin
集群角色的用户访问集群,也可以使用在openshift-user-workload-monitoring
项目中具有user-workload-monitoring-config-edit
角色的用户访问集群。 - 集群管理员为用户定义的项目启用了监控。
-
您可以使用具有
-
已安装 OpenShift CLI(
oc
)。
流程
编辑
ConfigMap
对象:要为
openshift-monitoring
项目中的组件设置日志级别:编辑
openshift-monitoring
项目中的cluster-monitoring-config
ConfigMap
对象:$ oc -n openshift-monitoring edit configmap cluster-monitoring-config
在
data/config.yaml
下为组件添加logLevel: <log_level>
:apiVersion: v1 kind: ConfigMap metadata: name: cluster-monitoring-config namespace: openshift-monitoring data: config.yaml: | <component>: 1 logLevel: <log_level> 2
要为
openshift-user-workload-monitoring
项目中的组件设置日志级别:在
openshift-user-workload-monitoring
项目中编辑user-workload-monitoring-config
ConfigMap
对象:$ oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
在
data/config.yaml
下为组件添加logLevel: <log_level>
:apiVersion: v1 kind: ConfigMap metadata: name: user-workload-monitoring-config namespace: openshift-user-workload-monitoring data: config.yaml: | <component>: 1 logLevel: <log_level> 2
- 保存文件以使改变生效。受新配置影响的 Pod 会自动重新部署。
通过查看相关项目中的部署或 Pod 配置来确认已应用了日志级别。以下示例检查
openshift-user-workload-monitoring
项目中的prometheus-operator
部署中的日志级别:$ oc -n openshift-user-workload-monitoring get deploy prometheus-operator -o yaml | grep "log-level"
输出示例
- --log-level=debug
检查组件的 Pod 是否正在运行。以下示例列出了
openshift-user-workload-monitoring
项目中 Pod 的状态:$ oc -n openshift-user-workload-monitoring get pods
注意如果
ConfigMap
中包含了一个未识别的loglevel
值,则组件的 Pod 可能无法成功重启。