Files
MAcode/tcs-iptv/deploy/monitoring/README.md
T

81 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
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.
# TCS-IPTV 监控部署说明
## 组件
| 文件 | 说明 |
|------|------|
| `prometheus.yml` | Prometheus 采集配置,抓取 api-svc / chain-svc / hash-api / catalog-svc 的 `/metrics` |
| `grafana-dashboard.json` | Grafana 面板 JSON,覆盖 4 金指标 |
## 快速部署
### 1. Prometheus
```bash
# 启动 PrometheusDocker
docker run -d --name prometheus \
-p 9090:9090 \
-v $(pwd)/prometheus.yml:/etc/prometheus/prometheus.yml \
prom/prometheus
```
### 2. Grafana
```bash
# 启动 GrafanaDocker
docker run -d --name grafana \
-p 3000:3000 \
-v $(pwd)/grafana-dashboard.json:/etc/grafana/provisioning/dashboards/tcs-iptv.json \
grafana/grafana
```
### 3. 导入面板
1. 打开 Grafana → http://localhost:3000
2. Dashboards → Import → 上传 `grafana-dashboard.json`
3. 数据源选择 Prometheushttp://prometheus:9090
## 面板指标说明
| 面板 | 指标 | Prometheus Metric |
|------|------|-------------------|
| 请求延迟 | P50/P95/P99 | `tcs_http_request_duration_seconds` (Histogram) |
| 请求总量 | QPS by path | `tcs_http_requests_total` (Counter) |
| 错误率 | 4xx/5xx QPS | `tcs_http_errors_total` (Counter) |
| 在途请求 | 并发数 | `tcs_http_in_flight_requests` (Gauge) |
| 错误率百分比 | 错误/总请求 | 上述两个 Counter 计算 |
| 延迟热力图 | by path | Histogram bucket 热力图 |
## 告警规则建议
在 Prometheus 中配置 `alerting_rules.yml`
```yaml
groups:
- name: tcs-iptv-alerts
rules:
- alert: HighErrorRate
expr: sum(rate(tcs_http_errors_total[5m])) / sum(rate(tcs_http_requests_total[5m])) > 0.1
for: 5m
labels:
severity: critical
annotations:
summary: "错误率超过 10%"
- alert: HighLatency
expr: histogram_quantile(0.95, sum(rate(tcs_http_request_duration_seconds_bucket[5m])) by (le)) > 2
for: 5m
labels:
severity: warning
annotations:
summary: "P95 延迟超过 2 秒"
- alert: HighInFlight
expr: tcs_http_in_flight_requests > 100
for: 2m
labels:
severity: warning
annotations:
summary: "在途请求超过 100"
```