# 可観測性

> LangfuseでLLM呼び出しをすべてトレースし、GrafanaとOpenTelemetryでシステム全体を監視します。これらは組み込みダッシュボードに加えて利用可能な2つのオプションスタックです。

PentAGIの動作を確認するための任意のスタックが2つ用意されています。モデル呼び出しの可視化にはLangfuseを、それ以外のシステム監視にはOpenTelemetryに対応したGrafanaを使用します。

PentAGI標準の**Dashboard**でも、[flows](https://pentagi.com/ja/docs/glossary/#flow)、[tool calls](https://pentagi.com/ja/docs/glossary/#tool-call)、トークン数、コストの推移をグラフで確認できますが、以下のスタックを追加することで、完全なトレース情報やシステムメトリクスも取得できるようになります。

![組み込みダッシュボード](https://pentagi.com/images/product/dashboard.webp)

## [Langfuse](https://pentagi.com/ja/docs/configuration/observability/#langfuse)

Langfuseは、[agent](https://pentagi.com/ja/docs/glossary/#agent)ごとにプロンプト、コンプリーション、トークン数、コストを記録します。

```bash
LANGFUSE_BASE_URL=http://langfuse-web:3000
LANGFUSE_PROJECT_ID=same_as_LANGFUSE_INIT_PROJECT_ID
LANGFUSE_PUBLIC_KEY=same_as_LANGFUSE_INIT_PROJECT_PUBLIC_KEY
LANGFUSE_SECRET_KEY=same_as_LANGFUSE_INIT_PROJECT_SECRET_KEY
```

`.env`（`LANGFUSE_POSTGRES_*`、`LANGFUSE_CLICKHOUSE_*`、`LANGFUSE_REDIS_AUTH`、`LANGFUSE_SALT`、`LANGFUSE_ENCRYPTION_KEY`、`LANGFUSE_NEXTAUTH_SECRET`、`LANGFUSE_INIT_USER_*`およびプロジェクトキー）にLangfuseの認証情報を設定し、スタックを起動します。

```bash
curl -O https://raw.githubusercontent.com/vxcontrol/pentagi/main/docker-compose-langfuse.yml
docker compose -f docker-compose.yml -f docker-compose-langfuse.yml up -d
```

LangfuseのUIは`http://localhost:4000`からアクセスできます。

## [GrafanaとOpenTelemetry](https://pentagi.com/ja/docs/configuration/observability/#grafana-and-opentelemetry)

```bash
OTEL_HOST=otelcol:8148
```

```bash
git clone --depth 1 https://github.com/vxcontrol/pentagi.git pentagi-src
cp -r pentagi-src/observability ./observability
rm -rf pentagi-src
curl -O https://raw.githubusercontent.com/vxcontrol/pentagi/main/docker-compose-observability.yml
docker compose -f docker-compose.yml -f docker-compose-observability.yml up -d
```

Grafanaは`http://localhost:3000`から利用でき、メトリクスはVictoriaMetrics、トレースはJaeger、ログはLokiに保存されます。

> [!NOTE]
> Langfuseのテレメトリデータを同じスタックに送信するには、`LANGFUSE_OTEL_EXPORTER_OTLP_ENDPOINT=http://otelcol:4318`を設定してください。

## [すべてをまとめて実行する](https://pentagi.com/ja/docs/configuration/observability/#everything-together)

```bash
git clone --depth 1 https://github.com/vxcontrol/pentagi.git pentagi-src
cp -r pentagi-src/examples/graphiti ./graphiti
cp -r pentagi-src/examples/neo4j ./neo4j
rm -rf pentagi-src
curl -O https://raw.githubusercontent.com/vxcontrol/pentagi/main/docker-compose-graphiti.yml
docker compose \
  -f docker-compose.yml \
  -f docker-compose-langfuse.yml \
  -f docker-compose-graphiti.yml \
  -f docker-compose-observability.yml \
  up -d
```