Automation Suite
2022.10
アラートの Runbook - Automation Suite 2022.10
Banner background image
ロゴ
Automation Suite インストール ガイド
最終更新日 2024年2月12日

アラートの Runbook

注:
  • アラート、メトリック、可視化に利用可能なツールの使用に関する一般的な説明については、「監視スタックを使用する」をご覧ください。
  • 問題の解決方法、および UiPath サポート エンジニア向けのサポート バンドルの作成方法の詳細については、「トラブルシューティング」をご覧ください。
  • UiPath サポートへのご連絡の際は、現在発生しているアラートを含めてください。

アラートの重要度キー

アラートの重要度

説明

Info

予期しない状況が発生しましたが、害はありません。このアラートは抑制できますが、診断時に役立つ可能性があります。

Warning

ターゲットとなる機能低下や、近い将来に機能低下が発生する可能性があることを示します。この機能低下はクラスター全体に影響する可能性があります。クラスターを正常に維持するため、迅速な措置 (通常は数日以内) が推奨されます。

Critical

多くの場合、クラスター内の広範囲に及ぶ深刻な機能低下を引き起こすことが知られています。即座に措置 (当日) を講じてクラスターを修復する必要があります。

general.rules

TargetDown

このアラート時には、Prometheus がターゲットからメトリックを収集できません。つまり、Grafana ダッシュボード、およびターゲットからのメトリックに基づくその他のアラートが利用できません。ターゲットに関係のあるその他のアラートを確認してください。

Watchdog

警告しているパイプライン全体が機能していることを確認するためのアラートです。このアラートは常に発生しています。したがって、このアラートは常に AlertManager で受信者に対して通知されます。このアラートが発生していないときに通知する各種通知メカニズムと連携しています(例: PagerDuty の DeadMansSnitch との連携)。

kubernetes-apps

KubePodCrashLooping

予期せず再起動を繰り返すポッドです。メモリ不足 (OOM) エラーが原因で発生する可能性があり、その場合には制限を調整できます。kubectl describe でポッド イベントをチェックし、kubectl logs でログを記録して考えられるクラッシュの詳細を確認します。問題が解決しない場合は UiPath サポートにお問い合わせください。

KubePodNotReady

ポッドは起動していますが、正常性プローブに応答できていません。ポッドがスタックし、トラフィックを処理できないことを意味している可能性があります。kubectl logs でポッド ログをチェックして、進展がないか確認できます。問題が解決しない場合は UiPath サポートにお問い合わせください。

KubeDeploymentGenerationMismatch, KubeStatefulSetGenerationMismatch

デプロイまたはステートフルセットの更新が試行されていますが、失敗しており、ロールバックがまだ発生していません。UiPath サポートにお問い合わせください。

KubeDeploymentReplicasMismatch, KubeStatefulSetReplicasMismatch

複数のレプリカを持つ高可用性クラスターでは、レプリカの数が最適でない場合に、このアラートが発生します。クラスター内にスケジュールするためのリソースが十分にない場合に発生する可能性があります。リソースの使用状況をチェックし、必要に応じて容量を追加します。それ以外の場合は、UiPath サポートにお問い合わせください。

KubeStatefulSetUpdateNotRolledOut

ステートフルセットの更新に失敗しました。UiPath サポートにお問い合わせください。

StatefulSets」もご覧ください。

KubeDaemonSetRolloutStuck

デーモンセットのロールアウトに失敗しました。UiPath サポートにお問い合わせください。

DaemonSet」もご覧ください。

KubeContainerWaiting

待機中のステートでコンテナーがスタックしています。ワーカー ノードにスケジュールされていますが、そのマシン上で実行できません。詳細については、ポッドの kubectl describe をチェックしてください。コンテナーが待機中になる最も一般的な原因は、イメージのプルの失敗です。エアギャップ クラスターの場合は、ローカル レジストリが利用できないことを意味している可能性があります。問題が解決しない場合は UiPath サポートにお問い合わせください。

KubeDaemonSetNotScheduled, KubeDaemonSetMisScheduled

いずれかのノードの問題を示している可能性があります。各ノードの正常性をチェックし、既知の問題を修正してください。それ以外の場合は、UiPath サポートにお問い合わせください。

KubeJobCompletion

ジョブの完了までの時間が 12 時間を超えています。これは想定外です。UiPath サポートにお問い合わせください。

KubeJobFailed

ジョブが失敗しましたが、ほとんどのジョブは自動的にリトライされます。問題が解決しない場合は UiPath サポートにお問い合わせください。

KubeHpaReplicasMismatch

オートスケーラーがターゲットのリソースを構成どおりにスケーリングできません。実際の値よりも要求値のほうが大きい場合は、リソース不足の可能性があります。実際の値よりも要求値のほうが小さい場合は、シャットダウン中にポッドがスタックしている可能性があります。問題が解決しない場合は UiPath サポートにお問い合わせください。

Horizontal Pod Autoscaling」もご覧ください。

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>}}'

Horizontal Pod Autoscaling」もご覧ください。

kubernetes-resources

KubeCPUOvercommit, KubeMemoryOvercommit

これらの警告は、クラスターがノードの障害に耐えられないことを示しています。シングルノードの評価クラスターの場合、これは既知であり、これらのアラートは抑制できます。マルチノードの HA 対応の運用環境の設定の場合、あまりにも多くのノードが異常になって高可用性をサポートできないときにこれらのアラートが発生し、ノードを正常に戻すか交換する必要があることを示します。

KubeCPUQuotaOvercommit, KubeMemoryQuotaOvercommit, KubeQuotaAlmostFull, KubeQuotaFullyUsed, KubeQuotaExceeded

これらのアラートは、カスタマイズを通じて追加された場合にのみクラスターに存在する、名前空間のリソース クォータに関連します。名前空間のリソース クォータは、Automation Suite のインストールの一環として追加されません。

リソース クォータ」もご覧ください。

CPUThrottlingHigh

設定された制限に従って、コンテナーの CPU 使用率がスロットリングされています。これは通常の Kubernetes 動作の一部であり、他のアラートの発生時に役立つ情報を提供できます。このアラートは抑制できます。

Kubernetes-storage

KubePersistentVolumeFillingUp

Warning の場合: 利用可能な領域が 30% を下回っており、4 日以内に満杯になる可能性があります。

Critical の場合: 利用可能な領域が 10% を下回っています。

サービスで領域を使い果たした場合、データの復元が困難になる可能性があります。したがって、利用可能な領域が 0% に達する前にボリュームのサイズを変更する必要があります。

手順については、「クラスターを構成する」をご覧ください。

Prometheus 固有のアラートに関する詳細および手順については「PrometheusStorageUsage」をご覧ください。

KubePersistentVolumeErrors

PersistentVolume をプロビジョニングできません。これは、ボリュームを必要とするサービスが開始されないことを意味します。Longhorn や Ceph のストレージでその他のエラーが発生していないかご確認のうえ、UiPath サポートにお問い合わせください。

kube-state-metrics

KubeStateMetricsListErrors, KubeStateMetricsWatchErrors

kube-state-metrics コレクターがクラスターからメトリックを収集しようとすると必ずエラーが発生します。これは、重要なアラートが発生しない可能性があることを意味します。UiPath サポートにお問い合わせください。

公開中の kube-state-metrics もご覧ください。

kubernetes-system-apiserver

KubeClientCertificateExpiration

Warning の場合: Kubernetes API サーバーへの認証に使用されるクライアント証明書の有効期限が残り 7 日を切りました。

Critical の場合: Kubernetes API サーバーへの認証に使用されるクライアント証明書の有効期限が残り 1 日を切りました。

証明書を更新する必要があります。

AggregatedAPIErrors, AggregatedAPIDown, KubeAPIDown, KubeAPITerminatedRequests

Kubernetes コントロール プレーンに問題があることを示しています。マスター ノードの正常性をチェックし、未解決の問題を解決します。問題が解決しない場合は、UiPath サポートにお問い合わせください。

以下の記事もご覧ください。

KubernetesApiServerErrors

このアラートは、Kubernetes API サーバーのエラー率が高いことを示しています。この問題は他の障害につながる可能性があるため、問題を事前に調査することをお勧めします。

kubectl logs <pod-name> -n kube-system コマンドを使用してapi-server ポッドのログを確認し、問題の根本原因を特定します。

kubernetes-system-kubelet

KubeNodeNotReady, KubeNodeUnreachable, KubeNodeReadinessFlapping, KubeletPlegDurationHigh, KubeletPodStartUpLatencyHigh, KubeletDown

これらのアラートは、ノードに問題があることを示しています。マルチ モードの HA 対応の運用クラスターにおいて、ポッドが他のノードにスケジュール変更される可能性があります。問題が解決しない場合は、ノードの削除およびドレインを行い、クラスターの正常性を維持する必要があります。容量が追加されていないクラスターでは、まず別のノードをクラスターに参加させる必要があります。

KubeletTooManyPods

指定したノードで実行されているポッドが多すぎます。

クラスターに別のノードを参加させます。

KubeletClientCertificateExpiration, KubeletServerCertificateExpiration

Warning の場合: Kubelet のクライアント証明書またはサーバー証明書の有効期限が残り 7 日を切りました。

Critical の場合: Kubelet のクライアント証明書またはサーバー証明書の有効期限が残り 1 日を切りました。

証明書を更新する必要があります。

KubeletClientCertificateRenewalErrors, KubeletServerCertificateRenewalErrors

Kubelet のクライアント証明書またはサーバー証明書を更新できませんでした。UiPath サポートにお問い合わせください。

kubernetes-system

KubeVersionMismatch

異なるセマンティック バージョンの Kubernetes コンポーネントが実行中です。これは、Kubernetes のアップグレードに失敗した結果として生じることがあります。

KubeClientErrors

Kubernetes API サーバー クライアントでのエラー発生率が 1% を超えています。このクライアントが実行されているノード、またはKubernetes API サーバー自体に問題がある可能性があります。

KubernetesMemoryPressure

このアラートは、Kubernetes ノードでのメモリ使用量が非常に高いことを示しています。

このアラートが発生した場合は、メモリを多く消費しているポッドの特定を試みてください。

KubernetesDiskPressure

このアラートは、Kubernetes ノードでのディスクの使用量が非常に高いことを示しています。

このアラートが発生した場合は、ディスクを消費しているポッドの特定を試みてください。

Kube-apiserver-slos

KubeAPIErrorBudgetBurn

Kubernetes API サーバーの消費しているエラー バジェットが多すぎます。

node-exporter

NodeFilesystemSpaceFillingUp、NodeFilesystemAlmostOutOfSpace、NodeFilesystemFilesFillingUp

特定のノードのファイルシステムが満杯になりつつあります。ディスクを追加するか未使用のディスクをマウントすることによって、さらに多くの領域をプロビジョニングします。

NodeRAIDDegraded

1 件以上のディスク障害が原因で RAID アレイが機能低下しています。スペア ドライブの数

が不十分なので、問題を自動的に修正できません。

NodeRAIDDiskFailure

RAID アレイに注意を払う必要があります。ディスク交換が必要になることもあります。

NodeNetworkReceiveErrs, NodeNetworkTransmitErrs, NodeHighNumberConntrackEntriesUsed

ノードの物理的ネットワーク インターフェイスに問題があります。問題が解決しない場合は、交換が必要になることがあります。

NodeClockSkewDetected, NodeClockNotSynchronising

ノードのクロックに問題があります。NTP が正しく構成されていることを確認してください。

node-network

NodeNetworkInterfaceFlapping

ノードの物理的ネットワーク インターフェイスに問題があります。問題が解決しない場合は、交換が必要になることがあります。

InternodeCommunicationBroken

クラスター内のノード間の通信を切断させてしまう問題が原因で、ノードが応答しなくなっています。

この問題を修正するには、影響を受けているノードを再起動してください。問題が解決しない場合は、サポート バンドル ツールを使用して UiPath サポートにお問い合わせください。

uipath.prometheus.resource.provisioning.alerts

PrometheusMemoryUsage, PrometheusStorageUsage

これらのアラートは、クラスターのメモリとストレージの使用量が設定された上限に近づいていることを警告します。クラスターで使用量が最近大幅に増加した (通常はユーザーではなくロボットによる使用) 場合、または Prometheus のリソースを調整せずにノードがクラスターに追加されたときに発生する可能性が高くなります。この問題は、収集されるメトリック数の増加が原因で発生します。

ストレージ使用量の増加率は、[Kubernetes / Persistent Volumes] ダッシュボードで確認できます。



これは、「クラスターを構成する」の手順に従って PVC のサイズを変更することで、調整できます。

メモリ使用量の増加率は、[Kubernetes / Compute Resources / Pod] ダッシュボードで確認できます。



これは、ArgoCD のランチャー監視アプリで Prometheus のメモリ リソースの制限値を編集することによって調整できます。[Save] をクリックすると、ランチャー監視アプリが自動的に再同期します。



Prometheus を再起動し、Grafana でのメトリックの表示が再開するには時間がかかります。大規模なクラスタであっても、通常 10 分未満かかります。

alertmanager.rules

AlertmanagerConfigInconsistent

これらは、複数の AlertManager レプリカを持つ HA クラスターを対象とする、内部の AlertManager エラーです。アラートが断続的に表示されたり消えたりする場合があります。一時的に AlertManager レプリカを縮小して拡大すると、問題が解決する可能性があります。

この問題を修正するには、次の手順に従います。

  1. ゼロで表示。ポッドがシャットダウンするまで少し時間がかかることに注意してください。

    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 ポッドが起動し、実行ステートになっているかどうかを確認します。

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

問題が解決しない場合は UiPath サポートにお問い合わせください。

AlertmanagerFailedReload

AlertManager による構成の読み込みまたは再読み込みが失敗しました。AlertManager のカスタム構成に入力エラーがないかチェックし、入力エラーでない場合は、UiPath サポートにお問い合わせください。

prometheus-operator

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

Prometheus リソースを制御する Prometheus 演算子の内部エラーです。このエラーが発生している間はまだ Prometheus 自体は正常ですが、このエラーは、監視の構成可能性が低下していることを示しています。UiPath サポートにお問い合わせください。

Prometheus

ここがコンセプトの開始地点です。

PrometheusBadConfig

Prometheus による構成の読み込みまたは再読み込みが失敗しました。Prometheus のカスタム構成に入力エラーがないかチェックし、入力エラーでない場合は、UiPath サポートにお問い合わせください。

PrometheusErrorSendingAlertsToSomeAlertmanagers, PrometheusErrorSendingAlertsToAnyAlertmanager, PrometheusNotConnectedToAlertmanagers

Prometheus から AlertManager への接続が正常ではありません。メトリックは依然としてクエリ可能で、Grafana ダッシュボードに引き続き表示される可能性がありますが、アラートは発生しません。AlertManager のカスタム構成に入力エラーがないかチェックし、入力エラーでない場合は、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番台のエラー)

高 (High)

>100,000

0.1%

10,000 ~ 100,000

1%

低 (Low)

< 10,000

5%

ユーザー向けのサービスでエラーが発生すると、Automation Suite UI で直接確認可能な機能低下が生じる可能性があります。これに対し、バックエンド サービスのエラーによる影響はあまり明白ではない可能性があります。

このアラートによって、どのサービスのエラー率が高いのかがわかります。レポートしているサービスが依存している他のサービスからどのような連鎖的な問題が生じ得るのかを理解するには、サービス間のエラーを表示する Istio Workload ダッシュボードを使用できます。

最近になって再構成された 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」が失敗している

このジョブによって、SQL 統合認証用に Active Directory サーバーから最新の Kerberos チケットを取得します。このジョブが失敗すると、SQL Server の認証が失敗します。UiPath サポートにお問い合わせください。

IdentityKerberosTgtUpdateFailed

このジョブは、すべての UiPath サービスに対して最新の Kerberos チケットを更新します。このジョブが失敗すると、SQL Server の認証が失敗します。UiPath サポートにお問い合わせください。

Ceph のアラート

CephClusterNearFull

このアラートは、Ceph ストレージ クラスターの使用状況が 75% を超えたこと、ならびに 85% に到達すると読み取り専用になることを示します。

このアラートが発生した場合は、「PVC のサイズを変更する」の手順に従って、AI Center または Task Mining の未使用のデータセットを削除して Ceph 内の一部の領域を解放するか Ceph PVC で利用可能なストレージを拡張します。

PVC のサイズを変更する前に、ストレージ要件を満たしていることを確認してください。詳しくは、「必要なストレージを評価する」をご覧ください。

CephClusterCriticallyFull

このアラートは、Ceph ストレージ クラスターの使用状況が 80% を超えたこと、ならびに 85% に到達すると読み取り専用になることを示します。

このアラートが発生した場合は、「PVC のサイズを変更する」の手順に従って、AI Center または Task Mining の未使用のデータセットを削除して Ceph 内の一部の領域を解放するか Ceph PVC で利用可能なストレージを拡張します。

PVC のサイズを変更する前に、ストレージ要件を満たしていることを確認してください。詳しくは、「必要なストレージを評価する」をご覧ください。

CephClusterReadOnly

このアラートは、Ceph ストレージ クラスターの使用状況が 85% を超えたため、これより読み取り専用になることを示します。いくつかの領域を解放するか、ストレージ クラスターを直ちに拡張してください。

このアラートが発生した場合は、「PVC のサイズを変更する」の手順に従って、AI Center または Task Mining の未使用のデータセットを削除して Ceph 内の一部の領域を解放するか Ceph PVC で利用可能なストレージを拡張します。

PVC のサイズを変更する前に、ストレージ要件を満たしていることを確認してください。詳しくは、「必要なストレージを評価する」をご覧ください。

CephPoolQuotaBytesCriticallyExhausted

このアラートは、Ceph のストレージ プールの使用量が 90% を超えたことを示します。

このアラートが発生した場合は、「PVC のサイズを変更する」の手順に従って、AI Center または Task Mining の未使用のデータセットを削除して CEPH 内の一部の領域を解放するか Ceph PVC で利用可能なストレージを拡張します。

PVC のサイズを変更する前に、ストレージ要件を満たしていることを確認してください。詳しくは、「必要なストレージを評価する」をご覧ください。

CephClusterErrorState

このアラートは、Ceph ストレージ クラスターが 10 分を超えてエラー ステートにあることを示します。

このアラートは、 rook-ceph-mgr ジョブが許容できない時間エラー ステートにあることを示しています。このアラートよりも前にトリガーされた可能性がある他のアラートがないか確認し、それらのアラートを先にトラブル―シューティングしてください。

CephMonQuorumAtRisk

このアラートは、ストレージ クラスターのクォーラムが少ないことを示します。

複数の Monitor が連携して動作し冗長性を確保します。これが可能なのは、各 Monitor がメタデータのコピーを保持しているためです。クラスターは 3 つの Monitor でデプロイされ、クォーラムのとストレージ操作を実行するには、2 つ以上の Monitor が実行されている必要があります。クォーラムが失われた場合、データへのアクセスが失われる可能性があります。

このアラートが発生した場合は、終了ステートにある OSD があるかどうかを確認し、そうである場合は、そのポッドを強制的に削除し、演算子が調整を行うまでしばらく待ちます。問題が解決しない場合は UiPath サポートにお問い合わせください。

CephOSDCriticallyFull

アラートの重要度が Critical の場合、利用可能な領域は 20% を下回っています。

サービスで領域を使い果たした場合、データの復元が困難になる可能性があります。したがって、利用可能な領域が 10% に達する前にボリュームのサイズを変更する必要があります。手順については「クラスターを構成する」をご覧ください。

uipath.requestrouting.alerts

UiPathRequestRouting

要求ルーティング レイヤーのエラーは、Automation Suite の UI で直接確認可能なほどの機能の低下につながります。要求はバックエンド サービスにルーティングされません。

Istio Ingress Gateway ポッドで kubectl logs コマンドを実行することで、要求ルーティングの詳細なエラー ログを確認できます。エラーが解決しない場合は UiPath サポートにご連絡ください。

RabbitmqNodeDown

このアラートは、RabbitMQ クラスターで実行されているノードが 3 つ未満であることを示します。

kubectl logs <pod-name> -n <namespace> コマンドを使用して、どの RabbitMQ ポッドがダウンしているか確認します。この問題を修正するには、kubectl delete pod <pod-name> -n <namespace> コマンドを使用してポッドを削除し、新しいポッドが起動したら、もう一度確認します。

MongoDB のアラート

MongodbCertExpiration

このアラートは、19 日の時間枠で MongoDB TLS 証明書が自動的にローテーションされない場合に発生します。このアラートの重要度は「Critical」です。

証明書をローテーションさせるには、「MongoDB 証明書の更新」の手順に従います。

MongodbDown

このアラートは、MongoDB がダウンしたときにトリガーされます。このアラートの重要度は「Critical」です。

このアラートが発生した場合は、次の手順を実行します。

  • コマンド「kubectl logs <pod-name> -n mongodb」を使用してログを確認します。
  • 診断ツールを使用します。
  • UiPath サポートにお問い合わせください。

MongodbReplicationStatusUnreachable

MongoDB のレプリカ セット メンバーに、 (そのセットの別のメンバーから見た場合) 到達できません。このアラートが発生した場合は、ほとんどの場合ノードはダウンしています。このアラートの重要度は「Critical」です。

このアラートが発生した場合は、次の手順を実行します。

  • ノードがダウンしているかどうかを確認します。
  • ノードがダウンしている場合は、再起動して根本原因を特定します。
  • 問題が解決しない場合は UiPath サポートにお問い合わせください。

MongodbReplicationStatusNotKnown

MongoDB のレプリカ セット メンバーのステータスが、 (そのセットの別のメンバーから見た場合) 不明です。このアラートが発生した場合は、1 つ以上のレプリカが実行中のステートにありません。このアラートの重要度は「Critical」です。

このアラートが発生した場合は、次の手順を実行します。

  • コマンド「kubectl logs <pod-name> -n mongodb」を使用してログを取得し、実行中であるかどうかを確認します。
  • レプリカのステータスの詳細を表示するには、コマンド「kubectl describe <pod-name> -n mongodb」を実行してポッドを記述します。
  • 問題が解決しない場合は UiPath サポートにお問い合わせください。

MongodbReplicationLag

このアラートは、MongoDB のレプリケーションのラグが 10 秒を超えていることを示します。このアラートの重要度は「Critical」です。

このアラートが発生した場合は、次の手順を実行します。

  • コマンド「kubectl logs <pod-name> -n mongodb」を使用してログを取得し、実行中であるかどうかを確認します。
  • レプリカのステータスの詳細を表示するには、コマンド「kubectl describe <pod-name> -n mongodb」を実行してポッドを記述します。
  • 問題が解決しない場合は UiPath サポートにお問い合わせください。

MongodbTooManyConnections

このアラートは、接続数が最大数に達したことを示します。これが予想済みのものでありかつ一時的なものである場合は、このアラートの通知を切ることができます。ただし、このアラートは Mongo 接続が上限に達しており、これ以上処理できないことを意味する警告であることにご留意ください。

このアラートが発生した場合は、次の手順を実行します。

  • ノード上の接続の数を照会するには、次のコマンドを実行します。 db.serverStatus().connections
    • current は、既存の接続を示します。
    • available は、利用可能な接続の数を示します。
  • 問題が解決しない場合は UiPath サポートにお問い合わせください。

MongodbHighLatency

このアラートは、インスタンスにおける待機時間が長いことを示します。つまりこれは、ノード上のトラフィックが増加していることを意味する可能性があります。レプリカが正常ではないか、レプリカ上のトラフィックが過剰になっていることが原因である可能性があります。これが予想済みのものでありかつ一時的なものである場合は、このアラートの通知を切ることができます。ただし、このアラートは、インスタンスが上限に達しており、これ以上処理できないことを示すものです。このアラートの重要度は「Critical」です。

このアラートが発生した場合は、次の手順を実行します。

  • インスタンスのログと正常性を確認します。
  • 問題が解決しない場合は UiPath サポートにお問い合わせください。

MongodbReplicationStatusSelfCheck

MongoDB のレプリカ セット メンバーは、起動時に自己チェックを実行するか、ロールバックまたは再同期の完了から移行します。このアラートの重要度は「Critical」です。

このアラートが発生した場合は、次の手順を実行します。

  • コマンド「rs.status()」を実行してレプリカのステータスを確認します。
  • kubectl logs <pod-name> -n mongodb」を使用してログを確認します。
  • 問題が解決しない場合は UiPath サポートにお問い合わせください。

MongodbReplicationStatusRollback

MongoDB レプリカ セット メンバーがロールバックを実行しています。データを読み取ることはできません。このアラートの重要度は「Critical」です。

このアラートが発生した場合は、次の手順を実行します。

  • 次のコマンドを実行して、レプリカのステータスを確認します。 rs.status()
  • コマンド「kubectl logs <pod-name> -n mongodb」を使用してログを取得し、実行中であるかどうかを確認します。
  • 問題が解決しない場合は UiPath サポートにお問い合わせください。

MongodbReplicationStatusRemoved

MongoDB レプリカ セット メンバーが一度はレプリカ セットに含まれていたものの、その後削除されました。このアラートの重要度は「Critical」です。

このアラートが発生した場合は、次の手順を実行します。

  • 次のコマンドを実行して、レプリカのステータスを確認します。 rs.status()
  • コマンド「kubectl logs <pod-name> -n mongodb」を使用してログを取得し、実行中であるかどうかを確認します。
  • 問題が解決しない場合は UiPath サポートにお問い合わせください。

サーバー TLS 証明書のアラート

SecretCertificateExpiry30Days

このアラートは、サーバー TLS 証明書の有効期限が次の 30 日で切れることを示します。

この問題を修正するには、サーバー TLS 証明書を更新します。手順については、「サーバー証明書を管理する」をご覧ください。

SecretCertificateExpiry7Days

このアラートは、サーバー TLS 証明書の有効期限が次の 7 日で切れることを示します。

この問題を修正するには、TLS 証明書を更新します。手順については、「サーバー証明書を管理する」をご覧ください。

ID トークン署名証明書のアラート

IdentityCertificateExpiry30Days

このアラートは、ID トークン署名証明書の有効期限が次の 30 日で切れることを示します。

この問題を修正するには、ID トークン署名証明書を更新します。手順については、「サーバー証明書を管理する」をご覧ください。

IdentityCertificateExpiry7Days

このアラートは、ID トークン署名証明書の有効期限が次の 7 日で切れることを示します。

この問題を修正するには、ID トークン署名証明書を更新します。手順については、「サーバー証明書を管理する」をご覧ください。

etdc のアラート

EtcdInsufficientMembers

このアラートは、etcd クラスターのメンバー数が不十分であることを示します。クラスターのメンバー数は奇数である必要があります。このアラートの重要度は「Critical」です。

クラスター内のサーバー ノード数が奇数で、すべてのノードが正常に動作していることを確認してください。

EtcdNoLeader

このアラートは、etcd クラスターにリーダーがないことを示しています。このアラートの重要度は「Critical」です。

EtcdHighNumberOfLeaderChanges

このアラートは、etcd リーダーが 10 分間で 2 回以上変わることを示します。このアラートの重要度は「Warning」です。

EtcdHighNumberOfFailedGrpcRequests

このアラートは、etcd で一定の割合の GRPC 要求の失敗が検出されたことを示します。

EtcdGrpcRequestsSlow

このアラートは、etcd の GRPC 要求が低速であることを示します。このアラートの重要度は「Warning」です。

EtcdHighNumberOfFailedHttpRequests

このアラートは、etcd で一定の割合の HTTP エラーが検出されたことを示します。

EtcdHttpRequestsSlow

このアラートは、HTTP 要求の速度が低下していることを示します。このアラートの重要度は「Warning」です。

EtcdMemberCommunicationSlow

このアラートは etcd メンバーの通信が遅くなっていることを示します。このアラートの重要度は「Warning」です。

EtcdHighNumberOfFailedProposals

このアラートは、etcd サーバーが過去 1 時間に 5 件以上の提案に失敗したことを示します。このアラートの重要度は「Warning」です。

EtcdHighFsyncDurations

このアラートは、etcd の WAL fysnc 期間が増加していることを示します。このアラートの重要度は「Warning」です。

EtcdHighCommitDurations

このアラートは、etcd のコミット期間が増加していることを示します。このアラートの重要度は「Warning」です。

ディスク サイズのアラート

LowDiskForRancherPartition

このアラートは、 /var/lib/rancher パーティションの空き領域が次の割合より少ないことを示します。
  • 35% – アラートの重要度は「Warning」です。
  • 25% – アラートの重要度は「Critical」です。

このアラートが発生した場合は、ディスクの容量を増やしてください。

LowDiskForKubeletPartition

このアラートは、 /var/lib/kubelet パーティションの空き領域が次の割合より少ないことを示します。
  • 35% – アラートの重要度は「Warning」です。
  • 25% – アラートの重要度は「Critical」です。

    このアラートが発生した場合は、ディスクの容量を増やしてください。

LowDiskForLonghornPartition

このアラートは、Longhorn ディスクの空き領域が次の割合より少ないことを示します。

  • 35% – アラートの重要度は「Warning」です。
  • 25% – アラートの重要度は「Critical」です。

このアラートが発生した場合は、ディスクの容量を増やしてください。

LowDiskForVarPartition

このアラートは、 /var パーティションの空き領域が次の割合より少ないことを示します。
  • 35% – アラートの重要度は「Warning」です。
  • 25% – アラートの重要度は「Critical」です。

このアラートが発生した場合は、ディスクの容量を増やしてください。

バックアップのアラート

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 によってシステム内に作成されるバックアップ オブジェクトの累積数が増加しており、ダウンタイムが発生する可能性があることを示します。このアラートの重要度は「Warning」です。

このアラートは、Longhorn のバックアップ数が 150 以上 200 未満の場合にトリガーされます。

LonghornBackupObjectThresholdExceededCritical

このアラートは、Longhorn によってシステム内に作成されるバックアップ オブジェクトの累積数が増加しており、ダウンタイムが発生する可能性があることを示します。このアラートの重要度は「Critical」です。

このアラートは、Longhorn のバックアップ数が 200 以上 240 未満の場合にトリガーされます。

LonghornSnapshotObjectThresholdExceededWarn

このアラートは、Longhorn によってシステム内に作成されるスナップショット オブジェクトの累積数が増加しており、ダウンタイムが発生する可能性があることを示します。このアラートの重要度は「Warning」です。

このアラートは、スナップショットの数が 150 以上 200 未満の場合にトリガーされます。

LonghornSnapshotObjectThresholdExceededCritical

このアラートは、Longhorn によってシステム内に作成されるスナップショット オブジェクトの累積数が増加しており、ダウンタイムが発生する可能性があることを示します。このアラートの重要度は「Critical」です。

このアラートは、スナップショットの数が 200 以上 240 未満の場合にトリガーされます。

Support and Services icon
サポートを受ける
UiPath Academy icon
RPA について学ぶ - オートメーション コース
UiPath Forum icon
UiPath コミュニティ フォーラム
UiPath ロゴ (白)
信頼とセキュリティ
© 2005-2024 UiPath. All rights reserved.