从 OpenShift Container Platform 4.3 开始,机器配置守护程序提供了一组指标。可以使用 Prometheus 集群监控堆栈访问这些指标。
下表描述了这组指标。有些条目包含获取特定日志的命令。但是,可以使用oc adm must-gather
命令获得最全面的日志集。
|
在“名称”和“描述”列中标有* 的指标表示可能导致性能问题的严重错误。此类问题可能会阻止更新和升级继续进行。
|
表 1. MCO 指标
名称 |
格式 |
描述 |
备注 |
mcd_host_os_and_version
|
[]string{"os", "version"}
|
显示 MCD 运行的操作系统,例如 RHCOS 或 RHEL。如果是 RHCOS,则提供版本。 |
|
mcd_drain_err*
|
|
记录在排水失败期间收到的错误。* |
虽然排水可能需要多次尝试才能成功,但最终的排水失败会阻止更新继续进行。drain_time 指标(显示排水耗时)可能有助于故障排除。
要进行进一步调查,请运行以下命令查看日志:
$ oc logs -f -n openshift-machine-config-operator machine-config-daemon-<hash> -c machine-config-daemon
|
mcd_pivot_err*
|
[]string{"err", "node", "pivot_target"}
|
记录在枢轴期间遇到的错误。* |
枢轴错误可能会阻止操作系统升级继续进行。
要进行进一步调查,请运行此命令查看来自machine-config-daemon 容器的日志:
$ oc logs -f -n openshift-machine-config-operator machine-config-daemon-<hash> -c machine-config-daemon
|
mcd_state
|
[]string{"state", "reason"}
|
指示节点的机器配置守护程序的状态。可能的状态为“已完成”、“正在工作”和“已降级”。如果为“已降级”,则包含原因。 |
要进行进一步调查,请运行以下命令查看日志:
$ oc logs -f -n openshift-machine-config-operator machine-config-daemon-<hash> -c machine-config-daemon
|
mcd_kubelet_state*
|
|
记录 kubelet 健康状况故障。* |
预期此值为空,失败计数为 0。如果失败计数超过 2,则表示超过错误指示阈值。这表明 kubelet 的健康状况可能存在问题。
要进行进一步调查,请运行此命令访问节点并查看其所有日志:
$ oc debug node/<node> — chroot /host journalctl -u kubelet
|
mcd_reboot_err*
|
[]string{"message", "err", "node"}
|
记录失败的重启和相应的错误。* |
预期此值为空,这表示重启成功。
要进行进一步调查,请运行以下命令查看日志:
$ oc logs -f -n openshift-machine-config-operator machine-config-daemon-<hash> -c machine-config-daemon
|
mcd_update_state
|
[]string{"config", "err"}
|
记录配置更新的成功或失败以及相应的错误。 |
预期值为rendered-master/rendered-worker-XXXX 。如果更新失败,则存在错误。
要进行进一步调查,请运行以下命令查看日志:
$ oc logs -f -n openshift-machine-config-operator machine-config-daemon-<hash> -c machine-config-daemon
|