monitoring-ingestion-pipeline について
Grafana MCP を使って PostHog の取り込みパイプラインを調査するエンジニア向けスキルです。変化しうるメトリクス名を覚えるのではなく、実データから発見する方法を扱います。
主な機能
- 01Grafana MCP によるメトリクス発見
- 02アプリ指標、ログ、プロファイリングの確認
- 03prod-us と prod-eu の区別
- 04デプロイ、キュー、ストレージ構成の参照
活用シーン
- 01取り込みパイプラインの遅延や消費ラグの調査
- 02ログ、インフラ、ClickHouse の状態をまたぐ問題の追跡
MCP 対応
Grafana MCP ツールでメトリクス名、Loki のラベル、プロファイル種別、ダッシュボードを調べます。環境が指定されていない場合は、prod-us と prod-eu のどちらかを確認します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ posthog/ posthog --skill monitoring-ingestion-pipelineインストール後、Claude Code で/monitoring-ingestion-pipelineを入力して読み込まれたか確認します。
同梱ファイルreferences/investigation-playbooks.md
詳細
Grafana MCP によるインジェスションパイプラインの監視
インジェスションパイプライン (nodejs/) は PostHog の Node.js イベント処理レイヤーです。
Kafka (capture サービスによって生成される) からイベントを消費し、処理ステップ
(人物の解決、グループの割り当て、プロパティのオーバーライドなど) を通して実行し、
ClickHouse 向け Kafka トピックへエンリッチされたイベントを生成します。
単一のコードベースが posthog-app Helm チャート (golden-chart マイグレーション) を介して
多数の K8s Deployment としてデプロイされます。各デプロイメントは PLUGIN_SERVER_MODE を設定し、
メトリクス上では 2 つのデフォルト Prometheus ラベルによって区別されます。
ingestion_pipeline— 値:analytics、heatmaps、clientwarnings、errortrackingingestion_lane— 値:main、overflow、historical、async、turbo
app ラベル (K8s の Pod ラベルによって設定される) はデプロイメント名と一致し、
すべてのテレメトリドメインにわたる最も汎用的なスコープフィルターです。
このスキルでは、コードの進化に伴って変化するメトリクス名を暗記するのではなく、 Grafana MCP ツールを使用してライブメトリクスを検出する方法を教えます。
環境コンテキスト
Grafana MCP は、1 つの環境にスコープされた単一の Grafana インスタンスに接続されています。 ユーザーが指定していない場合は、どの環境を調査したいのかを確認してください。
- prod-us — 米国本番環境 (us-east-1)
- prod-eu — EU 本番環境 (eu-central-1)
ほとんどのインジェスションアプリのメトリクスは、接続している Grafana に応じて環境固有です —
これらは environment ラベルを持ちません。CloudWatch メトリクスも、接続されている Grafana の
AWS アカウントにスコープされます。
環境間の比較には Grafana インスタンスの切り替えが必要です (1 つのセッションでは不可能です)。
すべてのデータソース UID、ダッシュボード UID、ingestion_pipeline/ingestion_lane ラベルの値、
および ClickHouse の type ラベルの値は、prod-us と prod-eu で同一です。
主な違い:
ingestion-analytics-turboデプロイメントは prod-us にのみ存在します。- 両環境とも、events クラスターとは別の専用のインジェスション MSK クラスターを使用します —
コンシューマーは
eventsではなくmsk-ingestionを指します (prod-us: c21、prod-eu:posthog-prod-eu-ingestion-2026-05-04)。 - CloudWatch のクラスター ID はリージョンサフィックスによって異なります (以下のトポロジセクションを参照)。
可観測性の全体像
6 つのテレメトリドメインがあり、すべて prod-us と prod-eu で同一であることが検証済みです。
| ドメイン | データソース UID | 検出ツール | スコープフィルター |
|---|---|---|---|
| アプリメトリクス (VictoriaMetrics) | victoriametrics | list_prometheus_metric_names | 以下のメトリクスプレフィックスを参照 |
| アプリメトリクス (リアルタイム) | victoriametrics-realtime | 同上 | 同上 (保持期間が短く、解像度が高い) |
| ログ | P44D702D3E93867EC (Loki-logs) | list_loki_label_names | app=~"ingestion-.*" |
| プロファイリング | pyroscope | list_pyroscope_profile_types | 以下の Pyroscope サービスを参照 |
| CloudWatch (ElastiCache、MSK、RDS) | P034F075C744B399F | query_prometheus | 環境固有のクラスター ID |
| ダッシュボード | 該当なし | search_dashboards | "ingestion" またはデプロイメント名でクエリ |
データソースに関する注意:
- プライマリ Loki (
P8E80F9AEF21F6940) は使用しないでください — 両環境で断続的に 502 を返します。常に Loki-logs (P44D702D3E93867EC) を使用してください。 CloudWatch Root(PAAE47F430CFD1449) は使用しないでください — prod-us にのみ存在します。
安定した基準点
これらの事実はほとんど変化せず、動的に検出するのが困難です。
デプロイメントの役割
すべての PLUGIN_SERVER_MODE=ingestion-v2 デプロイメント (「アナリティクス取り込み」ファミリー)、および専門化されたモードです。
各ゴールデンチャートのデプロイメントは、デプロイメント名と一致する独自の名前空間で実行されます。
| デプロイメント名 | モード | パイプライン | レーン | コンシューマーグループ | 消費トピック (EU の例) |
|---|---|---|---|---|---|
ingestion-analytics-main | ingestion-v2 | analytics | main | ingestion-analytics-main | ingestion-analytics-main-512 |
ingestion-analytics-overflow | ingestion-v2 | analytics | overflow | ingestion-analytics-overflow | ingestion-analytics-overflow-128 |
ingestion-analytics-historical | ingestion-v2 | analytics | historical | ingestion-analytics-historical | ingestion-analytics-historical-128 |
ingestion-analytics-async | ingestion-v2 | analytics | async | ingestion-analytics-async | ingestion-analytics-async-8 |
ingestion-analytics-turbo | ingestion-v2 | analytics | turbo | ingestion-analytics-turbo | ingestion-analytics-turbo-1024 |
ingestion-clientwarnings-main | ingestion-v2 | clientwarnings | — | ingestion-clientwarnings-main | ingestion-clientwarnings-main-32 |
ingestion-heatmaps-main | ingestion-v2 | heatmaps | — | ingestion-heatmaps-main | ingestion-heatmaps-main-128 |
ingestion-errortracking-main | ingestion-errortracking | errortracking | — | ingestion-errortracking-main | ingestion-errortracking-main-128 |
ingestion-errortracking-overflow | ingestion-errortracking | errortracking | — | ingestion-errortracking-overflow | ingestion-errortracking-overflow-32 |
logs-ingestion | ingestion-logs | — | — | logs-ingestion | ingestion-logs |
traces-ingestion | (traces) | — | — | traces-ingestion | ingestion-traces |
recordings-blob-ingestion-v2 | recordings-blob-ingestion-v2 | — | — | session-recordings-blob-v2 | ingestion-sessionreplay-main-256 |
recordings-blob-ingestion-v2-overflow | recordings-blob-ingestion-v2 | — | — | session-recordings-blob-v2-overflow | ingestion-sessionreplay-overflow-32 |
注記:
ingestion-analytics-turboは prod-us にのみ存在します。- トピックのパーティション数は環境によって異なります (例: main は US では 1024、EU では 512)。
- 各デプロイメントには DLQ トピックもあります (
ingestion-analytics-main-dlqなど)。 - KEDA のオートスケーリングクエリは、移行期間中に新旧両方のコンシューマーグループ名を参照します
(例:
groupId=~"ingestion-events|ingestion-analytics-main")。
メトリクスのプレフィックス
ここにあるすべてのプレフィックスは、datasourceUid: "victoriametrics" と regex: "<prefix>.*" を指定して list_prometheus_metric_names を使うことで、ライブで検出できます。
| プレフィックス | ドメイン | 主要なスコープラベル |
|---|---|---|
ingestion_* | コア取り込みアプリのメトリクス(約80メトリクス) | app、ingestion_pipeline、ingestion_lane |
ingestion_lag_ms* | パーティションごとのラグ(主要なラグシグナル) | groupId、partition |
consumed_batch_* | Kafka コンシューマーのバッチ処理 | topic、groupId |
consumer_batch_* / consumer_background_* | コンシューマーループの健全性 | topic、groupId |
kafka_broker_* | librdkafka ブローカー統計 | broker_id、broker_name、consumer_group |
kafka_consumer_* | コンシューマーのリバランス、割り当て | groupId、type |
events_pipeline_* | レガシーパイプラインのステップメトリクス | step_name |
person_* | パーソン処理(約30メトリクス) | db_write_mode、operation、method |
group_*(AWS 以外) | グループ処理 | operation |
personhog_* | PersonHog gRPC クライアント + サービス | method、source、client |
overflow_redirect_* | ステートフルオーバーフロールーティング | type、result、decision、operation |
cookieless_* | クッキーレスモード | — |
http_request_duration_seconds | HTTP ヘルス/レディネスサーバー | method、route、status_code |
recording_blob_ingestion_v2_* | セッションリプレイの取り込み | app |
logs_ingestion_* | ログ取り込みパイプライン | app |
error_tracking_* / cymbal_* | エラートラッキングパイプライン | app |
kminion_kafka_* | KMinion コンシューマーグループのラグとトピックオフセット | group_id、topic_name、partition_id |
aws_msk_kafka_* | MSK ブローカー側の JMX メトリクス | environment |
warpstream_agent_* | WarpStream エージェントのメトリクス(約10メトリクス) | virtual_cluster_id、agent_group、operation |
kube_* / container_* | K8s リソース | namespace=~"ingestion-.*"、container=~"ingestion-.*" |
pg_* / pgbouncer_* | Postgres エクスポーター | さまざま |
ClickHouseMetrics_* / ClickHouseProfileEvents_* / ClickHouseAsyncMetrics_* | ClickHouse クラスターの健全性 | type(=クラスターロール) |
kafka_connect_* | ClickHouse への Kafka Connect ブリッジ | namespace、connector |
posthog_celery_clickhouse_* | Django celery からの CH ヘルスモニター | scenario |
Redis トポロジー
インジェスションワーカーは最大 5 つの Redis インスタンスに依存しています。 Redis の健全性は、インジェスション側のメトリクスと CloudWatch ElastiCache のメトリクスから推測されます。
| Redis インスタンス | ElastiCache クラスター (prod-us) | 環境変数 | 用途 |
|---|---|---|---|
| Ingestion Redis | ingestion-prod-redis | INGESTION_REDIS_HOST | オーバーフロー状態、pub/sub コーディネーション |
| PostHog/Primary Redis | posthog-solo | POSTHOG_REDIS_HOST | 請求/クォータ、制限、全般 |
| Cookieless Redis | cookieless-prod-redis | COOKIELESS_REDIS_HOST | クッキーレスサーバーハッシュモード |
| CDP Redis | cdp-delivery-prod-redis | CDP_REDIS_HOST | CDP Hog 関数の配信 |
| Dedup Redis | ingestion-duplicates-prod-redis | DEDUPLICATION_REDIS_HOST | イベントの重複排除 |
インジェスション側の Redis メトリクス: overflow_redirect_redis_*、cookieless_redis_error。
インフラストラクチャ側: CloudWatch データソース P034F075C744B399F。
prod-eu は同じ論理クラスター名を使用しますが、エンドポイントのサフィックスが異なります。
prod-eu のプライマリ Redis は posthog-prod-redis-encripted です(原文ママ — このタイポは実際のクラスター名に含まれています)。
イベント制限用 Redis (ingestion-prod-redis) は、プライマリとは別の書き込み可能なクラスターです —
capture-analytics とインジェスションワーカーの両方が EVENT_RESTRICTIONS_REDIS_URL 経由でこれを使用します。
Kafka トポロジー
インジェスションワーカーは、個別のプロデューサー/コンシューマー設定を介して3 つの Kafka システムとやり取りします:
-
MSK インジェスションクラスター (コンシューム側) —
KAFKA_CONSUMER_METADATA_BROKER_LIST。 Capture がここにプロデュースし、インジェスションワーカーがコンシュームします。すべてのingestion-analytics-*、ingestion-errortracking-*、ingestion-heatmaps-*、ingestion-clientwarnings-*トピックを伝送します。 両環境に専用クラスターがあります (prod-us: c21、12 ブローカー、prod-eu:posthog-prod-eu-ingestion-2026-05-04)。 KMinion:kminion-msk-ingestion。 -
WarpStream インジェスション VC (出力側) —
KAFKA_WARPSTREAM_PRODUCER_METADATA_BROKER_LIST。 インジェスションワーカーは、ClickHouse 行きのすべての出力をここにプロデュースします (clickhouse_events_json、clickhouse_person、clickhouse_groups、clickhouse_heatmap_events、clickhouse_ai_events_jsonなど)。 クラスター内の WarpStream エージェント (warpstream-ingestion-v2) とマルチ AZ プール。プレーンテキストで、TLS なし。 KMinion:kminion-warpstream-ingestion。 -
MSK インジェスションクラスター (フィードバック/DLQ プロデューサー) — 項目 1 と同じ物理クラスターですが、
KAFKA_INGESTION_PRODUCER_METADATA_BROKER_LISTを介した異なるプロデューサー設定を使用します。 イベントをインジェスションシステムに戻すオーバーフロー/DLQ/非同期トピックに使用されます。
- MSK (イベント/分析) — 元のイベントクラスター。移行中は、一部のレガシートピックと
ClickHouse コンシューマーグループを依然として伝送しています。prod-us:
posthog-prod-us-events-2026-03-08(12 ブローカー、kafka.m7g.8xlarge)、prod-eu:posthog-prod-eu-events-2025-10-16(15 ブローカー)。 KMinion:kminion-msk-analytics。
WarpStream 仮想クラスター — 各 VC は S3 に支えられた個別の論理クラスターであり、独自の エージェントプール、KMinion インスタンス、トピック名前空間を持ちます:
| VC name | Topics carried | KMinion instance |
|---|---|---|
warpstream-ingestion-v2 | clickhouse_events_json, clickhouse_person, clickhouse_person_distinct_id, clickhouse_groups, clickhouse_ai_events_json, clickhouse_heatmap_events, clickhouse_app_metrics2, clickhouse_tophog, clickhouse_ingestion_warnings, distinct_id_usage_events_json, log_entries, team_event_partitioned_events_json | kminion-warpstream-ingestion |
warpstream-replay-v2 | ingestion-sessionreplay-main-*, clickhouse_session_replay_events, clickhouse_session_replay_features | kminion-warpstream-replay |
warpstream-logs | ingestion-logs, clickhouse_logs | kminion-warpstream-logs |
warpstream-traces | ingestion-traces, clickhouse_traces | kminion-warpstream-traces |
warpstream-shared | clickhouse_document_embeddings, error tracking fingerprint/issue topics, document_embeddings_input | kminion-warpstream-shared |
warpstream-calculated-events | cohort_membership_changed (US only) | kminion-warpstream-calculated-events |
warpstream-cyclotron | CDP topics (cdp_cyclotron_hog*, cdp_internal_events, etc.) | kminion-warpstream-cyclotron |
warpstream-warehouse-pipelines | data_warehouse_source_webhooks, data_warehouse_sources_jobs (US only) | kminion-warpstream-warehouse-pipelines |
WarpStream エージェントメトリクス: warpstream_agent_* プレフィックス(約 10 個のメトリクス)。
主要なもの: control_plane_operation_counter(operation 別)、file_cache_client_fetch_local_or_remote_counter(キャッシュヒット/ミス)。
ラベル: virtual_cluster_id、agent_group(default、general、multi-az)。
ダッシュボード: warpstream(Agent Overview)、dbfj5c31spa1ogf(MSK vs WarpStream — Active Produce Topics)。
US 限定の個人ダッシュボード(EU には同期されていません): 8e93b023-…(CH Consumer Lag)、
ws-coarse-lag-explore(Coarse Lag exploration)。
Postgres トポロジー
| DB | Aurora クラスター (prod-us) | インジェスト PgBouncer |
|---|---|---|
| Main app DB | posthog-cloud-prod-us-east-1 (2x db.r8g.16xlarge) | ingestion-default-pgbouncer.posthog.svc.cluster.local |
| Persons DB | posthog-cloud-persons-prod-us-east-1 (3x db.r8g.24xlarge) | ingestion-events-pgbouncer.posthog.svc.cluster.local |
Postgres メトリクスは prometheus-postgres-exporter と prometheus-postgres-persons-exporter を経由します。
prod-eu: posthog-cloud-prod-eu-central-1 と posthog-cloud-persons-prod-eu-central-1。
ClickHouse トポロジー
ClickHouse は、インジェストパイプラインが生成するイベントの 最終的な下流コンシューマー です。 インジェストワーカーは CH と直接通信することはありません — ワーカーは Kafka トピックに発行し、CH は 組み込みの Kafka エンジンと Kafka Connect(DuckLake)を介してそれらを消費します。 CH の健全性はインジェスト品質の体感に直接影響します。CH の消費が遅れると、 ユーザーには古いデータが表示されます。
クラスターロール(ClickHouseMetrics_* の type ラベルで判別可能):
type ラベル | ロール | 備考 |
|---|---|---|
events | メイン分析イベントクラスター | clickhouse_events_json を消費 |
online | オンライン/高速クエリクラスター | events からレプリケーション |
offline | オフライン/バッチクエリクラスター | events からレプリケーション |
medium | 中規模テーブル | Persons、groups |
small | 小規模/設定テーブル | 書き込み頻度は低い |
sessions | セッションリプレイデータ | セッション記録トピックを消費 |
logs | ログクラスター | ログトピックを消費 |
logs-new-schema | ログ新スキーマ移行 | 移行ターゲット |
ai-events | AI/LLM イベント | AI イベントトピックを消費 |
endpoints | API エンドポイントクラスター | 軽量 |
migrations | 移行専用 | スキーマ変更 |
aux / ops | 補助/運用 | メンテナンス |
batch-exports | バッチエクスポート | prod-us にはあり、prod-eu には存在しない可能性 |
test | テストクラスター | すべての環境に存在するわけではない |
ほとんどの type ラベルの値は prod-us と prod-eu で同一です。batch-exports や test のような
軽微な違いが片方の環境にのみ存在する場合があります。
Kafka から ClickHouse への 2 つの消費パス:
ClickHouse は現在、主に WarpStream インジェスト VC(インジェストワーカーが出力を発行する場所)から読み取っており、 MSK から直接読み取ってはいません。
- ClickHouse Kafka Engine — CH のネイティブ機能です。メトリクスのプレフィックスは
ClickHouseProfileEvents_Kafka*(例:KafkaMessagesPolled、KafkaRowsRead、KafkaRowsRejected、KafkaCommitFailures)。 コンシューマーグループ:clickhouse_events_json(prod-us)、group1/group1_recent(prod-eu)。 これらのグループは MSK analytics と WarpStream ingestion の両方に存在します。正しい KMinion インスタンスを使って区別してください: WarpStream にはkminion-warpstream-ingestion、MSK にはkminion-msk-analyticsです。 - Kafka Connect —
kafka-connect名前空間で実行され、DuckLake sink コネクタを使用します。 メトリクスのプレフィックスはkafka_connect_*およびkafka_connect_ducklake_sink_task_metrics_*です。 コンシューマーグループ:connect-events-ducklake*。
取り込みオペレーター向けの重要なヘルスシグナル:
kminion_kafka_consumer_group_topic_lag{app_kubernetes_io_instance="kminion-warpstream-ingestion", group_id=~"clickhouse_events_json|group1|group1_recent", topic_name="clickhouse_events_json"}— WarpStream パス(主要パス)における取り込み出力と CH 消費の間のラグ- 同じグループフィルターを指定した
kminion_kafka_consumer_group_topic_lag_seconds— 同じ値を秒単位で表したもの ClickHouseProfileEvents_KafkaRowsRejected— CH が解析または挿入できなかった行ClickHouseProfileEvents_FailedInsertQuery— 挿入の失敗(スキーマの問題、パーツ数が多すぎる場合など)ClickHouseAsyncMetrics_MaxPartCountForPartition— パーツ数の増加 = マージの負荷ClickHouseMetrics_ReadonlyReplica— 遅延して読み取り専用になったレプリカClickHouseAsyncMetrics_ReplicasMaxAbsoluteDelay— 最大レプリケーション遅延posthog_celery_clickhouse_table_parts_count/_table_row_count— Django 側の CH ヘルスモニター
Pyroscope サービス
golden-chart への移行中は、旧形式(ingestion/{name})と新形式({namespace}/{name})の両方が
Pyroscope に共存します。新しい {namespace}/{name} 形式を推奨します。
| サービス名(新形式) | デプロイメント |
|---|---|
ingestion-analytics-main/ingestion-analytics-main | Main analytics |
ingestion-analytics-overflow/ingestion-analytics-overflow | Overflow lane |
ingestion-analytics-historical/ingestion-analytics-historical | Historical lane |
ingestion-analytics-async/ingestion-analytics-async | Async lane |
ingestion-analytics-turbo/ingestion-analytics-turbo | Turbo lane(prod-us のみ) |
ingestion-heatmaps-main/ingestion-heatmaps-main | Heatmaps |
ingestion-clientwarnings-main/ingestion-clientwarnings-main | Client warnings |
ingestion-errortracking-main/ingestion-errortracking-main | Error tracking |
ingestion-errortracking-overflow/ingestion-errortracking-overflow | Error tracking overflow |
logs-ingestion/logs-ingestion | Logs ingestion |
traces-ingestion/traces-ingestion | Traces ingestion |
recordings/recordings-blob-ingestion-v2 | Session replay |
recordings/recordings-blob-ingestion-v2-overflow | Session replay overflow |
プロファイルタイプ: process_cpu:cpu:nanoseconds:cpu:nanoseconds、
wall:wall:nanoseconds:wall:nanoseconds、
memory:inuse_space:bytes:inuse_space:bytes、
memory:inuse_objects:count:inuse_space:bytes。
Grafana ダッシュボード
| UID | タイトル | フォーカス |
|---|---|---|
ingestion-analytics | Ingestion - Analytics | パイプラインごとの分析内訳 |
ingestion-health | Ingestion - Health | すべてのインジェストサービスのヘルス概要 |
ingestion-pipelines | Ingestion - Pipelines | レーンごとのパイプラインステップ内訳 |
ingestion-reliability | Ingestion - Reliability | イベントトレンド、処理ラグ SLO、再起動、E2E ラグ |
ingestion-person-processing | Ingestion -- Person Processing | パーソンストア、マージ、キャッシュ |
ingestion-group-processing | Ingestion -- Group Processing | グループストア |
ingestion-sessionreplay | Ingestion - Session Replay | リプレイ BLOB パイプライン |
capture | Capture | Capture 側のインジェストメトリクス (概要) |
bexr9fnja75z4f | Kafka Deduplicator | イベント重複排除パイプライン |
pl-ingestion-slas | Ingestion — SLIs / SLOs / SLAs | ingestion_sli_* メトリクスからの SLI/SLO ビュー (米国のみ) |
warpstream | Warpstream Agent Overview | エージェントのヘルス、コントロールプレーン操作、ファイルキャッシュ |
dbfj5c31spa1ogf | MSK vs Warpstream — Active Produce Topics | プロデュース量の並列比較 |
8e93b023-a544-4a3b-8fac-123459d4eb84 | WarpStream: ClickHouse Consumer Lag | WarpStream トピックの CH コンシューマーラグ (米国のみ) |
ws-coarse-lag-explore | WarpStream Coarse Lag — Explore | エージェントが報告するラグ (米国のみ、個人ダッシュボード) |
personhog-service | Personhog service | PersonHog レイテンシの分解 |
dbfgkwxs3gw8owd | KMinion Consumer Group Lag | グループごとのコンシューマーラグ (CH グループを含む) |
logs | Logs (product) | ログのインジェスト |
vm-clickhouse-cluster-overview | ClickHouse (cluster overview) | QPS、メモリ、ディスク、レプリケーション、パーツ、マージ |
clickhouse-ingestion-overview-20260615 | ClickHouse Ingestion Layer Overview | インジェスト層の CH クラスターのヘルスとリソース |
clickhouse-keeper | ClickHouse Keeper | ZooKeeper 代替のヘルス |
fe469e59-e10a-465a-9dac-ac8f6f82dc9a | ClickHouse Stuck Merge Loop Investigation | 進行が停止したマージ |
cdzv7o1635n9ca | Kafka Connect | Kafka Connect タスク、ラグ、DuckLake シンク |
fdrcd04np3hfkf | ClickHouse - Kafka consumption | CH Kafka エンジンの消費統計 (EU のみ) |
ディスカバリーワークフロー
Prometheus / VictoriaMetrics
list_prometheus_metric_names—datasourceUid: "victoriametrics"、regex: "ingestion_.*"でアプリのメトリクスを列挙します- メトリクスを1つ選び、それを対象に
list_prometheus_label_namesを実行します — 利用可能なディメンションを確認できます list_prometheus_label_values— ラベルの実際の値を確認します (例:ingestion_event_dropped_totalに対するlabelName: "cause")- PromQL を指定して
query_prometheus— 常にappまたはingestion_pipelineでスコープを絞り、時間範囲を設定してください
他のプレフィックスでも同様に繰り返します: consumed_batch_*、person_*、personhog_*、
overflow_redirect_*、ClickHouseMetrics_*、kafka_connect_* など。
Loki (ログ)
list_loki_label_names—datasourceUid: "P44D702D3E93867EC"appに対してlist_loki_label_values— 取り込みコンテナを探します (値の例:ingestion-analytics-main、logs-ingestionなど)query_loki_logs— 例:{app=~"ingestion-.*"} |= "error"または{namespace="clickhouse"} |= "Exception"
Pyroscope (プロファイリング)
list_pyroscope_profile_types—data_source_uid: "pyroscope"fetch_pyroscope_profile—matchers: '{service_name="ingestion-analytics-main/ingestion-analytics-main"}'、profile_type: "process_cpu:cpu:nanoseconds:cpu:nanoseconds"
ダッシュボード
search_dashboards—"ingestion"または"clickhouse"、あるいは特定のデプロイ名でクエリしますget_dashboard_by_uid— 既知の UID (例:"ingestion-health") を使ってパネルの詳細を取得しますget_dashboard_panel_queries— 既存のパネルから PromQL を抽出します
Redis / ElastiCache
- 取り込み側: VictoriaMetrics で
overflow_redirect_redis_*、cookieless_redis_*メトリクスを探します - インフラストラクチャ: ElastiCache には CloudWatch データソース
P034F075C744B399Fを使用します (CPU、メモリ、接続数、レイテンシ)。 クラスター ID:ingestion-prod-redis、posthog-solo(prod-us プライマリ)、ingestion-duplicates-prod-redis、cookieless-prod-redis
Postgres / Aurora
- 取り込み側:
postgres_error_total、person_*、group_*メトリクスを探します - インフラストラクチャ:
prometheus-postgres-exporterおよびprometheus-postgres-persons-exporterメトリクス - CloudWatch RDS: データソース
P034F075C744B399Fとクラスター IDposthog-cloud-prod-us-east-1/posthog-cloud-persons-prod-us-east-1
ClickHouse
- クラスターのヘルス:
list_prometheus_metric_namesを regex"ClickHouseMetrics_.*"または"ClickHouseProfileEvents_.*"で実行します クラスターの役割に応じてtypeラベルでスコープを絞ります (例:type="events") - Kafka エンジンのヘルス: regex
"ClickHouseProfileEvents_Kafka.*" - Kafka Connect: regex
"kafka_connect_.*"—namespace="kafka-connect"でスコープを絞ります - コンシューマーラグ (ブリッジ):
kminion_kafka_consumer_group_topic_lagをgroup_id=~"clickhouse_events_json|group1|group1_recent|connect-events-ducklake.*"およびtopic_name="clickhouse_events_json"と共に使用します。 重要: WarpStream パス (プライマリ) ではapp_kubernetes_io_instance="kminion-warpstream-ingestion"、 MSK パスでは"kminion-msk-analytics"でスコープを絞ってください。 - ログ:
{namespace="clickhouse"} |= "Exception"または{namespace="kafka-connect"} - ダッシュボード:
vm-clickhouse-cluster-overview、clickhouse-ingestion-overview-20260615、cdzv7o1635n9ca、8e93b023-a544-4a3b-8fac-123459d4eb84(WarpStream CH コンシューマーラグ)
主要なメトリクス領域
何を探すべきかのカテゴリです。上記のプレフィックスを使用して、具体的なメトリクスをライブで確認してください。
Kafka コンシューマーの健全性 — バッチ所要時間、バッチあたりの消費メッセージ数、コンシューマーグループのアサインメント/リバランスイベント、コンシューマーラグ(KMinion 経由)。メトリクス: consumed_batch_*、kafka_consumer_*、kminion_kafka_consumer_group_topic_lag*(group_id でスコープ)。
パイプライン処理 — ステップ単位のレイテンシとエラー率、パイプライン結果の分布(取り込み、フィルタリング、ドロップ、DLQ 送り)。メトリクス: events_pipeline_step_ms、events_pipeline_step_error_total、ingestion_pipeline_results(result 別)。
Person/グループストア — person フラッシュのレイテンシ、キャッシュヒット率、Postgres 書き込みレイテンシ、マージ失敗、プロパティサイズ。メトリクス: person_*、group_*、personhog_*。
出力 — ClickHouse 送信用トピックへの Kafka プロデュース。メッセージサイズ、レイテンシ、エラー。メトリクス: ingestion_outputs_*(topic 別)。
オーバーフロールーティング — ステートフルなオーバーフロー判定、オーバーフロー状態のための Redis 操作。メトリクス: overflow_redirect_*(type、result、decision 別)。
ClickHouse ダウンストリームの健全性 — CH クラスタの QPS、メモリ、ディスク、マージ負荷、レプリケーションラグ、Kafka エンジンの消費(読み取り/拒否/失敗した行数)、Kafka Connect タスクの健全性とコンシューマーラグ。これは、イベントが実際にクエリレイヤーに到達しているかどうかを示します。メトリクス: ClickHouseMetrics_*、ClickHouseProfileEvents_*、ClickHouseAsyncMetrics_*(type でスコープ)、kafka_connect_*(namespace でスコープ)。
K8s リソース — CPU、メモリ、再起動、HPA 状態に関する container_* と kube_*。スコープ: namespace=~"ingestion-.*"、pod=~"ingestion-.*"(CH 取り込みポッドの場合は namespace="clickhouse"、pod=~"chi-ingestion-.*")。
調査プレイブック
以下を網羅する手順別ワークフローについては、references/investigation-playbooks.md を参照してください: ヘルスチェック、イベントドロップ、レイテンシ、コンシューマーラグ、person 処理(persons DB の pganalyze によるクエリレベルのビューを含む)、Kafka/MSK の問題、Redis、Postgres、セッションリプレイ、ClickHouse ダウンストリームの健全性、単一パーティションのラグ(キー付きコストの診断、アクター識別のための querying-tophog スキルへの引き継ぎ)、および環境間の比較。