Files
FastDeploy/docs/zh/observability/README.md

150 lines
5.3 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## Observability 示例配置 (`examples/observability`)
该目录提供了一套完整的、基于 Docker Compose 的可观测性Observability示例包括
- Prometheus指标收集
- Grafana指标可视化
- OpenTelemetry Collector分布式追踪数据接收与处理
开发者可以使用此示例环境 一键启动本地监控与追踪系统。
### 先决条件
需要确保提前安装以下组件:
- Docker
- Docker Compose或新版 Docker CLI 支持 `docker compose`
### 使用方法
#### 整体启动
进入目录:
```shell
cd examples/observability
```
`examples/observability` 目录下执行以下命令即可启动完整的监控和追踪服务:
```bash
docker compose -f docker-compose.yaml up -d
```
启动完成后可访问:
- Prometheus 访问: http://localhost:9090
- Grafana 访问: http://localhost:3000
- OTLP 接收端: 应用程序应将 Traces 发送到 OTel Collector 的默认端口(通常是 `4317``4318`)。
- grpc: 4317端口
- http: 4318端口
- Jeager 访问http://localhost:16886
【注意事项】:
- Prometheus的抓取地址换成自己的地址
- Grafana的展示端口映射成自己可以访问的端口
- Jaeger的展示端口映射成自己可以访问的端口
- 如果启动了整体服务就不需要再单独去启动子服务了
#### metrics启动
进入目录:
```shell
cd examples/observability/metrics
```
`examples/observability` 目录下执行以下命令即可启动完整的监控和追踪服务:
```bash
docker compose -f prometheus_compose.yaml up -d
```
启动完成后可访问:
- Grafana 访问: http://localhost:3000
#### trace启动
进入目录:
```shell
cd examples/observability/tracing
```
`examples/observability` 目录下执行以下命令即可启动完整的监控和追踪服务:
```bash
docker compose -f tracing_compose.yaml up -d
```
启动完成后可访问:
- OTLP 接收端:应用程序应将 Traces 发送到 OTel Collector 的默认端口(通常是 `4317``4318`)。
- grpc: 4317端口
- http: 4318端口
- Jeager 访问http://localhost:16886
### 目录结构与文件说明
#### 核心启动文件
| 文件名 | 作用 | 详情 |
| ------------------- | ---------- | ------------------------------------------------------------ |
| docker-compose.yaml | 主启动文件 | 定义并启动完整的可观测性组件Prometheus、Grafana、OTel Collector、Jaeger。这是启动整个 Observability 环境的唯一入口。 |
#### 指标 (Metrics) 与监控配置
| 文件/目录 | 作用 | 详情 |
| ------------------------------------------------- | ---------------------- | ------------------------------------------------------------ |
| metrics | 指标配置根目录 | 包含所有与指标收集和 Prometheus 相关的配置。 |
| prometheus.yaml | Prometheus 主配置 | 定义抓取目标scrape targets、全局采集参数并可选地配置记录规则recording rules。所有监控端点都在此定义。 |
| prometheus_compose.yaml | Prometheus Docker 配置 | 定义 Prometheus 容器、卷挂载和网络设置。 |
| grafana/datasources/datasource.yaml | 数据源配置 | 定义 Grafana 连接 Prometheus 的方式。 |
| grafana/dashboards/config/dashboard.yaml | 仪表板加载配置 | 指定仪表板 JSON 文件所在路径。 |
| grafana/dashboards/json/fastdeploy-dashboard.json | 仪表板 | 包含 `fastdeploy`监控指标的可视化布局与查询定义。 |
#### 分布式追踪 (Tracing) 配置
| 文件/目录 | 作用 | 详情 |
| -------------------- | ------------------- | ------------------------------------------------------------ |
| tracing | 追踪配置根目录 | 包含所有与分布式追踪相关的配置。 |
| opentelemetry.yaml | OTel Collector 配置 | 定义 Collector 的数据管道:<br />• receivers接收 OTLP 数据traces, metrics, logs<br />• processors处理与批次化数据<br />• exporters将数据导出到追踪后端如 Jaeger或文件<br />• extensions健康检查、pprof 和 zpages<br />• pipelines定义 traces、metrics 和 logs 的完整处理流程 |
| tracing_compose.yaml | Tracing Docker 配置 | 定义 OTel Collector 和 Jaeger 的容器配置。 |
### 4. 如何定制
#### 4.1 修改指标抓取目标
若应用程序端口、路径更改,请编辑:
```plain
metrics/prometheus.yaml
```
#### 4.2 调整追踪采样率或处理逻辑
编辑:
```plain
tracing/opentelemetry.yaml
```
#### 4.3 添加自定义 Grafana 仪表盘
1. 新增 JSON 仪表盘至:
```plain
grafana/dashboards/json/
```
1. 在下方文件中注册该仪表盘,使 Grafana 自动加载:
```plain
grafana/dashboards/config/dashboard.yaml
```