Observability
=============

すべての自動処理モードの詳細なステータスと進行状況の出力を確認します。

2つのビューがオンデマンドの可観測性のニーズのほとんどをカバーします。それぞれがクエリ時に数値を計算します。

- :ref:`promoteb.pipeline_metrics <promoteb.pipeline_metrics>` エイリアス\ ``aidb.pipem`` —
  バックログ、ソース/宛先カウント、ステータス、エラーカウントを含むパイプラインごとに1行。これは、処理の進行状況を追跡するためのプライマリビューです。

- :ref:`helpb.Knowledge_base_metrics <helpb.Knowledge_base_metrics>` エイリアス\ ``aidb.kbm`` —
  パイプライン数、埋め込み数、および接続されているすべてのパイプラインの集計ステータスを含むナレッジベースごとに1行。

オンデマンドメトリック
----------------------

パイプラインごとの進行状況
^^^^^^^^^^^^^^^^^^^^^^^^^^

.. code:: sql

   SELECT * FROM aidb.pipem;
   __OUTPUT__
         pipeline       | auto processing | table: unprocessed rows | volume: scans completed | count(source records) | count(destination records) |  Status  | count(record errors) | count(blocking errors) |    last run completed
   - --------------------+-----------------+-------------------------+-------------------------+-----------------------+----------------------------+----------+----------------------+------------------------+----------------------------
    feedback_na_pipe    | Live            |                       0 |                         |                   412 |                        412 | UpToDate |                    0 |                      0 | 2026-07-21 10:14:58.001+00
    product_docs_pipe   | Background      |                         |                       6 |                  1842 |                       1842 | UpToDate |                    0 |                      0 | 2026-07-21 10:10:02.774+00
   (2 rows)

:ref:`変更検出 <変更検出>` メカニズムはボリュームソースとテーブルソースでは異なるため、ビューは次のメトリックを公開します。

- ``table: unprocessed rows``
  変更イベントのバックログにリストされる一意の行の数。 ``Disabled``
  の場合、自動処理は新しい変更イベントをキャプチャしません。

- ``volume: scans completed`` 完了したソースの完全なリストの数。

- ``count(source records)``
  ソースに存在するレコード数。テーブルソースに関しては常に正確です。ボリュームソースの各フルスキャンの後に更新されます。

- ``count(destination records)``
  パイプラインがその宛先エンベディング、チャンクなどに書き込んだ行数。

ナレッジベースの概要
^^^^^^^^^^^^^^^^^^^^

.. code:: sql

   SELECT * FROM aidb.kbm;
   __OUTPUT__
                name             | pipelines | embeddings |  status
   - -----------------------------+-----------+------------+----------
    public.product_catalog_kb    |         1 |       1842 | UpToDate
    public.customer_feedback_kb  |         2 |        915 | UpToDate
   (2 rows)

``status``
列は、そのKBに接続されているすべてのパイプラインにわたって最悪のパイプラインステータスをロールアップします。\ ``aidb.pipeline_metrics``
をドリルして、どのパイプラインが原因であるかを見つけます。

マテリアライズされたメトリック
------------------------------

``aidb.pipeline_metrics`` および\ ``aidb.knowledge_base_metrics``
は、照会時にオンデマンドで数値を計算します。外部モニタリング-たとえば、
EDB Postgres
AIエージェントを介したPrometheusスクレイピングの場合、一定の間隔でこれらのビューをポーリングすることは、すべてのスクレイピングですべてのパイプラインの統計を再計算することを意味し、各パイプライン所有者の基になるテーブルに到達するにはスクレイピングロールが必要です。

``aidb.pipeline_metrics_collection``
は両方のコストを回避します。バックグラウンドワーカーは、すべてのパイプラインから同じ統計のスナップショットを作成し、そのパイプラインの所有ロールとして照会し、15秒ごとにこのテーブルに書き込みます。テーブルへのアクセスが付与されたロール—
``pg_monitor`` はデフォルトで\ ``SELECT``
を取得します—は、何も再計算せず、パイプラインごとの権限を必要とせずに、事前計算されたメトリックを読み取ることができます。

.. code:: sql

   SELECT * FROM aidb.pipeline_metrics_collection;
   __OUTPUT__
         pipeline       | auto processing | table: unprocessed rows | volume: scans completed | count(source records) | count(destination records) | count(record errors) | count(blocking errors) |  Status  |  owner_role   |          collected_at
   - --------------------+-----------------+-------------------------+-------------------------+-----------------------+----------------------------+----------------------+------------------------+----------+---------------+-------------------------------
    feedback_na_pipe    | Live            |                       0 |                         |                   412 |                        412 |                    0 |                      0 | UpToDate | app_owner     | 2026-07-21 10:15:03.221+00
    product_docs_pipe   | Background      |                         |                       6 |                  1842 |                       1842 |                    0 |                      0 | UpToDate | app_owner     | 2026-07-21 10:15:03.402+00
   (2 rows)

列は\ ``aidb.pipeline_metrics`` に一致するものに加えて、

- ``owner_role`` パイプラインの所有ロール、 :ref:`aidb.pipelines.owner_role <Pipelines API reference>` と同じ。

- ``collected_at`` この行が最後に更新された日。

削除されたパイプラインの行は、次の収集サイクルで自動的に削除されます。

コレクターの有効化
^^^^^^^^^^^^^^^^^^

コレクターはオプトインであり、デフォルトで無効になっているため、
``aidb.pipeline_metrics_collection``
は、オンにするまで空のままです。インスタンス全体で有効にします。

.. code:: sql

   ALTER SYSTEM SET aidb.enable_background_metrics_collector = on;

または、1つのデータベースにスコープを設定し、そのデータベースのインスタンス全体のデフォルトをオーバーライドします。

.. code:: sql

   ALTER DATABASE my_db SET aidb.enable_background_metrics_collector = on;

!!!note Postgresを再起動して、新しい構成を適用します。

失敗したレコードの検査
----------------------

レコードごとの障害の詳細失敗したステップ、オペレーション、基になるエラーメッセージ、および再試行状態は
:ref:`Pipeline error log <Pipeline error log>`  にあります。
