# 可观测性

> 使用 Langfuse 追踪每个 LLM 调用，并通过 Grafana 和 OpenTelemetry 监控整个系统——这是内置仪表板之外的两个可选技术栈。

两个可选的技术栈可帮助您了解 PentAGI 的运行状态：Langfuse 用于记录模型调用，Grafana 结合 OpenTelemetry 则用于监控系统的其他组件。

PentAGI 自带的 **Dashboard** 已能按时间展示 [flows](https://pentagi.com/zh-cn/docs/glossary/#flow)、[tool calls](https://pentagi.com/zh-cn/docs/glossary/#tool-call)、Token 用量及成本；以下技术栈则进一步提供完整的追踪数据和系统指标。

![内置仪表板](https://pentagi.com/images/product/dashboard.webp)

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

Langfuse 会记录每个 [agent](https://pentagi.com/zh-cn/docs/glossary/#agent) 的提示词、补全内容、Token 用量及成本。

```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 凭据（包括 `LANGFUSE_POSTGRES_*`、`LANGFUSE_CLICKHOUSE_*`、`LANGFUSE_REDIS_AUTH`、`LANGFUSE_SALT`、`LANGFUSE_ENCRYPTION_KEY`、`LANGFUSE_NEXTAUTH_SECRET`、`LANGFUSE_INIT_USER_*` 以及项目密钥），然后启动该技术栈：

```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 界面可通过 `http://localhost:4000` 访问。

## [Grafana 与 OpenTelemetry](https://pentagi.com/zh-cn/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
```

您可通过 `http://localhost:3000` 访问 Grafana，其中指标存储于 VictoriaMetrics，追踪数据存储于 Jaeger，日志存储于 Loki。

> [!NOTE]
> 若要将 Langfuse 遥测数据发送至同一技术栈，请设置 `LANGFUSE_OTEL_EXPORTER_OTLP_ENDPOINT=http://otelcol:4318`。

## [整合部署](https://pentagi.com/zh-cn/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
```