mcpField
O
observability

observability

github.com/dralgorhythm云与 DevOps12967 次安装14 周前更新
代码仓库

关于 observability

面向软件服务运维与开发人员的可观测性参考技能,介绍日志、指标和链路追踪,并提供 OpenTelemetry、告警与仪表盘要点。

主要功能

  1. 01日志、指标与链路追踪
  2. 02OpenTelemetry 配置示例
  3. 03RED 与 USE 指标方法
  4. 04可执行告警设计要点
  5. 05仪表盘核心面板建议

适用场景

  1. 01规划服务的日志、指标和追踪采集
  2. 02使用 RED 或 USE 方法整理关键指标
  3. 03配置高错误率告警及服务仪表盘

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/dralgorhythm/claude-agentic-framework --skill observability

安装后在 Claude Code 中输入/observability确认已加载。

详细介绍

可观测性

三大支柱

1. 日志

包含上下文的离散事件。

{
  "timestamp": "2024-01-01T12:00:00Z",
  "level": "error",
  "message": "Failed to process order",
  "orderId": "123",
  "error": "Payment declined",
  "traceId": "abc123"
}
2. 指标

随时间变化的数值测量结果。

http_requests_total{method="GET", status="200"} 1234
http_request_duration_seconds{quantile="0.95"} 0.23
3. 追踪

请求在各服务之间的流转情况。

Trace: abc123
├── API Gateway (50ms)
│   ├── Auth Service (10ms)
│   └── Order Service (35ms)
│       └── Database (20ms)

OpenTelemetry 设置

import { NodeSDK } from '@opentelemetry/sdk-node';
import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';

const sdk = new NodeSDK({
  traceExporter: new OTLPTraceExporter({
    url: 'http://collector:4318/v1/traces',
  }),
  serviceName: 'my-service',
});

sdk.start();

关键指标

RED 方法(以请求为中心)
  • Rate:每秒请求数
  • Errors:每秒失败请求数
  • Duration:请求延迟
USE 方法(以资源为中心)
  • Utilization:繁忙时间占比
  • Saturation:队列深度
  • Errors:错误数

告警

优质告警
  • 可操作:可以采取措施
  • 紧急:需要立即处理
  • 明确:清楚说明问题所在
告警模板
alert: HighErrorRate
expr: rate(http_requests_total{status=~"5.."}[5m]) > 0.01
for: 5m
labels:
  severity: critical
annotations:
  summary: "High error rate on {{ $labels.service }}"
  description: "Error rate is {{ $value | humanizePercentage }}"

仪表板

必要面板:

  1. 请求速率
  2. 错误率
  3. 延迟(P50、P95、P99)
  4. 饱和度(CPU、内存)
  5. 活跃告警

评论

支持 Markdown