Config Sync ログをクエリする

このページでは、ログ エクスプローラで使用できるクエリについて説明します。これらのクエリを使用して、ログデータを取得、表示、分析できます。これらのログには、オペレーター Pod または Reconciler Pod の再起動時に nomos bugreport によってキャプチャされない貴重な履歴データが含まれる場合があります。

最も重要なログを見つけるには、問題を重大度で並べ替え、タイムスタンプを調整して時間枠を制御します。

クエリ / フィルタの名前 メモ
reconciler-manager ログを確認する
resource.type="k8s_container"
resource.labels.project_id="PROJECT_ID"
resource.labels.cluster_name="CLUSTER_NAME"
resource.labels.namespace_name="config-management-system"
resource.labels.container_name="reconciler-manager"
timestamp >= "START_TIME"
timestamp <= "STOP_TIME"
        
Namespace リポジトリの Reconciler ログを確認する
resource.type="k8s_container"
resource.labels.project_id="PROJECT_ID"
resource.labels.cluster_name="CLUSTER_NAME"
resource.labels.namespace_name="config-management-system"
resource.labels.container_name="reconciler"
resource.labels.pod_name:"ns-reconciler-NAMESPACE"
timestamp >= "START_TIME"
timestamp <= "STOP_TIME"
        

git-sync ログを表示するには、resource.laels.container_namegit-sync に変更します。ルート Reconciler ログを表示するには、resource.labels.pod_nameroot-reconciler に変更します。

期間内にクラスタがアップグレードされたかどうかを確認する
resource.type="gke_cluster"
resource.labels.project_id="PROJECT_ID"
resource.labels.cluster_name="CLUSTER_NAME"
resource.labels.location="LOCATION"
timestamp >= "START_TIME"
timestamp <= "STOP_TIME"
        

クエリしたクラスタがアップグレードされなかった場合、結果は空になります。

Reconciler Pod の起動に失敗したかどうかを確認する
resource.type="k8s_pod"
resource.labels.project_id="PROJECT_ID"
resource.labels.cluster_name="CLUSTER_NAME"
resource.labels.location="LOCATION"
resource.labels.pod_name:"ns-reconciler-NAMESPACE"
timestamp >= "START_TIME"
timestamp <= "STOP_TIME"
        

Config Sync 関連の Pod にエラーが表示された場合は、関連するタイムスタンプでそれらの Pod を起動できなかったことを表しています。

ConfigMap のオペレーションを確認する
resource.type="k8s_cluster"
resource.labels.project_id="PROJECT_ID"
resource.labels.cluster_name="CLUSTER_NAME"
resource.labels.location="LOCATION"
protoPayload.methodName:"io.k8s.core.v1.configmaps"
protoPayload.resourceName:"core/v1/namespaces/config-management-system/configmaps/ns-reconciler-cap-logging-service"
timestamp >= "START_TIME"
timestamp <= "STOP_TIME"
        
RepoSync のオペレーションを確認する
resource.type="k8s_cluster"
resource.labels.project_id="PROJECT_ID"
resource.labels.cluster_name="CLUSTER_NAME"
resource.labels.location="LOCATION"
protoPayload.methodName:"reposyncs"
protoPayload.resourceName:"namespaces/cap-logging-service/reposyncs"
timestamp >= "START_TIME"
timestamp <= "STOP_TIME"
        
git-sync によって同期されたすべての Git リビジョンを一覧表示する
resource.type="k8s_container"
resource.labels.project_id="PROJECT_ID"
resource.labels.location="LOCATION"
resource.labels.cluster_name="CLUSTER_NAME"
resource.labels.namespace_name="config-management-system"
resource.labels.pod_name:"git-importer-" severity>=DEFAULT
"adding worktree"
        

次のように置き換えます。

  • PROJECT_ID: プロジェクト ID。
  • CLUSTER_NAME: クエリを実行する対象クラスタの名前。
  • START_TIME: ログの収集を開始する時刻を設定します。タイムスタンプを含むクエリを作成する場合は、YYYY-MM-DDT00:00:00Z の形式を使用する必要があります。
  • STOP_TIME: ログの収集を停止する時刻を設定します。タイムスタンプを含むクエリを作成する場合は、YYYY-MM-DDT00:00:00Z の形式を使用する必要があります。
  • NAMESPACE: 名前空間リポジトリを作成した名前空間。
  • LOCATION: クラスタを作成したロケーション。