データ欠落のトラブルシューティング¶
概要¶
本記事では、Guanceのログ、トレース、メトリクスにおけるデータ欠落のトラブルシューティング方法について説明します。
アーキテクチャ図¶
Guanceのデータフローは以下のとおりです。
- DataKit がメトリクスログを Guance DataWay クラスタにプッシュします。
- DataWay がデータを kodo サービスにプッシュして処理します。
- kodo が処理済みのデータを nsqd メッセージキューサービスにプッシュします。
- kodo-x が nsqd メッセージキューサービスにリクエストしてデータを消費します。
- kodo-x が消費したデータを対応するストレージエンジンにプッシュします。
データ欠落のトラブルシューティング手順¶
手順 1:ホストの時刻を確認する¶
以下の情報を確認してください。
- Guanceクラスタのホスト時刻が現在時刻と一致していること
- DataKit コレクタのホスト時刻が現在時刻と一致していること
次のコマンドで確認できます。
ホスト時刻が現在時刻と一致しない場合は、以下の方法で修正してください。
手順 2:コレクタの確認¶
DataKit データ欠落のトラブルシューティング を参照してください。
手順 3:DataWay サービスのログを確認する¶
以下の内容を実行してください。
# コンテナにログイン
kubectl exec -ti -n <Namespace> <dataway pod name> bash
# ログを確認
cd /usr/local/cloudcare/dataflux/dataway
# エラーログを検索
grep -Ei error log
手順 4:各サービスの実行状態を確認する¶
- クラスタノードの状態が正常か確認する
forethought-kodo配下の全サービスの状態が正常か確認する
- nsqd サービスの状態が正常か確認する
- ストレージエンジンが正常か確認する
手順 5:kodo サービスのログを確認する¶
注意
kodo サービスのログを確認することで、Guanceがデータを正常にコンシューマキューにプッシュできているかを調査できます。
-
Namespace: forethought-kodo
-
Deployment: kodo
-
Log path: /logdata/log
手順 6:kodo-x サービスのログを確認する¶
注意
kodo-x サービスのログを確認することで、Guanceがデータを正常に書き込めているか、ログの書き込みにレート制限がかかっていないか、書き込みが遅延していないかなどを調査できます。
- Namespace: forethought-kodo
- Deployment: kodo-x
- Log path: /logdata/log
