Automation Suite
2023.4
False
横幅背景图像
Linux 版 Automation Suite 安装指南
上次更新日期 2024年4月24日

警示 runbook

备注:
  • 有关使用可用工具进行警示、指标和可视化的一般说明,请参阅 使用监控堆栈
  • 有关如何解决问题以及如何为 UiPath™ 支持工程师创建支持捆绑包的更多信息,请参阅故障排除
  • 联系 UiPath™ 支持团队时,请提供当前触发的任何警示。

警示严重性键

警示严重性

描述

信息

意外但无害。可以静默,但在诊断期间可能有用。

Warning

表明功能有针对性地降级或在不久的将来可能降级,这可能会影响整个集群。建议迅速采取行动(通常在几天内),以保持集群的正常运行。

重要事项

已知会导致集群中普遍存在的功能严重降级。需要立即采取行动(当天)修复集群。

常规.规则

TargetDown

Prometheus 无法从警示中的目标收集指标,这意味着 Grafana 仪表板和基于该目标的指标的进一步警示不可用。检查与该目标相关的其他警示。

Watchdog

这是一个警示,用于确保整个警示管道正常运行。此警示始终处于触发状态。因此,它应始终在“警示管理器”中针对接收器触发。有各种通知机制的集成,可在此警示未触发时通知您。例如,PagerDuty 中的 DeadMansSnitch 集成。

kubernetes-apps

KubePodCrashLooping

不断意外重启的 Pod。发生这种情况的原因可能是内存不足 (OOM) 错误,在这种情况下,可以调整限制。使用 kubectl describe 检查 Pod 事件,并使用 kubectl logs 检查日志,以查看有关可能崩溃的详细信息。如果问题仍然存在,请联系 UiPath™ 支持团队。

KubePodNotReady

Pod 已启动,但未成功响应运行状况探测器。这可能意味着它卡住了,无法提供流量。您可以使用 kubectl logs 检查 Pod 日志,以查看是否有任何进度指示。如果问题仍然存在,请联系 UiPath™ 支持团队。

KubeDeploymentGenerationMismatch, KubeStatefulSetGenerationMismatch

已尝试对部署或状态副本集进行更新,但失败了,并且尚未发生回滚。请联系 UiPath™ 支持团队。

KubeDeploymentReplicasMismatch, KubeStatefulSetReplicasMismatch

在具有多个副本的高可用性集群中,当副本数量不是最佳时,将触发此警示。当集群中没有足够的资源进行计划时,可能会发生这种情况。检查资源利用率,并根据需要添加容量。否则,请联系 UiPath™ 支持团队。

KubeStatefulSetUpdateNotRolledOut

状态副本集更新失败。请联系 UiPath™ 支持团队。

另请参阅:有状态副本集

KubeDaemonSetRolloutStuck

守护程序集推出失败。请联系 UiPath™ 支持团队。

另请参阅:守护程序集

KubeContainerWaiting

容器卡在等待状态。它已计划到工作器节点,但无法在该计算机上运行。查看 Pod 的 kubectl describe 以获取更多信息。等待容器的最常见原因是拉取映像失败。对于离线集群,这可能意味着本地注册表不可用。如果问题仍然存在,请联系 UiPath™ 支持团队。

KubeDaemonSetNotScheduled, KubeDaemonSetMisScheduled

这可能表明其中一个节点存在问题,检查每个节点的运行状况,并修复任何已知问题。否则,请联系 UiPath™ 支持团队。

KubeJobCompletion

完成一项作业需要超过 12 个小时。这不是预期的。请联系 UiPath™ 支持团队。

KubeJobFailed

作业失败;但是,大多数作业都会自动重试。如果问题仍然存在,请联系 UiPath™ 支持团队。

KubeHpaReplicasMismatch

自动调节程序无法按配置扩展目标资源。如果期望值高于实际值,则可能是资源不足。如果期望值低于实际值,则 Pod 可能会在关闭时卡住。如果问题仍然存在,请联系 UiPath™ 支持团队。

KubeHpaMaxedOut

给定服务的副本数量已达到最大值。当对集群发出的请求数量非常多时,就会发生这种情况。如果预计会有暂时的高流量,您可以静默此警示。但是,此警示表示集群已满,无法处理更多流量。如果集群上有更多资源容量可用,您可以按照以下说明增加服务的最大副本数:

# Find the horizontal autoscaler that controls the replicas of the desired resource
kubectl get hpa -A
# Increase the number of max replicas of the desired resource, replacing <namespace> <resource> and <maxReplicas>
kubectl -n <namespace> patch hpa <resource> --patch '{"spec":{"maxReplicas":<maxReplicas>}}'# Find the horizontal autoscaler that controls the replicas of the desired resource
kubectl get hpa -A
# Increase the number of max replicas of the desired resource, replacing <namespace> <resource> and <maxReplicas>
kubectl -n <namespace> patch hpa <resource> --patch '{"spec":{"maxReplicas":<maxReplicas>}}'

另请参阅:水平 Pod 自动调节

kubernetes-resources

KubeCPUOvercommit, KubeMemoryOvercommit

这些警告表明集群不能容忍节点故障。对于单节点评估集群,这是已知的,并且系统可能会静默这些警示。对于多节点 HA 就绪生产设置,当太多节点运行状况不佳而无法支持高可用性时,将触发这些警示,并指示应将节点恢复正常状态或进行更换。

KubeCPUQuotaOvercommit, KubeMemoryQuotaOvercommit, KubeQuotaAlmostFull, KubeQuotaFullyUsed, KubeQuotaExceeded

这些警示与通过自定义添加的命名空间资源配额有关,这些配额仅存在于集群中。命名空间资源配额不会作为 Automation Suite 安装的一部分添加。

另请参阅:资源配额

CPUThrottlingHigh

已根据配置的限制限制容器的 CPU 利用率。这是 Kubernetes 正常操作的一部分,可能会在触发其他警示时提供有用的信息。您可以静默此警示。

Kubernetes-storage

KubePersistentVolumeFillingUp

警告:可用空间少于 30%,可能会在四天内填满。

“严重”:可用空间小于 10%。

对于空间不足的任何服务,数据可能难以恢复,因此应在可用空间达到 0% 之前调整卷的大小。

有关说明,请参阅 配置集群

对于特定于 Prometheus 的警示,请参阅 Prometheus 存储 使用情况以获取更多详细信息和说明。

KubePersistentVolumeErrors

无法配置持久卷。这意味着任何需要该卷的服务都不会启动。检查 Longhorn 和/或 Ceph 存储是否存在其他错误,并联系 UiPath™ 支持团队。

kube-state-metrics

KubeStateMetricsListErrors, KubeStateMetricsWatchErrors

Kube 状态指标收集器无法在没有错误的情况下从集群收集指标。这意味着可能不会触发重要的警示。请联系 UiPath™ 支持团队。

kubernetes-system-apiserver

KubeClientCertificateExpiration

Warning:用于对 Kubernetes API 服务器进行身份验证的客户端证书将在七天内过期。

Critical:用于对 Kubernetes API 服务器进行身份验证的客户端证书将在一天内过期。

您必须续订证书。

AggregatedAPIErrors, AggregatedAPIDown, KubeAPIDown, KubeAPITerminatedRequests

指示 Kubernetes 控制平面存在问题。检查主节点的运行状况,解决所有未解决的问题,如果问题持续存在,请联系 UiPath™ 支持团队。

另请参阅:

KubernetesApiServerErrors

此警示表示 Kubernetes API 服务器的错误率很高。 此问题可能会导致其他故障,因此建议您主动调查此问题。

使用kubectl logs <pod-name> -n kube-system命令检查api-server Pod 的日志,以找出问题的根本原因。

kubernetes-system-kubelet

KubeNodeNotReady, KubeNodeUnreachable, KubeNodeReadinessFlapping, KubeletPlegDurationHigh, KubeletPodStartUpLatencyHigh, KubeletDown

这些警示表示节点存在问题。在多节点 HA 就绪生产集群中,系统可能会将 Pod 重新安排在其他节点上。如果问题仍然存在,则应删除并排空节点,以保持集群的良好运行状况。在没有额外容量的集群中,应首先将另一个节点加入集群。

KubeletTooManyPods

指定节点上运行的 Pod 过多。

KubeletClientCertificateExpiration, KubeletServerCertificateExpiration

Warning:Kubelet 的客户端或服务器证书将在七天内过期。

Critical:Kubelet 的客户端或服务器证书将在一天内过期。

您必须续订证书。

KubeletClientCertificateRenewalErrors, KubeletServerCertificateRenewalErrors

Kubelet 无法续订其客户端或服务器证书。请联系 UiPath™ 支持团队。

kubernetes-system

KubeVersionMismatch

正在运行的 Kubernetes 组件有不同的语义版本。发生这种情况的原因可能是 Kubernetes 升级失败。

KubeClientErrors

Kubernetes API 服务器客户端遇到超过 1% 的错误。运行此客户端的节点或 Kubernetes API 服务器本身可能存在问题。

KubernetesMemoryPressure

此警示表示 Kubernetes 节点上的内存使用率非常高。

如果触发此警示,请尝试查看哪个 Pod 消耗的内存更多。

KubernetesDiskPressure

此警示表示 Kubernetes 节点上的磁盘使用率非常高。

如果触发此警示,请尝试查看哪个 Pod 消耗的磁盘更多。

Kube-apiserver-slos

KubeAPIErrorBudgetBurn

Kubernetes API 服务器消耗了过多的错误预算。

node-exporter

NodeFilesystemSpaceFillingUp、NodeFilesystemAlmostOutOfSpace、NodeFilesystemFilesFillingUp

特定节点上的文件系统正在填满。通过添加磁盘或装载未使用的磁盘来配置更多空间。

NodeRAIDDegraded

由于一个或多个磁盘故障,容错式磁盘阵列处于降级状态。备用驱动器的数量

不足以自动修复问题。

NodeRAIDDiskFailure

需要注意容错式磁盘阵列,可能还需要进行磁盘交换。

NodeNetworkReceiveErrs, NodeNetworkTransmitErrs, NodeHighNumberConntrackEntriesUsed

节点上的物理网络接口有问题。如果问题仍然存在,则可能需要更换。

NodeClockSkewDetected, NodeClockNotSynchronising

节点上的时钟有问题。确保 NTP 配置正确。

node-network

NodeNetworkInterfaceFlapping

节点上的物理网络接口有问题。如果问题仍然存在,则可能需要更换。

InternodeCommunicationBroken

由于某些问题导致集群中节点之间的通信中断,节点已变得无响应。

要解决此问题,请重新启动受影响的节点。 如果问题仍然存在,请使用支持捆绑包工具联系 UiPath™ 支持团队。

uipath.prometheus.resource.provisioning.alerts

PrometheusMemoryUsage, PrometheusStorageUsage

当集群接近配置的内存和存储限制时,这些警示会发出警告。 这可能发生在最近使用量大幅增加的集群上(通常来自机器人而不是用户),或者在未调整 Prometheus 资源的情况下将节点添加到集群中时。 这是因为要收集的指标数量增加。

可以在 Kubernetes/持久卷仪表板上看到存储利用率的提高率:



您可以按照此处的说明,通过调整 PVC 的大小来调整 PVC: 配置集群

可以在 Kubernetes/计算资源/Pod 仪表板上看到内存利用率的增加率。



您可以通过在 ArgoCD 的 rancher-monitoring 应用程序中编辑 Prometheus 内存资源限制来进行调整。单击“保存”后,rancher-monitoring 应用程序将自动重新同步。



请注意,Prometheus 需要一些时间才能重新启动并再次开始在 Grafana 中显示指标。通常情况下,耗时不到 10 分钟,即使是大型集群也不例外。

alertmanager.rules

AlertmanagerConfigInconsistent

这些是具有多个警示管理器副本的 HA 集群的内部警示管理器错误。警示可能会间歇性地出现和消失。暂时缩小规模,然后扩大警示管理器副本可能会解决此问题。

要解决此问题,请执行以下步骤:

  1. 缩放至零。请注意,Pod 需要一段时间才能关闭:

    kubectl scale statefulset -n cattle-monitoring-system alertmanager-rancher-monitoring-alertmanager --replicas=0kubectl scale statefulset -n cattle-monitoring-system alertmanager-rancher-monitoring-alertmanager --replicas=0
  2. 缩小到 2:

    kubectl scale statefulset -n cattle-monitoring-system alertmanager-rancher-monitoring-alertmanager --replicas=2kubectl scale statefulset -n cattle-monitoring-system alertmanager-rancher-monitoring-alertmanager --replicas=2
  3. 检查 Alertmanager Pod 是否已启动以及是否处于正在运行状态:

    kubectl get po -n cattle-monitoring-systemkubectl get po -n cattle-monitoring-system

如果问题仍然存在,请联系 UiPath™ 支持团队。

AlertmanagerFailedReload

警示管理器加载或重新加载配置失败。请检查任何自定义警示管理器配置中是否存在输入错误,否则请联系 UiPath™ 支持团队。

prometheus-operator

PrometheusOperatorListErrors, PrometheusOperatorWatchErrors, PrometheusOperatorSyncFailed, PrometheusOperatorReconcileErrors, PrometheusOperatorNodeLookupErrors, PrometheusOperatorNotReady, PrometheusOperatorRejectedResources

控制 Prometheus 资源的 Prometheus 运算符的内部错误。存在这些错误时,Prometheus 本身可能仍然运行良好;但是,此错误表示监控可配置性下降。请联系 UiPath™ 支持团队。

Prometheus

PrometheusBadConfig

Prometheus 加载或重新加载配置失败。请检查任何自定义 Prometheus 配置是否存在输入错误。否则,请联系 UiPath™ 支持团队。

PrometheusErrorSendingAlertsToSomeAlertmanagers, PrometheusErrorSendingAlertsToAnyAlertmanager, PrometheusNotConnectedToAlertmanagers

从 Prometheus 到警示管理器的连接不正常。指标仍可查询,并且 Grafana 仪表板可能仍会显示指标,但不会触发警示。检查警示管理器的任何自定义配置是否存在输入错误,否则请联系 UiPath™ 支持团队。

PrometheusNotificationQueueRunningFull, PrometheusTSDBReloadsFailing, PrometheusTSDBCompactionsFailing, PrometheusNotIngestingSamples, PrometheusDuplicateTimestamps, PrometheusOutOfOrderTimestamps, PrometheusRemoteStorageFailures, PrometheusRemoteWriteBehind, PrometheusRemoteWriteDesiredShards

表示可能无法按预期收集指标的内部 Prometheus 错误。请联系 UiPath™ 支持团队。

PrometheusRuleFailures

如果存在基于不存在的指标或不正确的 PromQL 语法的格式错误警示,则可能会发生这种情况。如果未添加自定义警示,请联系 UiPath™ 支持团队。

PrometheusMissingRuleEvaluations

Prometheus 无法评估是否应触发警示。如果警示太多,可能会发生这种情况。请删除昂贵的自定义警示评估和/或查看有关增加 Prometheus CPU 限制的文档。如果未添加自定义警示,请联系 UiPath™ 支持团队。

PrometheusTargetLimitHit

Prometheus 要收集的目标过多。如果添加了额外的 ServiceMonitor(请参阅监控控制台),您可以将其删除。

uipath.availability.alerts

UiPathAvailabilityHighTrafficUserFacing, UiPathAvailabilityHighTrafficBackend, UiPathAvailabilityMediumTrafficUserFacing, UiPathAvailabilityMediumTrafficBackend, UiPathAvailabilityLowTrafficUserFacing, UiPathAvailabilityLowTrafficBackend

来自 UiPath™ 服务的 HTTP 500 响应数量超过给定阈值。

流量级别

20 分钟内的请求数

错误阈值(适用于 HTTP 500)

>100,000

0.1%

10,000 到 100,000 之间

1%

< 10,000

5%

面向用户的服务中的错误可能会导致可在 Automation Suite 用户界面中直接观察到的功能降级,而后端服务中的错误则不会产生明显的后果。

警示会指明哪个服务的错误率较高。要了解报告服务所依赖的其他服务可能存在哪些级联问题,您可以使用 Istio 工作负载仪表板,该仪表板会显示服务之间的错误。

请仔细检查所有最近重新配置的 Automation Suite 产品。还可以使用 kubectl logs 命令获取详细日志。如果错误仍然存在,请联系 UiPath™ 支持团队。

uipath.cronjob.alerts.rules

CronJobSuspended

uipath-infra/istio-configure-script-cronjob cronjob 处于挂起状态。

要解决此问题,请执行以下步骤来启用 cronjob:

export KUBECONFIG="/etc/rancher/rke2/rke2.yaml" && export PATH="$PATH:/usr/local/bin:/var/lib/rancher/rke2/bin"
kubectl -n uipath-infra patch cronjob istio-configure-script-cronjob -p '{"spec":{"suspend":false}}'
epoch=$(date +"%s")
kubectl -n uipath-infra create job istio-configure-script-cronjob-manual-$epoch --from=cronjob/istio-configure-script-cronjob
kubectl -n uipath-infra wait --for=condition=complete --timeout=300s job/istio-configure-script-cronjob-manual-$epoch
kubectl get node -o wide
#Verify if all the IP's listed by the above command are part of output of below command
kubectl -n istio-system get svc istio-ingressgateway -o json | jq '.spec.externalIPs'export KUBECONFIG="/etc/rancher/rke2/rke2.yaml" && export PATH="$PATH:/usr/local/bin:/var/lib/rancher/rke2/bin"
kubectl -n uipath-infra patch cronjob istio-configure-script-cronjob -p '{"spec":{"suspend":false}}'
epoch=$(date +"%s")
kubectl -n uipath-infra create job istio-configure-script-cronjob-manual-$epoch --from=cronjob/istio-configure-script-cronjob
kubectl -n uipath-infra wait --for=condition=complete --timeout=300s job/istio-configure-script-cronjob-manual-$epoch
kubectl get node -o wide
#Verify if all the IP's listed by the above command are part of output of below command
kubectl -n istio-system get svc istio-ingressgateway -o json | jq '.spec.externalIPs'

UiPath CronJob“kerberos-tgt-refresh”失败

此作业从 AD Server 获取最新的 Kerberos 票证,以进行 SQL 集成身份验证。此作业失败将导致 SQL Server 身份验证失败。请联系 UiPath™ 支持团队。

IdentityKerberosTgtUpdateFailed

此作业将最新的 Kerberos 票证更新为所有 UiPath™ 服务。此作业失败将导致 SQL Server 身份验证失败。请联系 UiPath™ 支持团队。

Ceph 警示

CephClusterNearFull

此警示表示 Ceph 存储集群利用率已超过 75%,将在 85% 时变为只读状态。

如果触发此警示,请通过删除 AI Center 或 Task Mining 中一些未使用的数据集,在 CEPH 中释放一些空间,或者按照调整 PVC 大小中的说明扩展可用于 Ceph PVC 的存储。

在调整 PVC 的大小之前,请确保您满足存储要求。 有关详细信息,请参阅 评估存储需求

CephClusterCriticallyFull

此警示表示 Ceph 存储集群利用率已超过 80%,将在 85% 时变为只读状态。

如果触发此警示,请通过删除 AI Center 或 Task Mining 中一些未使用的数据集,在 CEPH 中释放一些空间,或者按照调整 PVC 大小中的说明扩展可用于 Ceph PVC 的存储。

在调整 PVC 的大小之前,请确保您满足存储要求。 有关详细信息,请参阅 评估存储需求

CephClusterReadOnly

此警示表示 Ceph 存储集群利用率已超过 85%,现在将变为只读状态。 请立即释放一些空间或扩展存储集群。

如果触发此警示,请通过删除 AI Center 或 Task Mining 中一些未使用的数据集,在 CEPH 中释放一些空间,或者按照调整 PVC 大小中的说明扩展可用于 Ceph PVC 的存储。

在调整 PVC 的大小之前,请确保您满足存储要求。 有关详细信息,请参阅 评估存储需求

CephPoolQuotaBytesCriticallyExhausted

此警示表示 Ceph 存储池使用率已超过 90%。

如果触发此警示,请通过删除 AI Center 或 Task Mining 中一些未使用的数据集,在 CEPH 中释放一些空间,或者按照调整 PVC 大小中的说明扩展可用于 Ceph PVC 的存储。

在调整 PVC 的大小之前,请确保您满足存储要求。 有关详细信息,请参阅 评估存储需求

CephClusterErrorState

此警示表示 Ceph 存储集群处于错误状态的时间已超过 10m。

此警示反映rook-ceph-mgr作业处于错误状态的时间过长。 检查在此警示之前可能已触发的其他警示,并首先对其进行故障排除。

CephMonQuorumAtRisk

此警示表示存储集群仲裁人数不足。

多个 mon 协同工作以提供冗余;这是可能的,因为每个人都保留了元数据的副本。 集群部署了 3 个 mon,并且需要 2 个或更多 mon 启动并运行,才能使仲裁和存储操作运行。 如果仲裁丢失,则对数据的访问存在风险。

如果触发此警示,请检查是否存在任何 OSD 处于终止状态,如果有,请强制删除这些 Pod,并等待一段时间以便运算符进行协调。 如果问题仍然存在,请联系 UiPath™ 支持团队。

CephOSDCriticallyFull

当警示严重性为 Critical 时,可用空间小于 20%。

对于空间不足的任何服务,数据可能难以恢复,因此应在可用空间达到 10% 之前调整卷的大小。请参阅以下说明:配置集群

uipath.requestrouting.alerts

UiPathRequestRouting

请求路由层中的错误会导致功能降级,这可以直接在 Automation Suite 用户界面中观察到。 请求不会路由到后端服务。

您可以通过在 Istio 入口网关 Pod 中运行kubectl logs命令来查找请求路由的详细错误日志。如果错误仍然存在,请联系 UiPath™ 支持团队。

RabbitmqNodeDown

此警示表示 RabbitMQ 集群中正在运行的节点少于 3 个。

使用 kubectl logs <pod-name> -n <namespace> 命令检查哪个 RabbitMQ Pod 已关闭要解决此问题,请使用 kubectl delete pod <pod-name> -n <namespace> 命令删除该 Pod,并在新 Pod 启动后再次检查。

服务器 TLS 证书警示

SecretCertificateExpiry30Days

此警示表示服务器 TLS 证书将在接下来的 30 天内过期。

要解决此问题,请更新服务器 TLS 证书。 有关说明,请参阅 管理服务器证书

SecretCertificateExpiry7Days

此警示表示服务器 TLS 证书将在接下来的 7 天内过期。

要解决此问题,请更新 TLS 证书。有关说明,请参阅管理服务器证书

身份令牌签名证书警示

IdentityCertificateExpiry30Days

此警示表示身份令牌签名证书将在接下来的 30 天内过期。

要解决此问题,请更新身份令牌签名证书。有关说明,请参阅管理服务器证书

IdentityCertificateExpiry7Days

此警示表示身份令牌签名证书将在接下来的 7 天内过期。

要解决此问题,请更新身份令牌签名证书。有关说明,请参阅管理服务器证书

etdc 警示

EtcdInsufficientMembers

此警示表示 etcd 集群的成员数量不足。 请注意,集群必须具有奇数个成员。 此警示的严重性非常严重。

确保集群中有奇数个服务器节点,并且所有节点都正常运行。

EtcdNoLeader

此警示显示 etcd 集群没有领导者。 此警示的严重性非常严重。

EtcdHighNumberOfLeaderChanges

此警示表示 etcd 领导者在 10 分钟内更改了两次以上。 这是一个警告。

EtcdHighNumberOfFailedGrpcRequests

此警示表示在 etcd 中检测到一定百分比的 GRPC 请求失败。

EtcdGrpcRequestsSlow

此警示表示 etcd GRPC 请求速度很慢。 这是一个警告。

EtcdHighNumberOfFailedHttpRequests

此警示表示在 etcd 中检测到一定百分比的 HTTP 失败。

EtcdHttpRequestsSlow

此警示表示 HTTP 请求速度减慢。 这是一个警告。

EtcdMemberCommunicationSlow

此警示表示 etcd 成员通信速度变慢。 这是一个警告。

EtcdHighNumberOfFailedProposals

此警示表示 etcd 服务器在过去一小时内收到了超过 5 个失败的提议。 这是一个警告。

EtcdHighFsyncDurations

此警示表示 etcd WAL fsync 持续时间正在增加。 这是一个警告。

EtcdHighCommitDurations

此警示表示 etcd 提交持续时间正在增加。 这是一个警告。

磁盘大小警示

LowDiskForRancherPartition

此警示表示/var/lib/rancher分区的可用空间小于:
  • 35% – 警示的严重性为警告
  • 25% – 警示的严重性非常严重

如果触发此警示,请增加磁盘大小。

LowDiskForKubeletPartition

此警示表示/var/lib/kubelet分区的可用空间小于:
  • 35% – 警示的严重性为警告
  • 25% – 警示的严重性非常严重

    如果触发此警示,请增加磁盘大小。

LowDiskForLonghornPartition

此警示表示 Longhorn 磁盘的可用空间小于:

  • 35% – 警示的严重性为警告
  • 25% – 警示的严重性非常严重

如果触发此警示,请增加磁盘大小。

LowDiskForVarPartition

此警示表示/var分区的可用空间小于:
  • 35% – 警示的严重性为警告
  • 25% – 警示的严重性非常严重

如果触发此警示,请增加磁盘大小。

备份警示

NFSServerDisconnected

此警示表示 NFS 服务器连接已丢失。

您需要检查 NFS 服务器连接和装载路径。

VolumeBackupFailed

此警示表示 PVC 的备份失败。

BackupDisabled

此警示表示备份已禁用。

您需要检查集群是否运行状况不佳。

longhorn-snapshot-alert

如果 Longhorn 创建的备份或快照对象的累积数量过多,您可能会遇到以下警示之一:

要修复导致触发这些警示的问题,请运行以下脚本:

#!/bin/bash
set -e

# longhorn backend URL
url=
# By default, snapshot older than 10 days will be deleted
days=-1

function display_usage() {
	echo "usage: $(basename "$0") [-h] -u longhorn-url -d days"
	echo "  -u	Longhorn URL"
	echo "  -d 	Number of days(should be >0). By default, script will delete snapshot older than 10 days."
	echo "  -h	Print help"
}

while getopts 'hd:u:' flag "$@"; do
	case "${flag}" in
		u)
			url=${OPTARG}
			;;
		d)
			days=${OPTARG}
			[ "$days" ] && [ -z "${days//[0-9]}" ] || { echo "Invalid number of days=$days"; exit 1; }
			;;
		h)
			display_usage
			exit 0
			;;
		:)
			echo "Invalid option: ${OPTARG} requires an argument."
			exit 1
			;;
		*)
			echo "Unexpected option ${flag}"
			exit 1
			;;
	esac
done

[[ -z "$url" ]] && echo "Missing longhorn URL" && exit 1

# check if URL is valid
curl -s --connect-timeout 30 ${url}/v1 >> /dev/null || { echo "Unable to connect to longhorn backend"; exit 1; }

echo "Deleting snapshots older than $days days"

# Fetch list of longhorn volumes
vols=$( (curl -s -X GET ${url}/v1/volumes |jq -r '.data[].name') )

#delete given snapshot for given volume
function delete_snapshot() {
	local vol=$1
	local snap=$2

	[[ -z "$vol" || -z "$snap" ]] && echo "Error: delete_snapshot: Empty argument" && return 1
	curl -s -X POST ${url}/v1/volumes/${vol}?action=snapshotDelete -d '{"name": "'$snap'"}' >> /dev/null
	echo "Snapshot=$snap deleted for volume=$vol"
}

#perform cleanup for given volume
function cleanup_volume() {
	local vol=$1
	local deleted_snap=0

	[[ -z "$vol" ]] && echo "Error: cleanup_volume: Empty argument" && return 1

	# fetch list of snapshot
	snaps=$( (curl -s -X POST ${url}/v1/volumes/${vol}?action=snapshotList | jq  -r '.data[] | select(.usercreated==true) | .name' ) )
	for i in ${snaps[@]}; do
		echo $i
		if [[ $i == "volume-head" ]]; then
			continue
		fi

		# calculate date difference for snapshot
		snapTime=$(curl -s -X POST ${url}/v1/volumes/${vol}?action=snapshotGet -d '{"name":"'$i'"}' |jq -r '.created')
		currentTime=$(date "+%s")
		timeDiff=$((($(date -d $snapTime "+%s") - $currentTime) / 86400))
		if [[ $timeDiff -lt $days ]]; then
			echo "Ignoring snapshot $i, since it is older than $timeDiff days"
			continue
		fi

		#trigger deletion for snapshot
		delete_snapshot $vol $i
		deleted_snap=$((deleted_snap+1))
	done

	if [[ "$deleted_snap" -gt 0 ]]; then
		#trigger purge for volume
		curl -s -X POST ${url}/v1/volumes/${vol}?action=snapshotPurge >> /dev/null
	fi

}

for i in ${vols[@]}; do
	cleanup_volume $i
done#!/bin/bash
set -e

# longhorn backend URL
url=
# By default, snapshot older than 10 days will be deleted
days=-1

function display_usage() {
	echo "usage: $(basename "$0") [-h] -u longhorn-url -d days"
	echo "  -u	Longhorn URL"
	echo "  -d 	Number of days(should be >0). By default, script will delete snapshot older than 10 days."
	echo "  -h	Print help"
}

while getopts 'hd:u:' flag "$@"; do
	case "${flag}" in
		u)
			url=${OPTARG}
			;;
		d)
			days=${OPTARG}
			[ "$days" ] && [ -z "${days//[0-9]}" ] || { echo "Invalid number of days=$days"; exit 1; }
			;;
		h)
			display_usage
			exit 0
			;;
		:)
			echo "Invalid option: ${OPTARG} requires an argument."
			exit 1
			;;
		*)
			echo "Unexpected option ${flag}"
			exit 1
			;;
	esac
done

[[ -z "$url" ]] && echo "Missing longhorn URL" && exit 1

# check if URL is valid
curl -s --connect-timeout 30 ${url}/v1 >> /dev/null || { echo "Unable to connect to longhorn backend"; exit 1; }

echo "Deleting snapshots older than $days days"

# Fetch list of longhorn volumes
vols=$( (curl -s -X GET ${url}/v1/volumes |jq -r '.data[].name') )

#delete given snapshot for given volume
function delete_snapshot() {
	local vol=$1
	local snap=$2

	[[ -z "$vol" || -z "$snap" ]] && echo "Error: delete_snapshot: Empty argument" && return 1
	curl -s -X POST ${url}/v1/volumes/${vol}?action=snapshotDelete -d '{"name": "'$snap'"}' >> /dev/null
	echo "Snapshot=$snap deleted for volume=$vol"
}

#perform cleanup for given volume
function cleanup_volume() {
	local vol=$1
	local deleted_snap=0

	[[ -z "$vol" ]] && echo "Error: cleanup_volume: Empty argument" && return 1

	# fetch list of snapshot
	snaps=$( (curl -s -X POST ${url}/v1/volumes/${vol}?action=snapshotList | jq  -r '.data[] | select(.usercreated==true) | .name' ) )
	for i in ${snaps[@]}; do
		echo $i
		if [[ $i == "volume-head" ]]; then
			continue
		fi

		# calculate date difference for snapshot
		snapTime=$(curl -s -X POST ${url}/v1/volumes/${vol}?action=snapshotGet -d '{"name":"'$i'"}' |jq -r '.created')
		currentTime=$(date "+%s")
		timeDiff=$((($(date -d $snapTime "+%s") - $currentTime) / 86400))
		if [[ $timeDiff -lt $days ]]; then
			echo "Ignoring snapshot $i, since it is older than $timeDiff days"
			continue
		fi

		#trigger deletion for snapshot
		delete_snapshot $vol $i
		deleted_snap=$((deleted_snap+1))
	done

	if [[ "$deleted_snap" -gt 0 ]]; then
		#trigger purge for volume
		curl -s -X POST ${url}/v1/volumes/${vol}?action=snapshotPurge >> /dev/null
	fi

}

for i in ${vols[@]}; do
	cleanup_volume $i
done

LonghornBackupObjectThresholdExceededWarn

此警示表示 Longhorn 在系统中创建的备份对象的累积数量正在增加,这可能会导致潜在的停机。这是一个警告。

当 Longhorn 备份计数大于或等于 150 且小于 200 时,会触发此警示。

LonghornBackupObjectThresholdExceededCritical

此警示表示 Longhorn 在系统中创建的备份对象的累积数量正在增加,这可能会导致潜在的停机。这是一个严重警示。

当 Longhorn 备份计数大于或等于 200 且小于 240 时,会触发此警示。

LonghornSnapshotObjectThresholdExceededWarn

此警示表示 Longhorn 在系统中创建的快照对象的累积数量正在增加,这可能会导致潜在的停机。这是一个警告。

如果快照计数大于或等于 150 且小于 200,会触发此警示。

LonghornSnapshotObjectThresholdExceededCritical

此警示表示 Longhorn 在系统中创建的快照对象的累积数量正在增加,这可能会导致潜在的停机。这是一个严重警示。

如果快照计数大于或等于 200 且小于 240,会触发此警示。

此页面是否有帮助?

获取您需要的帮助
了解 RPA - 自动化课程
UiPath Community 论坛
Uipath 白色徽标
信任与安全
© 2005-2024 UiPath. All rights reserved.