ドキュメント

監視指標リファレンス

約19分で読めます · このページを GitHub で編集

← ShimoDocs Suite デプロイメント文書

この文書は、監視システムで一般的に使用される指標を整理しており、ノード、containerdコンテナをカバーしています。 Kubernetes クラスター、ミドルウェア、およびアプリケーションサービスに関する情報を提供し、日常点検、容量評価、およびトラブルシューティングの統一リファレンスを提供します。

メトリック名は、Prometheusで収集された実際のエクスポーターのメトリックに基づいています。エクスポーターのバージョンによっては若干の違いがある場合があり、実際のトラブルシューティングはオンラインクエリ結果を最終参照として行う必要があります。

対象範囲

カテゴリ 対象オブジェクト
ノード監視 Linuxホスト、システムリソース、ディスク、ネットワーク、プロセス
コンテナ監視 containerdで実行されているコンテナ、Podコンテナのリソース
Kubernetes クラスター ノード、Pod、Deployment、StatefulSet、Job、 PVC、APIServer
MySQL MySQL インスタンス、接続、クエリ、キャッシュ、ロック、ネットワーク
MongoDB MongoDB インスタンス、接続、操作、メモリ、ネットワーク、レプリケーションバッファ
Redis Redis インスタンス、クライアント、コマンド、メモリ、キー スペース、ヒット率
Kafka ブローカー、トピック、パーティション、コンシューマーグループ、遅延、レプリカ
MinIO クラスタノード、ディスク、バケット S3 リクエスト、オブジェクト容量
Elasticsearch クラスタの状態、ノード、シャード、インデックス JVMスレッドプール、ネットワーク
アプリケーションサービス 一般的なサーバー、クライアントコール、共同編集、RSサービス、ランタイム

メトリック読み取りルール

メトリックタイプ 読み取り方法 共通の PromQL 構文 説明
カウンター 時間ウィンドウ内の成長率または増分を見る rate(x_total[5m]), increase(x_total[5m]) リクエスト数、エラー数、バイト数、IO回数は一般的にカウンターに属する
ゲージ 現在の値、平均値、最大値を確認する avg(x), max(x), sum(x) メモリ、接続数、容量、ステータス値は一般的にゲージに属する
ヒストグラム パーセンタイルレイテンシを確認する histogram_quantile(0.95, sum(rate(x_bucket[5m])) by (le)) リクエストレイテンシ、処理レイテンシ、キューレイテンシは一般的にヒストグラムを使用する
比率 割合を確認する A / B * 100 使用率、エラー率、ヒット率はすべて比率型メトリクスに属する

閾値として固定数値を直接コピーすることは推奨されない。メトリクスには例えば CPUメモリ、ディスク、接続数 QPSおよび遅延などがあり、これらはビジネスのピーク時、容量計画、過去の基準と照らして評価する必要がある。ドキュメント内の異常動作はリスクを迅速に特定するために使用され、最終的なアラート閾値と同等ではない。

1. ノードサービス監視

ノード監視は、ホストが正常であるか、リソースが十分であるか、ディスクやネットワークのボトルネックがあるかを判断するために使用されます。ノードのメトリクスは主にnode-exporterから取得され、プロセスレベルでの特定を行うためにシステムプロセスダッシュボードと組み合わせて使用されます。

1.1 基本ステータス

監視次元 メトリック メトリクスの意味 一般的な標準/単位 異常なパフォーマンス
ノード稼働状況 up エクスポーターまたは収集対象にアクセス可能か 1 収集可能を示す 0 収集不可能を示す 連続的 0 ノード、ネットワーク、またはエクスポーターに問題があることを示す
起動時間 node_boot_time_seconds ノードの最終起動時間 Unixタイムスタンプ ブート時間の変化は、ノードが再起動されたことを示します
ノード情報 node_uname_info, node_os_info オペレーティングシステム、カーネル、ディストリビューション情報 ラベル情報 ノードのバージョン確認に使用され、アラート指標として直接使用されることはありません

トラブルシューティングの提案: まず確認してください up 次に node_boot_time_seconds. ノードが収集不可能で、ブート時間が最近変わった場合は、ホストの再起動、ネットワーク ACL、および node-exporter プロセスのステータスの確認を優先してください。

1.2 CPU メトリクス

監視次元 メトリック メトリクスの意味 一般的な標準/単位 異常なパフォーマンス
CPU 使用状況 node_cpu_seconds_total 各コアが異なるモードで費やした累積時間 CPU 各コアが異なるモードで費やした時間 パーセンテージ user および system 長期的に高い場合、ノードの計算能力は逼迫しています
アイドル CPU node_cpu_seconds_total{mode="idle"} CPU アイドル時間 パーセンテージ アイドル時間が持続的に低い場合、キューイングやレイテンシの増加が発生する可能性があります
IO 待機 node_cpu_seconds_total{mode="iowait"} 時間 CPU ディスクIOを待っています パーセンテージ iowaitの継続的な増加は通常、ディスクまたはストレージリンクの遅さを示します
システム負荷 node_load1, node_load5, node_load15 1/5/15分間の平均負荷 負荷値 コア数を常に上回るロードは、 CPU 目立つタスク待ち行列を示します
CPU 圧力 node_pressure_cpu_waiting_seconds_total 累積 CPU PSI 待機時間 秒/秒 CPU リソースの競合が重要で、プロセスが待機しています CPU スケジューリング

よくある質問:

100 - avg by (instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100
avg by (instance) (rate(node_cpu_seconds_total{mode="iowait"}[5m])) * 100

調査の提案: いつ CPU の使用率が高い場合、まず以下の点を区別してください。 user, system、および iowait:高い user は主にビジネス計算の負荷によるもので、高い system はシステムコールやネットワークパケット処理に関連している可能性があり、高い iowait はディスクのスループット、 IOPSおよびレイテンシを確認する必要があります。

1.3 メモリ指標

監視次元 メトリック メトリクスの意味 共通単位 異常な現れ
総メモリ node_memory_MemTotal_bytes ノードの総物理メモリ バイト 使用率計算用
使用可能メモリ node_memory_MemAvailable_bytes システムがプロセスに割り当て可能なメモリ バイト / パーセンテージ 使用可能メモリが一貫して低いとトリガーされやすい OOM または頻繁な回収
空きメモリ node_memory_MemFree_bytes 完全に未使用のメモリ バイト Linuxではメモリ圧力を判断するために単独で使用できない
メモリ圧力 node_pressure_memory_waiting_seconds_total 累積メモリ PSI 待機時間 秒 / 秒 メモリ回収または割り当て待機の増加
OOM カウント node_vmstat_oom_kill システムによる数 OOM キル カウント / 増分 増加した場合、終了したプロセスとメモリのピークを特定してください

よくある質問:

(1 - node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes) * 100
increase(node_vmstat_oom_kill[10m])

調査の提案: メモリのためにだけを見るのではなく MemFree 実際の利用可能性は、より多く MemAvailableと、コンテナの作業セットメモリ、プロセスの RSS、および OOM 記録と組み合わせて評価する必要があります。

1.4 ディスク容量とインデックスノード(Inodes)

監視次元 メトリック メトリクスの意味 一般的な測定/単位 異常なパフォーマンス
ファイルシステム全体 node_filesystem_size_bytes マウントポイントの総容量 バイト ディスク使用率を計算するために使用されます
使用可能なファイルシステム node_filesystem_avail_bytes 通常ユーザーが使用できる空きスペース バイト 使用可能スペースが不足すると書き込み失敗が発生する可能性があります
フリーファイルシステム node_filesystem_free_bytes ファイルシステム内の空きスペース バイト ルート予約スペースを含む; 通常、以下と一緒に考慮されます avail
読み取り専用ステータス node_filesystem_readonly ファイルシステムが読み取り専用かどうか 0/1 ~の場合 1、業務書き込みは失敗します
合計inode node_filesystem_files ファイルシステム内のinodeの総数 カウント 小さいファイルシナリオでは特に注意が必要です
残りのinode node_filesystem_files_free 残りのinodeの数 カウント/割合 inodeが枯渇すると、ディスクスペースがまだあってもファイルを作成できません

よくある質問:

(1 - node_filesystem_avail_bytes{fstype!~"tmpfs|overlay"} / node_filesystem_size_bytes{fstype!~"tmpfs|overlay"}) * 100
(1 - node_filesystem_files_free / node_filesystem_files) * 100

調査の提案: ディスク容量のアラートはマウントポイントごとに確認する必要があります。特にデータディスク、ログディスク、コンテナランタイムディレクトリに注意してください。高inode使用率は通常、多数の小さいファイル、ログスライス、または掃除されていない一時ファイルから生じます。

1.5 ディスク IOPS、スループット、およびレイテンシ

監視次元 メトリック メトリクスの意味 一般的な測定/単位 異常なパフォーマンス
読み取り IOPS node_disk_reads_completed_total 完了したディスク読み取り要求の数 回/秒 読み取り IOPS デバイス制限に近づくと、読み取り待機時間が増加します
書き込み IOPS node_disk_writes_completed_total 完了したディスク書き込み要求の数 回/秒 書き込みバックログ、ログまたはデータベースのコミットが遅くなる
読み取りスループット node_disk_read_bytes_total ディスクから読み取られた累積バイト数 バイト/秒 高スループットおよび高iowaitはストレージが忙しいことを示します
書き込みスループット node_disk_written_bytes_total ディスクに書き込まれた累積バイト数 バイト/秒 長期間の高い書き込みスループットはデータベースやオブジェクトストレージに影響を与える可能性があります
読み取り時間 node_disk_read_time_seconds_total 読み取り要求の累積時間 秒/秒 読み取り待機時間の増加
書き込み時間 node_disk_write_time_seconds_total 書き込み要求の累積時間 秒/秒 書き込み待機時間の増加
IOが忙しい node_disk_io_time_seconds_total ディスクがIO処理に費やす累積時間 パーセンテージ ほぼフルロード時、アプリケーションはIOを待機する
加重IO時間 node_disk_io_time_weighted_seconds_total キュー長を考慮したIO時間 秒/秒 キューの蓄積は深刻なデバイスキューを示す
IOプレッシャー node_pressure_io_waiting_seconds_total 累積IO PSI 待機時間 秒/秒 プロセスはIO待機により長時間費やす

よくあるクエリ:

rate(node_disk_reads_completed_total[5m])
rate(node_disk_writes_completed_total[5m])
rate(node_disk_read_bytes_total[5m])
rate(node_disk_written_bytes_total[5m])
rate(node_disk_io_time_seconds_total[5m]) * 100
rate(node_disk_read_time_seconds_total[5m]) / rate(node_disk_reads_completed_total[5m])
rate(node_disk_write_time_seconds_total[5m]) / rate(node_disk_writes_completed_total[5m])

調査の提案: 問題を確認する際にディスク容量だけを見ないこと。容量が正常でも、 IOPSスループット、IOビジー、iowaitが同時に増加すると業務パフォーマンスは低下する可能性がある。データベースなどの重いIOサービスは、 Kafka、および MinIO 書き込み遅延とキューに注目するべきである。

1.6 ネットワーク指標

監視次元 メトリック メトリクスの意味 共通単位 異常な兆候
受信トラフィック node_network_receive_bytes_total ネットワークカードが受信した累積バイト数 バイト/秒 受信トラフィックの急増、リクエストのスパイクやデータ同期が原因の可能性あり
送信トラフィック node_network_transmit_bytes_total ネットワークカードが送信した累積バイト数 バイト/秒 送信トラフィックの急増、ダウンロード、バックアップ、またはレプリケーションが原因の可能性あり
受信エラー node_network_receive_errs_total 受信エラーパケットの累積数 カウント/秒 ネットワークカード、リンク、またはドライバーの問題
送信エラー node_network_transmit_errs_total 送信エラーパケットの累積数 カウント/秒 リンクの問題、またはネットワークカードのキューの問題
受信パケットロス node_network_receive_drop_total 受信ドロップパケットの累積数 カウント/秒 カーネルキューまたはネットワークカードが追いつかない
送信パケットロス node_network_transmit_drop_total 送信パケット損失の累積値 回/秒 出口の輻輳または NIC キューの圧力

よくあるクエリ:

rate(node_network_receive_bytes_total{device!~"lo|veth.*|cni.*"}[5m])
rate(node_network_transmit_bytes_total{device!~"lo|veth.*|cni.*"}[5m])
rate(node_network_receive_drop_total[5m]) + rate(node_network_transmit_drop_total[5m])

調査の提案: ネットワークの異常については、トラフィック、エラーパケット、およびパケット損失を一緒に確認してください。トラフィックが多いだけでは必ずしも障害を示すわけではありません。エラーパケットやパケット損失を伴うトラフィックの増加は、リンクまたはホストのネットワークスタックの問題である可能性が高いです。

1.7 TCP、ファイルハンドル、およびシステムストレス

監視次元 メトリック メトリクスの意味 共通単位 / 測定 異常な動作
現在 TCP 接続 node_netstat_Tcp_CurrEstab 現在の確立済み接続数 TCP 接続 接続の急増は、トラフィックピークまたは接続リークを示す可能性があります
TIME_WAIT node_sockstat_TCP_tw 数 TIME_WAIT 接続 短期間で多くの接続が発生すると、ポートが枯渇したりカーネルの負荷が増加する可能性があります
TCP 割り当て済み node_sockstat_TCP_alloc 割り当てられた数 TCP ソケット ソケットの数が継続的に増加している場合、接続解放の調査が必要です
TCP 使用中 node_sockstat_TCP_inuse 数 TCP 使用中のソケット 接続圧力の増加
TCP 孤立 node_sockstat_TCP_orphan 孤立ソケットの数 異常な増加は、異常な接続終了に関連している可能性があります
使用中のファイルハンドル node_filefd_allocated システムによって割り当てられたファイルハンドルの数 数が高すぎると、新規接続やファイルオープンに影響する可能性があります
ファイルハンドル制限 node_filefd_maximum システムのファイルハンドル制限 ハンドル使用率を計算するために使用されます

よくある問い合わせ:

node_filefd_allocated / node_filefd_maximum * 100

調査の推奨: ファイルハンドルおよび TCP 接続は通常一緒に考慮されます。サーバー接続の数が急増した場合、システムのハンドルが限界に近いと、アプリケーションで accept エラー、ファイルオープンエラー、または依存接続のエラーが発生する可能性があります。

1.8 プロセス監視

監視次元 メトリック メトリクスの意味 一般的な測定/単位 異常な動作
プロセス CPU process_cpu_seconds_total 合計 CPU プロセスの時間 秒/秒 長期間の高い CPU 単一プロセスによる使用
物理メモリ process_resident_memory_bytes プロセス RSS メモリ バイト 継続的な増加 RSS メモリリークを示している可能性があります
仮想メモリ process_virtual_memory_bytes プロセスの仮想メモリ バイト 異常な増加は次と併せて評価する必要があります RSS
オープンハンドル process_open_fds プロセスのオープンファイルハンドルの数 継続的な増加はハンドルリークを示している可能性があります
最大ハンドル数 process_max_fds プロセスが開くことのできるファイルハンドルの最大数 プロセスのハンドル使用率を計算するために使用
プロセス開始時刻 process_start_time_seconds プロセス開始時刻 Unixタイムスタンプ 開始時刻の変化はプロセスの再起動を示す

調査の推奨事項: プロセスメトリクスは、ノードレベルの問題に対する特定のサービスを特定するために使用される。ノード CPU が高い場合、プロセスを確認 CPU; ノードのメモリ圧力が高い場合、確認 RSS; ノードのハンドルが高い場合、確認 process_open_fds.

2. containerd コンテナ監視

コンテナ監視は主に kubelet/cAdvisor から提供され、containerd によって管理されるコンテナのリソース使用状況を反映する。文書は引き続き使用する container_* Prometheusメトリクスからのネーミングですが、実際の運用中の基盤コンテナランタイムはcontainerdです。

2.1 コンテナ CPU

監視次元 メトリック メトリクスの意味 共通スコープ/単位 異常なパフォーマンス
CPU 使用状況 container_cpu_usage_seconds_total 合計 CPU コンテナの使用時間 コア/秒 長時間にわたり制限に近い使用率、ビジネス遅延の可能性
CPU スロットル時間 container_cpu_cfs_throttled_seconds_total 合計時間 CPU によってスロットルされる CFS 秒/秒 重要 CPU スロットリングは制限が厳しすぎるか、負荷が高すぎることを示す
CPU クオータ container_spec_cpu_quota コンテナ CPU クォータ クォータ値 設定されているかを認識するために使用 CPU 制限が設定されているか

よくある問い合わせ:

sum by (namespace, pod, container) (rate(container_cpu_usage_seconds_total{container!="",image!=""}[5m]))
sum by (namespace, pod, container) (rate(container_cpu_cfs_throttled_seconds_total{container!="",image!=""}[5m]))

調査推奨: 高いコンテナ CPU は必ずしもスケーリングを必要とするわけではありません。まず、スロットリングされていないか確認し、次にPodのリクエスト/制限が低すぎないかを確認し、最後にサービスリクエストの遅延を考慮して、本当にビジネスに影響するかを判断してください。

2.2 コンテナメモリ

監視次元 メトリック メトリクスの意味 共通単位 異常な動作
RSS メモリ container_memory_rss コンテナの匿名ページおよび RSS メモリ バイト 継続的な増加は実際のプロセスメモリプレッシャーに近い
使用メモリ container_memory_usage_bytes コンテナの総メモリ使用量 バイト キャッシュを含むため、単独ではリークを判断できない
ワーキングセットメモリ container_memory_working_set_bytes コンテナのアクティブなワーキングセットメモリ バイト 制限に近づくとOOMKilledの原因になる可能性がある
メモリ制限 container_spec_memory_limit_bytes コンテナメモリ制限 バイト メモリ使用率を計算するために使用

よくあるクエリ:

container_memory_working_set_bytes{container!="",image!=""} / container_spec_memory_limit_bytes{container!="",image!=""} * 100

調査の提案: ビジネスコンテナのメモリリスクについては、作業セットの確認を優先してください。また、 RSS. usage_bytes ページキャッシュの影響を大きく受けるため、容量観測には適していますが、判断の唯一の根拠としては適していません。 OOM

2.3 コンテナのディスクと一時ストレージ

監視次元 メトリック メトリクスの意味 一般的な測定/単位 異常なパフォーマンス
読み取りスループット container_fs_reads_bytes_total コンテナによるディスクからの累積読み取りバイト数 バイト/秒 読み取りトラフィックの急増は、スキャン、インポート、またはキャッシュ元プルを示唆する可能性があります
書き込みスループット container_fs_writes_bytes_total コンテナによるディスクへの累積書き込みバイト数 バイト/秒 書き込みピークはノードのIO負荷を引き起こす可能性があります
読み取り IOPS container_fs_reads_total コンテナによる読み取りリクエスト数 Ops/s 小さいブロックの読み取り頻度が高いと、IO待機時間が増加する可能性があります
書き込み IOPS container_fs_writes_total コンテナによる書き込みリクエスト数 Ops/s ログや一時ファイルの過剰な書き込み
ファイルシステム使用状況 container_fs_usage_bytes コンテナのファイルシステム使用状況 バイト 一時ファイルやログの蓄積
ファイルシステムの制限 container_fs_limit_bytes コンテナのファイルシステム制限 バイト 制限に近づくと書き込みが失敗する可能性があります

よくあるクエリ:

sum by (namespace, pod, container) (rate(container_fs_reads_bytes_total{container!="",image!=""}[5m]))
sum by (namespace, pod, container) (rate(container_fs_writes_bytes_total{container!="",image!=""}[5m]))

調査の提案: コンテナのディスク書き込みが異常な場合は、まずPodのログボリューム、一時ファイルディレクトリ、およびバッチタスクを確認してください。ノードのディスクIOが高い場合は、コンテナFSメトリクスを使用してどのPodが書き込んでいるかを特定できます。

2.4 コンテナネットワーク

監視次元 メトリック メトリクスの意味 共通スコープ/単位 異常なパフォーマンス
着信トラフィック container_network_receive_bytes_total コンテナが受信した総バイト数 バイト/秒 リクエストトラフィックやレプリケーショントラフィックの急増
発信トラフィック container_network_transmit_bytes_total コンテナが送信した総バイト数 バイト/秒 ダウンロード、同期、オリジンフェッチ、またはエクスポートのトラフィックの増加
受信パケット損失 container_network_receive_packets_dropped_total コンテナが受信時に破棄した総パケット数 回/秒 ネットワークスタックまたはノードのプレッシャーによるパケット損失
送信パケット損失 container_network_transmit_packets_dropped_total コンテナが送信時に破棄した総パケット数 回/秒 送信輻輳 NIC キュー、または CNI 問題

よくあるクエリ:

sum by (namespace, pod) (rate(container_network_receive_bytes_total[5m]))
sum by (namespace, pod) (rate(container_network_transmit_bytes_total[5m]))

調査の提案: コンテナネットワークはノードと連携して分析する必要があります NIC メトリクス。パケット損失がPodレベルで増加しているが、ノードに異常がない場合は、確認を続けてください CNI、iptables、およびPodが存在するノードの負荷。

2.5 コンテナのスレッドとライフサイクル

監視次元 メトリック メトリクスの意味 共通スコープ/単位 異常な動作
スレッドの数 container_threads コンテナ内のスレッド数 スレッドの継続的な増加はスレッドリークを示す可能性があります
最終確認 container_last_seen cAdvisorによってコンテナが最後に確認された時間 Unixタイムスタンプ 長時間更新がない場合は、コンテナが終了したか収集の異常を示す可能性があります
再起動回数 kube_pod_container_status_restarts_total コンテナの再起動の総数 カウント/増加 頻繁な再起動はクラッシュ、プローブの失敗、または OOM
待機理由 kube_pod_container_status_waiting_reason コンテナが待機状態にある理由 ラベル値 CrashLoopBackOff, ImagePullBackOffなど、対応が必要です
実行状況 kube_pod_container_status_running コンテナが実行中かどうか 0/1 主要コンテナが存在しない 1 サービスが利用できないことを示します

調査の推奨事項: コンテナの異常については、まずステータスの理由を確認し、その後再起動回数と最新の再起動時間を確認してください。再起動が頻繁な場合は、アプリケーションログ、 OOM イベント、およびプローブ設定を使用して調査を続けます。

3. Kubernetes クラスタ監視

Kubernetes 監視は、クラスタのリソース使用状況、コントロールプレーンの健全性、ワークロードレプリカの状態、およびストレージオブジェクトの状態を評価するために使用されます。主な指標は、kube-state-metrics、kubelet、およびAPIServerから取得されます。

3.1 ノードの容量とスケジュール可能なリソース

監視次元 メトリック メトリクスの意味 共通スコープ/単位 異常な現れ
ノード容量 kube_node_status_capacity ノードの総容量 CPU、メモリ、Podの数など 容量計画に使用
割り当て可能なリソース kube_node_status_allocatable ノードのスケジュール可能なリソース CPU、メモリ、Podの数など スケジュール可能なリソースが不足すると、Podは保留状態になります
ノードの状態 kube_node_status_condition ノードReady、MemoryPressure、その他の状態 0/1 Ready状態の異常やPressureの発生は即時対応が必要です
スケジューリング禁止 kube_node_spec_unschedulable ノードがコーディングされているか 0/1 '1’に設定されている場合、ノードは新しいPodをスケジュールしません
ノード情報 kube_node_info ノードのバージョン、カーネル、コンテナランタイム情報 タグ情報 バージョンの違いをトラブルシューティングするために使用

トラブルシューティングの提案: Podが保留中の場合、まず割り当て可能リソースとリクエストを確認し、次にノードが’schedulableでない’かを確認し、最後にノードの状態でリソース圧力が発生しているかを確認します。

3.2 Podのステータス

監視の指標 指標 インジケーターの意味 一般的なアパーチャ/単位 異常な動作
ポッド情報 kube_pod_info ポッドのネームスペース、ノードなどの情報 タグ情報 ポッド分布の特定に使用
ポッドのステージ kube_pod_status_phase 保留中、実行中、成功、失敗の状態など 0/1 保留中/失敗の増加はスケジューリングや実行の異常を示す
ポッド準備完了 kube_pod_status_ready ポッドは準備完了ですか 0/1 準備未完了はサービスの可用性に影響する
ポッド理由 kube_pod_status_reason ポッド異常理由 ラベル値 退避、ノード喪失などは調査が必要
コンテナ再起動 kube_pod_container_status_restarts_total コンテナ再起動の回数 回/増分 再起動の増加は安定性の問題を示す
コンテナ待機中 kube_pod_container_status_waiting コンテナが待機状態かどうか 0/1 待機状態が続く場合、Podは正常にサービスを提供できません
待機理由 kube_pod_container_status_waiting_reason 待機状態の理由 ラベル値 イメージプル失敗、CrashLoopなど
コンテナが終了しました kube_pod_container_status_terminated コンテナが終了しているかどうか 0/1 予期しない終了は、再起動やログと一緒に確認する必要があります

よくある質問:

sum by (namespace, phase) (kube_pod_status_phase == 1)
increase(kube_pod_container_status_restarts_total[10m])

調査の提案: Podに異常がある場合、Podフェーズだけでなく、Readyステータス、理由、コンテナの待機理由を確認すると、具体的な問題をよりよく示せます

3.3 リソース要求と制限

監視次元 メトリック メトリクスの意味 一般的な測定/単位 異常な動作
要求されたリソース kube_pod_container_resource_requests コンテナのリソース要求 CPU, メモリ 要求が高すぎるとスケジューリングに影響し、低すぎると安定性に影響します
リソース制限 kube_pod_container_resource_limits コンテナの制限 CPU, メモリ 制限が低すぎると、 CPU スロットリングや OOM
ノード割り当て可能 kube_node_status_allocatable ノードでスケジューリング可能なリソース CPU, メモリ クラスタリソース割り当て率の計算に使用
コンテナ使用量 container_cpu_usage_seconds_total, container_memory_working_set_bytes 実際の CPU CPUおよびメモリ使用量 コア/秒、バイト リクエスト/制限が妥当かどうかを判断するために使用

よくあるクエリ:

sum(kube_pod_container_resource_requests{resource="cpu"}) / sum(kube_node_status_allocatable{resource="cpu"}) * 100
sum(kube_pod_container_resource_requests{resource="memory"}) / sum(kube_node_status_allocatable{resource="memory"}) * 100

調査の提案: リソース計画は「リクエストされた値」と「実際の使用値」の両方を考慮すべきです。リクエストだけを見ると業務負荷を誤判断する可能性があり、使用量だけを見るとスケジューリング容量を見落とす可能性があります。

3.4 ワークロードレプリカ

監視次元 メトリック メトリクスの意味 共通スコープ/単位 異常なパフォーマンス
デプロイメントレプリカ kube_deployment_status_replicas 現在のデプロイメントレプリカ数 単位 期待されるレプリカと一致しない
更新されたレプリカ kube_deployment_status_replicas_updated 新しいバージョンに更新されたレプリカの数 単位 リリース中に長時間成長がない
利用できないレプリカ kube_deployment_status_replicas_unavailable 利用できないレプリカの数 単位 0より大きい場合、サービス容量が減少する
StatefulSet レプリカ kube_statefulset_status_replicas 現在の StatefulSet レプリカ数 単位 ステートフルサービスの異常レプリカ
StatefulSet 準備完了 kube_statefulset_status_replicas_ready 準備完了の StatefulSet レプリカ数 単位 Ready が期待されるレプリカより少ない場合、サービスは不完全である

調査の推奨事項: リリース異常時は確認する updated および unavailable. StatefulSet の異常については、注意する PVC、Pod の起動順序、およびノード親和性。

3.5 ジョブとバッチタスク

監視次元 メトリック メトリクスの意味 一般的な標準/単位 異常なパフォーマンス
実行中のジョブ kube_job_status_active 現在アクティブなジョブの数 カウント 長期間アクティブなジョブは、停止したジョブである可能性があります
失敗したジョブ kube_job_status_failed ジョブの失敗回数 カウント 失敗の増加はジョブログの確認が必要です
成功したジョブ kube_job_status_succeeded 正常に完了したジョブの数 カウント タスク完了の判断に使用されます
完了時間 kube_job_status_completion_time ジョブ完了時間 Unixタイムスタンプ 完了時間がない場合は、ジョブが完了していないことを示している可能性があります

調査の推奨事項: バッチタスクに異常がある場合は、 active, failed、および succeeded 失敗だけを見ると、長時間停止しているタスクを見逃す可能性があるため、一緒に確認してください。

3.6 PVC およびストレージオブジェクト

監視次元 メトリック メトリクスの意味 一般的な標準/単位 異常なパフォーマンス
PVC ステータス kube_persistentvolumeclaim_status_phase PVC バウンド、保留、およびその他のステータス 0/1 保留中の場合、Podはストレージをマウントできません
PVC 要求容量 kube_persistentvolumeclaim_resource_requests_storage_bytes 要求されたストレージ容量 PVC バイト 容量計画およびクォータ管理に使用されます

トラブルシューティングの提案: ステートフルサービスが起動に失敗した場合、Podを確認するだけでなく、 PVC がバインドされているか、ストレージクラスが利用可能か、基盤となるストレージの容量が不足していないかを確認する必要があります。

3.7 APIServer、etcd、およびコントロールプレーン

監視次元 メトリック メトリクスの意味 共通の指標/単位 異常なパフォーマンス
APIServer リクエスト数 apiserver_request_total APIServer リクエストの累積数 リクエスト/秒 突然のリクエストの急増は、コントローラー、 kubectlまたは業務コンポーネントから発生する場合があります
APIServer レイテンシ apiserver_request_duration_seconds_bucket APIServer リクエストの所要時間のバケット P50/P95/P99 レイテンシの増加は、スケジューリング、デプロイメント、およびコントローラーの同期に影響を与えます
etcd レイテンシ etcd_request_duration_seconds_bucket etcd リクエストの期間バケット P50/P95/P99 etcd が遅いと、コントロールプレーン全体が遅くなる可能性があります
キュー待機 workqueue_queue_duration_seconds_bucket コントローラーのキュー待機時間 パーセンタイル期間 キューのバックログ、リソース状態の同期が遅くなる
キュー処理 workqueue_work_duration_seconds_bucket コントローラー処理時間 パーセンタイル期間 コントローラーの処理が遅くなる

よくある質問:

sum by (verb, resource) (rate(apiserver_request_total[5m]))
histogram_quantile(0.95, sum(rate(apiserver_request_duration_seconds_bucket[5m])) by (le, verb, resource))

調査の推奨事項: コントロールプレーンの問題は通常、デプロイの遅延、Pod 状態の更新が遅い、応答が遅い、という形で現れます kubectl APIServer の待機時間と etcd の待機時間が同時に増加する場合、まず etcd、ディスク IO、およびコントロールプレーンノードの負荷を確認してください。

4. MySQL 監視

MySQL 監視は、インスタンスの可用性、接続の負荷を観察するために使用されます SQL リクエスト量、遅いクエリ、キャッシュヒット、テンポラリテーブル、ロック待機、ファイルハンドル、およびネットワークスループット。

4.1 インスタンスの状態とリクエスト量

監視次元 メトリック メトリクスの意味 共通スコープ/単位 異常な現れ
インスタンス稼働状況 up MySQLエクスポーターが収集可能かどうか 0/1 ~の場合 0インスタンス、ネットワーク、またはエクスポーターが異常であるか
稼働時間 mysql_global_status_uptime MySQL 稼働時間 減少はインスタンスの再起動を示す
総クエリ数 mysql_global_status_queries 累積クエリ数 回/秒 QPS 急増はビジネスのピークまたは異常なリクエストを示す場合がある
クエリ mysql_global_status_questions クライアントが開始したステートメントの累積数 回/秒 リクエストの負荷を評価するためにクエリと併せて確認する
コマンド統計 mysql_global_status_commands_total 各種コマンドの累積数 回/秒 select、insert、update、deleteなどのコマンドを区別できる

よくあるクエリ:

rate(mysql_global_status_queries[5m])
sum by (command) (rate(mysql_global_status_commands_total[5m]))

調査の提案: 〜の場合 QPS 上昇したら、まずコマンドの分布を確認する。もし select スキャンタイプの指標とともに増加する場合は、インデックスや遅いクエリに注意する。書き込みコマンドが増加する場合は、ロック待ち、ディスクIO、ホスト書き込み遅延の監視を続ける。

4.2 接続とスレッド

監視次元 メトリック メトリクスの意味 共通の指標/単位 異常なパフォーマンス
現在の接続数 mysql_global_status_threads_connected 現在接続中のスレッド数 上限に近づくと、新しい接続が失敗する可能性がある
アクティブスレッド mysql_global_status_threads_running 現在実行中のスレッド数 継続的な増加は通常、遅い実行またはロック待ちを示す SQL 実行中またはロック待ち
過去の最大接続数 mysql_global_status_max_used_connections 過去に使用された最大接続数 最大接続に近づいています_接続プールの評価が必要であることを示しています
最大接続数 mysql_global_variables_max_connections MySQL 最大接続の設定 接続使用率を計算するために使用されます
異常クライアント mysql_global_status_aborted_clients クライアントの異常切断の累計数 回/秒 ネットワークの問題、タイムアウト、またはクライアント側の例外
接続失敗 mysql_global_status_aborted_connects 接続失敗の合計数 回/秒 認証エラー、接続制限、ネットワーク異常など

よくあるクエリ:

mysql_global_status_threads_connected / mysql_global_variables_max_connections * 100

調査の提案: 接続数が多いことは必ずしもデータベースが遅いことを意味するわけではなく、アプリケーション接続プールの設定不備による場合もあります。 Threads_running 長時間高い状態が続くことはより懸念されます。通常、これは SQL 実行またはロック待ちの問題。

4.3 遅いクエリ、スキャン、およびソート

監視次元 メトリック メトリクスの意味 一般的な測定/単位 異常な動作
遅いクエリ mysql_global_status_slow_queries 遅いクエリの累積数 回/秒 増加はより多くの遅延を示す SQL
フルジョインスキャン mysql_global_status_select_full_join インデックスなしのジョインの数 回/秒 ジョイン条件のインデックスが欠けている可能性を示す
フルテーブルスキャン mysql_global_status_select_scan フルテーブルスキャンの数 回/秒 大規模テーブルでのフルスキャンはインスタンスを遅くする可能性がある
ソートマージ mysql_global_status_sort_merge_passes ソートに複数回のマージが必要な回数 回/秒 ソートバッファが不足しているか、ソートするデータが多すぎる

調査の提案: 遅いクエリが増加した場合、業務リリース時間と照らして確認する SQL 変更記録。スキャンとソートの指標が上昇した場合、通常はスローログ、実行計画、およびインデックス設計を参照します。

4.4 InnoDB バッファプール

監視次元 メトリック メトリクスの意味 共通の指標/単位 異常なパフォーマンス
バッファプールサイズ mysql_global_variables_innodb_buffer_pool_size InnoDB バッファプール構成サイズ バイト 小さすぎるとディスク読み取りが増加します
バッファプールページ mysql_global_status_buffer_pool_pages さまざまな種類のバッファプールページの数 ページ 汚れたページ、空きページ、データページ、その他のページを監視するために使用されます
ページサイズ mysql_global_status_innodb_page_size InnoDBページサイズ バイト ページ数を容量に変換するために使用されます

調査の提案: バッファプールのヒット率が低い場合、データベースはディスクにより多くアクセスします。ノードのディスク読み取りスループット、読み取り、およびiowaitと併せて評価する必要があります。 IOPS

4.5 一時テーブル、テーブルキャッシュ、およびファイルハンドル

監視次元 メトリック メトリクスの意味 共通の指標/単位 異常なパフォーマンス
一時テーブル mysql_global_status_created_tmp_tables 作成された一時テーブルの総数 回/秒 クエリの複雑さの増加
ディスク一時テーブル mysql_global_status_created_tmp_disk_tables 作成されたディスク一時テーブルの総数 回/秒 ディスクI/Oの負荷増大、 SQL 処理が遅くなる可能性がある
一時ファイル mysql_global_status_created_tmp_files 作成された一時ファイルの総数 回/秒 一時ファイルの増加
テーブルロック即時 mysql_global_status_table_locks_immediate テーブルロックが即座に取得された回数 回/秒 通常の参照指標
テーブルロック待機 mysql_global_status_table_locks_waited テーブルロックを待機した回数 回/秒 ロック競合の増加
テーブルキャッシュヒット mysql_global_status_table_open_cache_hits テーブルオープンキャッシュヒットの回数 回/秒 ヒットが少ない場合、テーブル開放が頻繁であることを示す可能性がある
テーブルキャッシュミス mysql_global_status_table_open_cache_misses テーブルオープンキャッシュミスの数 回/秒 テーブルキャッシュの評価が必要
テーブルキャッシュオーバーフロー mysql_global_status_table_open_cache_overflows テーブルオープンキャッシュオーバーフローの数 回/秒 設定不足またはテーブルが多すぎる
オープンテーブル mysql_global_status_open_tables 現在のオープンテーブル数 キャッシュ制限に近づくとリスクが増加
テーブルキャッシュ設定 mysql_global_variables_table_open_cache 表_開く_設定されたキャッシュ値 使用率計算用
オープンファイル mysql_global_status_open_files 現在のオープンファイル数 影響を与える可能性がある SQL ファイル制限に近づくと実行に影響
ファイル制限 mysql_global_variables_open_files_limit MySQL ファイルハンドルの制限 ファイルハンドル使用率を計算するために使用

トラブルシューティングの提案: 一時テーブル、ロック待ち、テーブルキャッシュのミスは、遅いクエリと一緒に発生することがよくあります。ディスク一時テーブルが増加した場合は、ノードの書き込みI/O、ディスクのレイテンシ、および SQL ソート/グループ化に注意してください。

4.6 ネットワークスループット

監視次元 メトリック メトリクスの意味 共通単位 異常なパフォーマンス
着信トラフィック mysql_global_status_bytes_received 累積 MySQL 受信バイト数 バイト/秒 リクエストボディや書き込みトラフィックの増加
発信トラフィック mysql_global_status_bytes_sent 累積送信バイト数 MySQL バイト/秒 大きなクエリ、フルテーブルスキャン、バルクエクスポートはアウトバウンドトラフィックを増加させます

よくある質問:

rate(mysql_global_status_bytes_received[5m])
rate(mysql_global_status_bytes_sent[5m])

調査の提案: 〜の場合 MySQL アウトバウンドトラフィックが突然増加した場合、通常は大きな結果セット、エクスポートタスク、ページネーションのないクエリに注意する必要があります。

5. MongoDB 監視

MongoDB 監視は、インスタンスの状態、接続数、操作量、クエリスキャン、メモリ使用量、ネットワークスループット、およびレプリケーションバッファの状況を観察するために使用されます。

5.1 インスタンスと接続

監視次元 メトリック メトリクスの意味 一般的な測定/単位 異常なパフォーマンス
インスタンス稼働状況 up mongo exporter がデータを収集できるかどうか 0/1 もし 0、インスタンスまたはエクスポーターに異常があります
稼働時間 mongodb_ss_uptime MongoDB 稼働時間 値が小さいほど、インスタンスの再起動を示します
接続数 mongodb_ss_connections 現在の接続関連統計 異常に高い接続数は、接続プールまたはビジネスピークを示している可能性があります

調査の提案:接続数が上昇した場合、まずビジネスピーク、接続プール構成の変更、またはクライアントの異常な再接続がないか確認してください。

5.2 操作とドキュメント処理

監視次元 メトリック メトリクスの意味 一般的な測定/単位 異常なパフォーマンス
操作数 mongodb_ss_opcounters 挿入、クエリ、更新、削除などの操作の累積回数 回/秒 特定の種類の操作が急増することは、ビジネスアクセスパターンの変化を示す
ドキュメント処理 mongodb_ss_metrics_document 挿入、更新、削除、返却などのドキュメントの累積数 回/秒 返却が実際に必要な数よりも大幅に多い場合、結果セットが大きすぎる可能性がある
インデックスエントリのスキャン mongodb_ss_metrics_queryExecutor_scanned クエリ中にスキャンされたインデックスエントリの数 回/秒 過剰なスキャンは、インデックスの不適切さを示している可能性がある
スキャンされたドキュメント mongodb_ss_metrics_queryExecutor_scannedObjects クエリ中にスキャンされたドキュメントの数 回/秒 ドキュメントのスキャンが多いことは、クエリ効率の低さを示す

よくある問い合わせ:

sum by (type) (rate(mongodb_ss_opcounters[5m]))

調査の推奨事項: よく見られる現れ方 MongoDB 遅いクエリは、scanned/scannedObjectsの増加です。遅いログやインデックスヒットと組み合わせて分析する必要があります。

5.3 メモリ、ネットワーク、ディスク

監視次元 メトリック メトリクスの意味 共通の単位/測定 異常な現れ
常駐メモリ mongodb_ss_mem_resident MongoDB 常駐メモリ MB または バイト 継続的な増加はホストメモリの確認が必要です
仮想メモリ mongodb_ss_mem_virtual MongoDB 仮想メモリ MB または バイト 単独の増加は必ずしも実際の負荷を示すわけではありません
受信トラフィック mongodb_ss_network_bytesIn MongoDB 累積受信バイト数 バイト/秒 書き込みまたは要求トラフィックの増加
送信トラフィック mongodb_ss_network_bytesOut MongoDB 累積送信バイト数 バイト/秒 大きなクエリやエクスポートタスクによる送信トラフィックの増加
ホスト読み取り IO node_disk_reads_completed_total 読み取り IOPS が存在するノードで MongoDB 所在する 回/秒 クエリスキャンによる読み取り IO の増加
ホスト書き込み IO node_disk_writes_completed_total 書き込み IOPS が存在するノードで MongoDB が配置されている 回/秒 書き込みまたはジャーナルの圧力の増加

トラブルシューティングの提案: MongoDB メモリおよびディスクのパフォーマンスは、ノードのメモリおよびディスクIOと合わせて考慮する必要があります。インスタンスのメトリクスをホストのディスク読み書きと一緒に確認すると、 MongoDB 問題がシステム自体によるものか、それとも基盤のリソースが遅いのかを判断しやすくなります。

5.4 レプリケーションバッファ

| 監視次元 | メトリック | メトリクスの意味 | 一般的な測定/単位 | 異常なパフォーマンス | | — | — | — | — | | レプリケーションバッファサイズ | mongodb_ss_metrics_repl_buffer_sizeBytes | レプリケーションバッファのサイズ | バイト | バッファが継続的に増加している場合、レプリケーションの消費がタイムリーに行われていないことを示します |

トラブルシューティングの提案: 異常なレプリケーションバッファは通常、スレーブの処理能力、ネットワーク、またはディスク書き込みに関連しています。レプリケーション遅延、ノードのネットワーク、およびディスク書き込みのメトリクスと一緒に分析する必要があります。

6. Redis 監視

Redis 監視は、インスタンスの可用性、接続数、コマンド処理、メモリレベル、キー空間、ヒット率、強制削除、およびネットワークスループットを観察するために使用されます。

6.1 インスタンスとクライアント

監視次元 メトリック メトリクスの意味 一般的な測定/単位 異常なパフォーマンス
インスタンス稼働状況 up 実行が成功したかどうか; 失敗した場合は、エラープロンプトと連携してトラブルシューティングを行います。 Redis エクスポーターを収集できます 0/1 ~の場合 0、インスタンスまたはエクスポーターに異常があります
稼働時間 redis_uptime_in_seconds Redis 稼働時間 減少はインスタンスの再起動を示します
クライアント接続 redis_connected_clients 現在のクライアント接続数 急激な増加は接続プールや再接続ストームを示す可能性があります

6.2 コマンド、メモリ、キー空間

監視次元 メトリック メトリクスの意味 共通単位 異常な動作
処理されたコマンド redis_commands_processed_total 総数 Redis 処理されたコマンド 回/秒 突然の QPS 急増はインスタンスに影響を与える可能性があります CPU
コマンド分類 redis_commands_total タイプ別のコマンド総数 回/秒 get、set、delなどのコマンドの変化を特定できます
使用中のメモリ redis_memory_used_bytes 現在 Redis メモリ使用量 バイト 最大メモリに近づくと、追い出しが発生する可能性があります
最大メモリ redis_memory_max_bytes Redis maxmemory の設定 バイト メモリ使用率を計算するために使用
キーの数 redis_db_keys 各DBのキーの数 キーの異常な増加は、期限切れなしのキャッシュや書き込み異常を示している可能性があります
有効期限付きキー redis_db_keys_expiring 有効期限が設定されているキーの数 低い割合はキャッシュのライフサイクルに注意が必要です

よくあるクエリ:

rate(redis_commands_processed_total[5m])
redis_memory_used_bytes / redis_memory_max_bytes * 100

6.3 ヒット率、追い出し、ネットワーク

監視次元 メトリック メトリクスの意味 共通の指標/単位 異常なパフォーマンス
ヒット数 redis_keyspace_hits_total キーのヒット総数 回/秒 ミスとともにヒット率を計算
ミス数 redis_keyspace_misses_total キーのミス総数 回/秒 ミスの増加はバック・トゥ・ソースの負荷増加につながる可能性があります
期限切れキー redis_expired_keys_total 期限切れキーの総数 回/秒 有効期限の集中消去(Expiry storms)は CPU ジッターを引き起こす可能性があります
追い出されたキー redis_evicted_keys_total 削除されたキーの総数 回/秒 成長はメモリの圧迫または maxmemory 不足を示します
着信トラフィック redis_net_input_bytes_total 受信した総バイト数 Redis バイト/秒 書き込みまたは要求トラフィックの増加
発信トラフィック redis_net_output_bytes_total 送信した総バイト数 Redis バイト/秒 大量の値またはバッチ読み取りによって引き起こされる高い送信トラフィック

よくあるクエリ:

rate(redis_keyspace_hits_total[5m]) / (rate(redis_keyspace_hits_total[5m]) + rate(redis_keyspace_misses_total[5m])) * 100
rate(redis_evicted_keys_total[5m])

調査の推奨: Redisでは、メモリと削除のリスクに焦点を当てます。ヒット率の低下はバックエンドデータベースへの圧力を転送します。削除の増加は、キャッシュ容量または削除戦略の評価が必要であることを示します。

7. Kafka 監視

Kafka 監視は、ブローカー数、トピック/パーティションの状態、プロデュースおよびコンシュームのオフセット、コンシューマーグループの遅延、メンバー数、およびレプリカ同期の状態を観察するために使用されます。

7.1 ブローカー、トピックおよびパーティション

監視次元 メトリック メトリクスの意味 共通の指標/単位 異常なパフォーマンス
ブローカーの数 kafka_brokers 現在表示されているブローカーの数 数が減少している場合、ブローカーが利用できないか、エクスポーターにアクセスできないことを示します
トピックパーティション kafka_topic_partitions トピックのパーティション数 パーティションの変更は、同時実行性や消費能力に影響します
現在のパーティションオフセット kafka_topic_partition_current_offset パーティションの最新オフセット オフセット / 増加率 継続的なプロダクション書き込み中は連続的に増加する必要があります
パーティション最古オフセット kafka_topic_partition_oldest_offset パーティション最古オフセット オフセット 保持データの範囲を観察するために使用されます

よくあるクエリ:

sum by (topic) (rate(kafka_topic_partition_current_offset[5m]))

調査提案: 生産率が異常な場合、まずトピックの現在のオフセット成長を確認してください。ビジネスが書き込みを確認しており、オフセットが増加していない場合は、プロデューサー側のエラー、ブローカーの状態、およびトピック設定を確認してください。

7.2 コンシューマーグループと遅延

監視次元 メトリック メトリクスの意味 一般的な測定/単位 異常なパフォーマンス
消費オフセット kafka_consumergroup_current_offset コンシューマーグループによって消費された現在のオフセット オフセット / 増加率 成長がない場合、消費が停止しているか、スタックしていることを示します
パーティション遅延 kafka_consumergroup_lag パーティション上のコンシューマーグループのバックログ 遅延が増加している場合、消費が生産に追いついていないことを示します
グループ合計遅延 kafka_consumergroup_lag_sum コンシューマーグループの合計バックログ 合計遅延が継続的に増加している場合、ビジネスの遅延が拡大していることを示します
グループメンバー kafka_consumergroup_members コンシューマーグループのメンバー数 メンバー数の減少は消費能力の低下につながる可能性があります

よくあるクエリ:

sum by (consumergroup, topic) (kafka_consumergroup_lag)
sum by (consumergroup, topic) (rate(kafka_consumergroup_current_offset[5m]))

トラブルシューティングの提案: コアビジネスメトリクスは Kafka Lag です。Lag が増加した場合、最初にコンシューマーメンバーの数が減少していないかを確認し、次に消費速度が低下していないかを確認し、最後にアプリケーションの処理時間、下流の依存関係、Broker の IO を確認します。

7.3 レプリカと ISR

監視次元 メトリック メトリクスの意味 一般的な測定/単位 異常なパフォーマンス
レプリカの数 kafka_topic_partition_replicas パーティションレプリカの数 予想より少ないレプリカは信頼性を低下させます
ISR レプリカ kafka_topic_partition_in_sync_replica パーティションインシンクレプリカの数 の低下は ISR レプリカの遅延や Broker の問題を示します
優先リーダー kafka_topic_partition_leader_is_preferred リーダーが優先レプリカかどうか 0/1 長期的な不均衡は、一部のブローカーに高い負荷をかける可能性があります

トラブルシューティングの提案: 低下は ISR 通常の遅延よりも信頼性リスクを示します。ブローカーの状態、ネットワーク、ディスク書き込み遅延、レプリカ同期を確認してください。

8. MinIO オブジェクトストレージの監視

MinIO 監視は、オブジェクトストレージクラスタ、ノードおよびディスクの状態、バケット容量、 S3 リクエスト、エラー、トラフィック、プロセスハンドル、修復タスクの活動を観察するために使用されます。

8.1 クラスタノードとディスク

監視次元 メトリック メトリクスの意味 共通の指標/単位 異常な現れ
オンラインノード minio_cluster_nodes_online_total オンラインノード数 MinIO ノード 数の減少はノードが利用不可であることを示します
オフラインノード minio_cluster_nodes_offline_total オフラインノード数 MinIO ノード 0より大きい場合は、クラスタの可用性に注意が必要です
オンラインディスク minio_cluster_disk_online_total オンラインディスクの数 ディスクの減少は冗長性と書き込み能力に影響します
オフラインディスク minio_cluster_disk_offline_total オフラインディスクの数 0を超える場合はディスクまたはマウントのトラブルシューティングが必要です
使用可能容量 minio_cluster_capacity_usable_free_bytes クラスタ使用可能容量 バイト 継続的な減少は容量不足のリスクを示します

トラブルシューティングの提案: オブジェクトストレージの場合、まずノードとディスクのオンライン状態を確認してください。オフラインディスクは数量だけで評価せず、消去符号の冗長戦略と組み合わせてリスクを判断する必要があります。

8.2 バケット容量とオブジェクト数

監視次元 メトリック メトリクスの意味 共通の指標/単位 異常なパフォーマンス
バケット容量 bucket_usage_size バケットの使用容量 バイト 急速な容量の増加には拡張の評価が必要です
オブジェクト数 bucket_objects_count バケット内のオブジェクト数 カウント 小さなオブジェクトが多すぎると、メタデータやスキャンの負荷が増加します
オブジェクトサイズの分布 minio_bucket_objects_size_distribution バケット内のオブジェクトサイズの分布 バケット別統計 オブジェクト分布の変化は、ストレージおよびリクエストのパフォーマンスに影響します

よくあるクエリ:

sum by (bucket) (bucket_usage_size)
sum by (bucket) (bucket_objects_count)

調査推奨事項: 容量の増加はバケットごとに個別に分析する必要があります。オブジェクト数が急速に増加しても容量の増加が明らかでない場合、通常は小さなオブジェクトの増加によるものです。ライフサイクルのクリーンアップやビジネス書き込みパターンに注意する必要があります。

8.3 S3 リクエスト、エラー、トラフィック

監視次元 メトリック メトリクスの意味 一般的な測定/単位 異常なパフォーマンス
S3 リクエスト数 minio_s3_requests_total 累積数 S3 API リクエスト 回/秒 リクエストの急増は、ビジネスのピークや再試行が原因の可能性があります
S3 エラー件数 minio_s3_requests_errors_total 累積数 S3 API エラー 回/秒 オブジェクトの読み書きに影響するエラー率の上昇
受信トラフィック minio_s3_traffic_received_bytes 累積 S3 受信バイト数 バイト/秒 アップロードトラフィックの増加
送信トラフィック minio_s3_traffic_sent_bytes 累積 S3 送信バイト数 バイト/秒 ダウンロードまたはオリジン取得トラフィックの増加

よくあるクエリ:

sum by (api) (rate(minio_s3_requests_total[5m]))
sum(rate(minio_s3_requests_errors_total[5m])) / sum(rate(minio_s3_requests_total[5m])) * 100

調査の推奨: エラー率が増加した場合、まずはそれを分類する S3 エラー率が増加した場合、まずそれをカテゴリーごとに分解する API タイプを入力し、対応するバケット、ノードディスクの状態、およびネットワークトラフィックを確認します。

8.4 ノードプロセス、ファイルハンドル、および IO

監視次元 メトリック メトリクスの意味 共通の指標/単位 異常な現れ
ノードディスク使用量 minio_node_disk_used_bytes のディスク使用量 MinIO ノード バイト 単一ノードの容量不均衡
オープンファイルハンドル minio_node_file_descriptor_open_total によって開かれたファイルハンドルの数 MinIO プロセス カウント システム制限に近づくとリクエストが失敗することがあります
システムコールの読み取り minio_node_syscall_read_total 読み込みシステムコールの累積数 回/秒 読み込みコールの異常な増加
書き込みシステムコール minio_node_syscall_write_total 書き込みシステムコールの累積数 回/秒 書き込みコールの異常な増加
プロセス読み取りバイト数 minio_node_io_rchar_bytes プロセスによって読み取られた累積バイト数 バイト/秒 読み取り負荷の増加
プロセス書き込みバイト数 minio_node_io_wchar_bytes プロセスによって書き込まれた累積バイト数 バイト/秒 書き込み負荷の増加
ゴルーチンの数 minio_node_go_routine_total ゴルーチンの数(中) MinIO プロセス カウント 継続的な増加はリクエストバックログやリークを示す可能性があります
開始時間 minio_node_process_starttime_seconds MinIO プロセス開始時間 Unixタイムスタンプ 変化はプロセス再起動を示します

調査の提案: MinIO パフォーマンス問題の場合、考慮してください S3 リクエスト、ノードディスク、プロセスIO、およびゴルーチンをまとめて。リクエスト量が多いだけでは必ずしも異常ではありません。エラー率、IO遅延、およびディスクのオフライン状態がより明確なリスクの指標です。

8.5 ヒールと使用状況アクティビティ

監視次元 メトリック メトリクスの意味 一般的な標準/単位 異常な動作
ヒールアクティビティ minio_heal_time_last_activity_nano_seconds 最後のヒールアクティビティ時間 ナノ秒タイムスタンプ 長時間または頻繁なヒールはディスクの健康状態に注意を要します
使用状況アクティビティ minio_usage_last_activity_nano_seconds 最後の使用状況スキャンアクティビティ時間 ナノ秒タイムスタンプ 異常な使用状況スキャンは容量統計の精度に影響を与える可能性があります

調査の提案: ノードまたはディスクの異常回復後、ヒールアクティビティが正常に進行しているかを監視し、オブジェクト冗長性が長時間リスクにさらされないようにしてください。

9. Elasticsearch 監視

Elasticsearch 監視は、検索クラスターの健全性、ノード数、シャードの分布、インデックスの読み書き操作、キャッシュ、 JVMスレッドプール、ディスク、およびネットワークの監視に使用されます。ESの障害は通常、単一の指標によって決まるものではなく、より一般的には「シャードの異常 JVM プレッシャー スレッドプールの拒否 ディスクのウォーターマーク」が同時に現れます。

9.1 クラスターの健全性とノード

監視次元 メトリック メトリクスの意味 一般的な測定/単位 異常な動作
クラスターの健全性 elasticsearch_cluster_health_status ESクラスターの健全性ステータス ステータス値 黄/赤はレプリカまたはプライマリシャードの異常を示します
ノード数 elasticsearch_cluster_health_number_of_nodes クラスター内のノード数 カウント ノード数の減少はノードがオフラインになっていることを示す場合があります
データノード数 elasticsearch_cluster_health_number_of_data_nodes クラスター内のデータノードの数 カウント データノードの減少はシャードの容量および読み書き能力に影響します
保留中のタスク elasticsearch_cluster_health_number_of_pending_tasks クラスタ内の保留中タスクの数 カウント 継続的な増加はマスターまたはクラスタの状態更新が遅いことを示します
アクティブプライマリシャード elasticsearch_cluster_health_active_primary_shards アクティブプライマリシャードの数 減少している場合はリスクが高く、インデックスの可用性に影響を与える可能性があります
アクティブシャード elasticsearch_cluster_health_active_shards アクティブシャードの総数 減少はシャードが完全に回復していないことを示します
初期化中のシャード elasticsearch_cluster_health_initializing_shards 初期化中のシャードの数 長時間減少しない場合は回復が遅いことを示します
移動中のシャード elasticsearch_cluster_health_relocating_shards 移動中のシャードの数 移動が多すぎるとネットワークおよびディスクへの負荷が増加します
割り当てられていないシャード elasticsearch_cluster_health_unassigned_shards 未割り当てシャードの数 0より大きい場合、シャードがノードに割り当てられていないことを示します
遅延未割り当て elasticsearch_cluster_health_delayed_unassigned_shards 遅延未割り当てシャードの数 ノードがオフラインになった後の再割り当てを待機中

よくあるクエリ:

elasticsearch_cluster_health_status
elasticsearch_cluster_health_unassigned_shards

調査の提案: ESはまず、ヘルスステータスと未割り当てシャードを確認する必要があります。赤ステータスはプライマリシャードの処理を優先すべきで、黄色は主に未割り当てのレプリカが原因であり、長時間放置することはできません。

9.2 ディスク容量とファイルシステム

監視次元 メトリック メトリクスの意味 一般的な測定 / 単位 異常なパフォーマンス
データディスク合計 elasticsearch_filesystem_data_size_bytes ESデータディレクトリの総容量 バイト ディスク使用率を計算するために使用されます
利用可能データディスク elasticsearch_filesystem_data_available_bytes ESデータディレクトリの利用可能容量 バイト 利用可能なスペースが不足すると、シャードの移行や書き込み制限が発生する可能性があります

よくある質問:

(1 - elasticsearch_filesystem_data_available_bytes / elasticsearch_filesystem_data_size_bytes) * 100

調査の提案: ESはディスク使用量に非常に敏感です。ディスク使用量が高すぎると、シャードの移行、読み取り専用インデックス、または書き込み失敗が発生する可能性があります。インデックスの成長、保持ポリシー、ノードのディスク配分を監視する必要があります。

9.3 文書、インデックス、および削除

監視次元 メトリック メトリクスの意味 共通単位 異常な動作
文書数 elasticsearch_indices_docs 現在の文書数 文書の急速な連続的成長には容量評価が必要です
削除された文書 elasticsearch_indices_docs_deleted 削除された文書の数 高い削除率はマージ圧力を引き起こす可能性があります
インデックス書き込み回数 elasticsearch_indices_indexing_index_total インデックス操作の累積回数 回/秒 書き込みの急増は、 CPU、ディスク、およびリフレッシュの圧力を増加させます
インデックス書き込み時間 elasticsearch_indices_indexing_index_time_seconds_total インデックス操作の累積時間 秒/秒 書き込み時間の増加は書き込みパスを遅くする
削除操作回数 elasticsearch_indices_indexing_delete_total 削除操作の累積回数 回/秒 削除の急増はセグメントマージの圧力を引き起こす可能性がある
削除操作の期間 elasticsearch_indices_indexing_delete_time_seconds_total 削除操作の累積期間 秒/秒 削除期間の増加

よくある質問:

sum by (cluster) (rate(elasticsearch_indices_indexing_index_total[5m]))
rate(elasticsearch_indices_indexing_index_time_seconds_total[5m]) / rate(elasticsearch_indices_indexing_index_total[5m])

トラブルシューティングの推奨: 書き込みが遅いときは、書き込みだけを見ないでください QPS. リフレッシュ、マージ、トランスログ、スレッドプールの拒否、ディスクIOも考慮する必要があります。

9.4 クエリおよびGetリクエスト

監視次元 メトリック メトリクスの意味 一般的な測定/単位 異常な動作
クエリリクエスト数 elasticsearch_indices_search_query_total 検索クエリの累積数 回/秒 クエリの急増
クエリ待機時間 elasticsearch_indices_search_query_time_seconds 検索クエリの累積時間 秒/秒 平均クエリ待機時間の増加
Fetch リクエスト数 elasticsearch_indices_search_fetch_total 検索フェーズでの累積数 回/秒 大きな結果セットは Fetch 回数を増加させる可能性があります
Fetch 待機時間 elasticsearch_indices_search_fetch_time_seconds 検索 Fetch の累積時間 秒/秒 遅い Fetch は通常、大きな結果セット、ディスク、またはネットワークに関連しています
Get リクエスト数 elasticsearch_indices_get_exists_total, elasticsearch_indices_get_missing_total Get ヒットおよびミスの累積数 回/秒 ミスの増加は、存在しないドキュメントへのビジネスアクセスを示す場合があります
Get 所要時間 elasticsearch_indices_get_time_seconds, elasticsearch_indices_get_exists_time_seconds, elasticsearch_indices_get_missing_time_seconds Get リクエストの累積時間 秒/秒 遅い Get は、読み取りパスへの負荷増加を示します

よくあるクエリ:

rate(elasticsearch_indices_search_query_time_seconds[5m]) / rate(elasticsearch_indices_search_query_total[5m])
rate(elasticsearch_indices_search_fetch_time_seconds[5m]) / rate(elasticsearch_indices_search_fetch_total[5m])

トラブルシューティングの推奨事項: 遅いクエリは、クエリとフェッチを区別する必要があります。遅いクエリは、クエリ条件、インデックス構造、シャードの負荷とより関連があります。遅いフェッチは、返されるフィールドが多い、結果セットが大きい、またはディスク読み取りが遅い場合により一般的です。

9.5 セグメント、マージ、リフレッシュ、およびトランザクションログ

監視次元 メトリック メトリクスの意味 共通の指標/単位 異常な症状
セグメント数 elasticsearch_indices_segments_count 現在のセグメント数 セグメント数が多すぎるとクエリやメモリに影響を与える可能性があります
セグメントメモリ elasticsearch_indices_segments_memory_bytes セグメントによって占有されるメモリ バイト 連続的な増加は圧迫する可能性があります JVM
マージの数 elasticsearch_indices_merges_total マージ操作の累積回数 回/秒 頻繁なマージは高い書き込みまたは削除の負荷を示します
マージ内のドキュメント数 elasticsearch_indices_merges_docs_total マージによって処理された累積ドキュメント数 件/秒 増加するマージ作業負荷
マージデータ量 elasticsearch_indices_merges_total_size_bytes_total マージによって処理された累積データ バイト/秒 大規模なマージはディスクIOを飽和させる可能性があります
マージ期間 elasticsearch_indices_merges_total_time_seconds_total マージに費やされた累積時間 秒/秒 遅いマージは書き込みおよびクエリ性能に影響を与えることがあります
リフレッシュ回数 elasticsearch_indices_refresh_total 累積リフレッシュ回数 回/秒 頻繁なリフレッシュはオーバーヘッドを増加させます
リフレッシュ期間 elasticsearch_indices_refresh_time_seconds_total 累積リフレッシュ時間 秒/秒 遅いリフレッシュはリアルタイム近似の可視性に影響します
フラッシュ回数 elasticsearch_indices_flush_total 累積フラッシュ回数 回/秒 頻繁なフラッシュはトランスログや書き込み負荷に関連する場合があります
フラッシュ期間 elasticsearch_indices_flush_time_seconds 累積フラッシュ時間 秒/秒 遅いフラッシュは安定性に影響を与える可能性があります
トランスログ操作 elasticsearch_indices_translog_operations 現在のトランスログ操作数 継続的な蓄積にはフラッシュへの注意が必要です
トランスログサイズ elasticsearch_indices_translog_size_in_bytes 現在のトランスログサイズ バイト 過剰なサイズは回復時間に影響を与える可能性があります
ストアスロットル elasticsearch_indices_store_throttle_time_seconds_total インデックスストアのスロットリングの累積時間 秒/秒 スロットリングの増加、ディスクによる書き込みに影響

調査の提案:書き込み負荷が高い場合、マージ、リフレッシュ、フラッシュ、トランスログが同時に変化します。マージ時間とストアスロットルの増加は通常、ディスクがESに影響を与え始めたことを示します。

9.6 キャッシュとサーキットブレーカー

監視次元 メトリック メトリックの意味 共通の単位/測定 異常な動作
クエリキャッシュメモリ elasticsearch_indices_query_cache_memory_size_bytes クエリキャッシュによって使用されるメモリ バイト 過剰な使用は JVM
クエリキャッシュの削除 elasticsearch_indices_query_cache_evictions クエリキャッシュ削除の累積数 回/秒 頻繁な削除はキャッシュが不安定であることを示す
フィールドデータメモリ elasticsearch_indices_fielddata_memory_size_bytes フィールドデータによって使用されるメモリ バイト フィールドデータの使用量が高いと、メモリプレッシャーが簡単に発生する可能性がある
フィールドデータの削除 elasticsearch_indices_fielddata_evictions フィールドデータ削除の累積数 回/秒 高いクエリまたは集計の負荷
フィルターキャッシュの削除 elasticsearch_indices_filter_cache_evictions フィルターキャッシュ削除の累積数 回/秒 頻繁なフィルターキャッシュの無効化
ブレーカー推定サイズ elasticsearch_breakers_estimated_size_bytes サーキットブレーカーの推定メモリ バイト 制限に近づくとクエリが拒否される場合がある
ブレーカー制限 elasticsearch_breakers_limit_size_bytes サーキットブレーカー制限 バイト ブレーカー使用率を計算するために使用
ブレーカーのトリガー elasticsearch_breakers_tripped 回路遮断器が作動した回数 回/増分 増加の説明:メモリリスクのためにブロックされたリクエスト

よくあるクエリ:

elasticsearch_breakers_estimated_size_bytes / elasticsearch_breakers_limit_size_bytes * 100
increase(elasticsearch_breakers_tripped[10m])

調査の推奨事項:集計クエリ、ソート、およびスクリプトクエリは、フィールドデータおよび遮断器の使用量を簡単に増加させる可能性があります。遮断器が作動した場合、通常はクエリサイズを制限し、インデックスマッピングを最適化するか、クエリ方法を調整する必要があります。

9.7 JVM, CPU、およびロード

監視次元 メトリック メトリクスの意味 一般的な測定/単位 異常なパフォーマンス
JVM 使用メモリ elasticsearch_jvm_memory_used_bytes 現在 JVM 使用メモリ バイト 限界に近い状態が続き、GC圧力が増加
JVM 最大メモリ elasticsearch_jvm_memory_max_bytes 利用可能最大 JVM メモリ バイト 計算に使用される JVM 使用量
JVM コミット済みメモリ elasticsearch_jvm_memory_committed_bytes JVM コミットされたメモリ バイト 観察する JVM メモリ割り当て
JVM メモリプールピーク elasticsearch_jvm_memory_pool_peak_used_bytes 各メモリプールのピーク使用量 バイト 古い世代の高いピークに注意が必要
GCカウント elasticsearch_jvm_gc_collection_seconds_count GCの発生回数 回/秒 GCが頻繁に発生すると、レイテンシが変動する可能性があります
GC時間 elasticsearch_jvm_gc_collection_seconds_sum GCの合計時間 秒/秒 長時間のGCはクエリや書き込みに影響を与える可能性があります
プロセス CPU elasticsearch_process_cpu_percent ESプロセス CPU 使用量 パーセンテージ 長時間の高負荷 CPU 重いクエリや書き込みの負荷を示している可能性があります
システム負荷 elasticsearch_os_load1, elasticsearch_os_load5, elasticsearch_os_load15 ノード 1/5/15 分ロード ロード値 コアより高いロードは CPU 明らかなタスクのキューイングを示します
オープンファイル数 elasticsearch_process_open_files_count ESプロセスによって開かれたファイルの数 システムの制限に近づくと、インデックスファイルへのアクセスに影響を与える可能性があります

よくある問い合わせ:

elasticsearch_jvm_memory_used_bytes / elasticsearch_jvm_memory_max_bytes * 100
rate(elasticsearch_jvm_gc_collection_seconds_sum[5m])

調査の提案: より大きなES JVM メモリが多ければ良いわけではありません。 JVM 使用量、GC時間、フィールドデータ、クエリキャッシュ、およびブレーカーは、メモリ圧迫がクエリによるものか、ヒープサイズとデータ規模の不一致によるものかを判断するために一緒に監視する必要があります。

9.8 スレッドプールとネットワーク

監視次元 メトリック メトリクスの意味 一般的な測定/単位 異常なパフォーマンス
アクティブスレッド elasticsearch_thread_pool_active_count スレッドプール内のアクティブスレッド数 カウント 長期間の高アクティブスレッドは、重い処理圧力を示します
完了したタスク elasticsearch_thread_pool_completed_count スレッドプールによって完了したタスクの累積数 回数/秒 処理スループットを観察するために使用
拒否されたタスク elasticsearch_thread_pool_rejected_count スレッドプールによって拒否されたタスクの累積数 回数/秒 増加は、スレッドプールまたはキューが満杯であることを示します
受信トラフィック elasticsearch_transport_rx_size_bytes_total トランスポートによって受信された累積バイト数 バイト/秒 ノード間通信またはリクエストトラフィックの増加
送信トラフィック elasticsearch_transport_tx_size_bytes_total トランスポートによって送信された累計バイト数 バイト/秒 シャードの移動、クエリ、またはレプリケーションによるトラフィックの増加

よくある問い合わせ:

sum by (type) (rate(elasticsearch_thread_pool_rejected_count[5m]))
rate(elasticsearch_transport_rx_size_bytes_total[5m]) + rate(elasticsearch_transport_tx_size_bytes_total[5m])

調査の提案:スレッドプールの拒否は非常に直接的なビジネスリスクの信号です。書き込みの拒否の場合は、bulk/indexスレッドプールを確認してください。検索の拒否の場合は、searchスレッドプールを確認し、その後に CPU, JVMおよびディスクIOと組み合わせてボトルネックを特定します。

10. アプリケーションサービスの監視

アプリケーションの監視は、一般的なサーバーサイドのリクエスト、クライアントサイドの依存呼び出し、ランタイムリソース、共同編集のビジネスリンク、およびRSサービスのタスクをカバーします。アプリケーション指標の焦点は個々のリソースの閾値ではなく、リクエスト量、エラー、レイテンシ、および依存関係の健全性です。

10.1 一般的なサーバーサイドのメトリクス

監視次元 メトリック メトリクスの意味 共通スコープ/単位 異常なパフォーマンス
サービス稼働時間 up アプリケーションエクスポーターまたはメトリクスエンドポイントが取得可能かどうか 0/1 0 メトリクスがアクセスできない、またはサービスが異常であることを意味する
ビルド情報 ego_build_info アプリケーションのビルドバージョン、ブランチ、およびその他の情報 ラベル情報 リリースバージョンを確認するために使用
起動回数 ego_server_started_total サーバー起動の累積回数 回/増分 増加はプロセスの再起動やリリースを示す
サーバーリクエスト ego_server_handle_total サーバーリクエストの累積回数 回/秒 リクエストの急増や急減はビジネス状況と組み合わせて判断する必要がある
サーバー側の時間消費 ego_server_handle_seconds_count, ego_server_handle_seconds_bucket サーバー側のリクエスト時間統計 P50/P95/P99 遅延の増加はユーザー体験に影響する

よくある問い合わせ:

sum by (service, method) (rate(ego_server_handle_total[5m]))
histogram_quantile(0.95, sum(rate(ego_server_handle_seconds_bucket[5m])) by (le, service, method))

調査の提案:サーバー側の異常については、まずリクエスト量が変化しているかどうかを確認し、その後エラーや遅延を確認してください。遅延が増加しているがリソースが高くない場合は、下流の依存関係呼び出しやキューを引き続き調査します。

10.2 クライアント依存関係呼び出し

監視の指標 メトリック メトリクスの意味 一般的な粒度/単位 異常な挙動
クライアント呼び出し量 ego_client_handle_total アプリケーションがクライアントとして下流を呼び出した回数 回/秒 下流呼び出し量の突然の増加、依存関係の負荷を増加させる可能性がある
クライアント遅延 ego_client_handle_seconds_count, ego_client_handle_seconds_bucket 下流呼び出しの遅延統計 P50/P95/P99 下流が遅いと、現在のサービスも遅くなる可能性がある
クライアントの状態 ego_client_stats_gauge クライアントの接続プールまたはステータスタイプのメトリクス 現在の値 接続プールの枯渇、異常なアイドル接続など
Kafka プロデュース遅延 kafka_produce_duration_seconds_bucket アプリケーションがメッセージを生成するのにかかる時間 Kafka メッセージ P50/P95/P99 ブローカーやネットワークの問題による可能性があるプロデュース遅延の増加

よくある質問:

histogram_quantile(0.95, sum(rate(ego_client_handle_seconds_bucket[5m])) by (le, service, target, method))

調査の提案: ビジネスインターフェースが遅い場合、サーバー側で消費された時間とクライアント依存関係で消費された時間を比較します。クライアントの時間比率が高い場合、対応する下流サービス、ミドルウェア、またはネットワークの確認を優先してください。

10.3 実行時とプロセス

監視次元 メトリック メトリクスの意味 一般的な標準/単位 異常な現れ
Go の goroutine go_goroutines Go プロセス内の goroutine の数 カウント 継続的な増加はブロッキングまたはリークを示す可能性があります
Go GC の実行時間 go_gc_duration_seconds Go GC の期間 秒/パーセンタイル GC 時間の増加はレイテンシに影響を与える可能性があります
Go ヒープメモリ go_memstats_alloc_bytes, go_memstats_heap_inuse_bytes Go のヒープ割り当てと使用状況 バイト 連続的な増加がある場合はメモリリークの確認が必要です
Go システムメモリ go_memstats_sys_bytes Go ランタイムがシステムから要求するメモリ バイト 一緒に観察 RSS
Go スタックメモリ go_memstats_stack_inuse_bytes ゴルーチンのスタック使用量 バイト ゴルーチンの増加に伴い増加
Node.js GCカウント nodejs_gc_duration_seconds_count Node.js GCカウント 回/秒 頻繁な GC はヒープ圧力を示す場合があります
Node.js GC 期間 nodejs_gc_duration_seconds_sum Node.js GC 合計期間 秒/秒 GC 期間の増加は応答に影響を与える可能性があります
Node.js ヒープスペース nodejs_heap_space_size_used_bytes それぞれの使用状況 Node.js ヒープスペース バイト 制限に近い場合や連続的に増加している場合は注意が必要です
プロセス CPU process_cpu_seconds_total プロセス CPU 時間 コア/秒 高い CPU 使用量
プロセス RSS process_resident_memory_bytes プロセスの物理メモリ バイト 連続 RSS 成長
プロセスハンドル process_open_fds プロセス内で開かれているファイルディスクリプタの数 ハンドルリーク、接続リーク

調査提案: Go のランタイムメトリクス Node.js 主にアプリケーションのレイテンシとリソースの増加を説明するために使用されます。アプリケーションが P95 増加すると、GC時間も同時に増加する場合、メモリアロケーションとオブジェクトのライフサイクルの確認を優先します。

10.4 協同編集サービス

監視次元 メトリック メトリクスの意味 共通単位 異常指標
Kafka コンシューマ遅延 kafka_consumergroup_lag 協同編集関連のコンシューマグループのバックログ カウント 遅延の増加はイベント処理の遅れを引き起こす可能性があります
プロセス時間 process_flow_duration_seconds_bucket 協同編集プロセスの時間 P50/P95/P99 ドキュメント協同リンクの遅延
プロセス数 process_total 処理されたプロセスの総数 回数/秒 処理量の異常な変化
ファイルコンテンツのサイズ file_content_size_bytes_bucket ファイルコンテンツサイズの分布 バケット統計 大きなファイルの割合の増加は処理時間に影響を与える可能性があります
チェンジセットの期間 handle_changeset_cost_seconds_bucket チェンジセットの処理にかかる時間 P50/P95/P99 編集同期遅延の増加
Modoc計算回数 modocComputeCount Modoc計算の回数 回数/秒 計算量の異常な増加
サーバーレス呼び出し serverless_invocations サーバーレス呼び出しの回数 回数/秒 呼び出し失敗や急増はリンクに影響を与える可能性があります

よくあるクエリ:

histogram_quantile(0.95, sum(rate(handle_changeset_cost_seconds_bucket[5m])) by (le))

調査提案: 協調編集リンクの場合、 Kafka 遅延、プロセスの所要時間、チェンジセットの所要時間、ファイルサイズは一緒に確認する必要があります。大きなファイルの割合が増加すると、所要時間の増加は単一障害点によるものではなく、通常の容量負荷である可能性があります。

10.5 RSサービス

監視次元 メトリック メトリクスの意味 共通スコープ/単位 異常なパフォーマンス
HTTP リクエスト数 http_requests_total 累積数 HTTP リクエスト 回/秒 リクエストの急増または急減
HTTP 所要時間 http_requests_duration_seconds_bucket, http_requests_duration_seconds_sum, http_requests_duration_seconds_count HTTP リクエストの所要時間 P50/P95/P99 インターフェース遅延の増加
gRPC リクエスト数 grpc_requests_total 累積数 gRPC リクエスト 回/秒 gRPC 呼び出し例外
gRPC 所要時間 grpc_requests_duration_seconds gRPC リクエストの所要時間 P50/P95/P99 下流または内部処理の遅延
エクスポートタスクの所要時間 export_task_duration_milliseconds_count エクスポートタスク処理の数と所要時間 ms/時間 エクスポートタスクの処理遅延や積み残し
インポートタスクの所要時間 import_task_duration_milliseconds_count インポートタスク処理の数と所要時間 ms/タスクごと 処理の遅延や積み残しのあるインポートタスク
進行中のエクスポートタスク export_task_in_progress 現在実行中のエクスポートタスク 長時間減少しない場合、タスクが詰まっていることを示します
進行中のインポートタスク import_task_in_progress 現在実行中のインポートタスク 長時間減少しない場合、タスクが詰まっていることを示します
Tokio メトリクス tokio_metrics Rust Tokio ランタイムのメトリクス 現在の値 / レート 異常なランタイムキューまたはタスクスケジューリング
jemalloc メトリクス jemalloc メモリアロケータのメトリクス バイト / カウント メモリ断片化または割り当ての異常
TCP メトリクス tcp RSサービス TCP 接続関連のメトリクス カウント / レート 接続圧力またはネットワークの異常

調査の提案: RSサービスは、オンラインリクエストだけでなく、インポート/エクスポートなどの長時間実行されるタスクも調査する必要があります。進行中のタスク数が継続的に減少しない場合、平均実行時間よりも『タスクが停止している』ことをより確実に示す傾向があります。

11. メトリクスの読み取りと調査の提案

11.1 一般的な調査順序

ステップ 観察項目 目的
1 up、開始時間、Pod Ready サービスがまだ稼働しているか、最近再起動されたかを確認する
2 リクエスト量、エラー率 P95/P99 レイテンシ 実際にビジネスに影響を与えているかどうかを判断する
3 CPU、メモリ、ディスク、ネットワーク リソースボトルネックがあるかどうかを判断する
4 下流依存関係のレイテンシ Kafka 遅延、遅いデータベースクエリ 依存関係によって遅くなっているかどうかを判断する
5 リリースバージョン、構成、トラフィックの変更 変更に関連しているかどうかを判断する

実際にトラブルシューティングを行う際は、最初にすべてのチャートを見るのを急がないこと。まず、"ビジネスへの影響があるかどうか"を確認し、その後で"影響がどこから来ているか"を探す。例えば、インターフェースが遅い場合、最初にアプリケーションの P95を確認し、その後クライアント依存関係のレイテンシをチェックする。依存関係が正常であれば、サービスの CPU、GC、メモリ、コンテナスロットリングを確認する。

11.2 一般的な例外の組み合わせ

症状 一般的なメトリックパフォーマンス 優先調査の方向
インターフェースが遅い アプリケーション P95/P99 上昇中、 CPU 高くない 下流の依存関係、遅いデータベースクエリ、 Kafka 遅延
CPU 完全に使用中 container_cpu_usage_seconds_total 高い、スロットル高 CPU 制限、ホットインターフェース、バッチ処理タスク
メモリ OOM 作業セットが制限に近い、再起動回数増加 メモリリーク、制限が小さすぎる、大きなオブジェクト処理
ディスクが遅い iowait、IOが忙しい、読み書き遅延がすべて上昇 データベース、 Kafka, MinIO、ログ書き込み
ネットワーク異常 トラフィック急増に伴うドロップ/エラー ノード NIC, CNI、リンク、接続数
Kafka 遅延 kafka_consumergroup_lag 連続的に増加 コンシューマインスタンス、消費時間、下流依存関係
Redis バックプレッシャー ヒット率低下、ミス増加 キーの有効期限ポリシー、キャッシュ貫通、容量
MySQL 遅い 遅いクエリ、スキャン、ロック待ちが増加 SQL、インデックス、ロック、ディスクIO
MinIO リスク オフラインディスク、エラー率、容量レベルが上昇 ディスク、ノード、バケットの増加、修復状態
Elasticsearch 遅いクエリ 検索クエリ/取得時間の増加、スレッドプール拒否の増加 クエリ条件、インデックス構造、 JVM、ディスクIO
Elasticsearch 遅い書き込み インデックス作成時間、マージ時間、ストアスロットルの増加 書き込みピーク、リフレッシュ、マージ、ディスクレベル