[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-2c9f1a94-9752-4b2a-9d60-4b70107dca01":3,"$fXd7VlcYUJ_oOPp_-KKNhvy-kdxfkDQfiPCjOJfurUWY":43},{"id":4,"title":5,"description":6,"categoryId":7,"moduleId":8,"tags":9,"prompt":10,"icon":11,"source":12,"sourceUrl":13,"authorId":14,"authorName":15,"isPublic":16,"stars":17,"runs":18,"createdAt":19,"updatedAt":19,"module":20,"category":27,"packages":34},"2c9f1a94-9752-4b2a-9d60-4b70107dca01","slo-implementation","服务级别指标（SLI）、服务级别目标（SLO）和错误预算的定义与实施框架。","cat_life_career","mod_other","sickn33,other","---\nname: slo-implementation\ndescription: \"Framework for defining and implementing Service Level Indicators (SLIs), Service Level Objectives (SLOs), and error budgets.\"\nrisk: unknown\nsource: community\ndate_added: \"2026-02-27\"\n---\n\n# SLO Implementation\n\nFramework for defining and implementing Service Level Indicators (SLIs), Service Level Objectives (SLOs), and error budgets.\n\n## Do not use this skill when\n\n- The task is unrelated to slo implementation\n- You need a different domain or tool outside this scope\n\n## Instructions\n\n- Clarify goals, constraints, and required inputs.\n- Apply relevant best practices and validate outcomes.\n- Provide actionable steps and verification.\n- If detailed examples are required, open `resources\u002Fimplementation-playbook.md`.\n\n## Purpose\n\nImplement measurable reliability targets using SLIs, SLOs, and error budgets to balance reliability with innovation velocity.\n\n## Use this skill when\n\n- Define service reliability targets\n- Measure user-perceived reliability\n- Implement error budgets\n- Create SLO-based alerts\n- Track reliability goals\n\n## SLI\u002FSLO\u002FSLA Hierarchy\n\n```\nSLA (Service Level Agreement)\n  ↓ Contract with customers\nSLO (Service Level Objective)\n  ↓ Internal reliability target\nSLI (Service Level Indicator)\n  ↓ Actual measurement\n```\n\n## Defining SLIs\n\n### Common SLI Types\n\n#### 1. Availability SLI\n```promql\n# Successful requests \u002F Total requests\nsum(rate(http_requests_total{status!~\"5..\"}[28d]))\n\u002F\nsum(rate(http_requests_total[28d]))\n```\n\n#### 2. Latency SLI\n```promql\n# Requests below latency threshold \u002F Total requests\nsum(rate(http_request_duration_seconds_bucket{le=\"0.5\"}[28d]))\n\u002F\nsum(rate(http_request_duration_seconds_count[28d]))\n```\n\n#### 3. Durability SLI\n```\n# Successful writes \u002F Total writes\nsum(storage_writes_successful_total)\n\u002F\nsum(storage_writes_total)\n```\n\n**Reference:** See `references\u002Fslo-definitions.md`\n\n## Setting SLO Targets\n\n### Availability SLO Examples\n\n| SLO % | Downtime\u002FMonth | Downtime\u002FYear |\n|-------|----------------|---------------|\n| 99%   | 7.2 hours      | 3.65 days     |\n| 99.9% | 43.2 minutes   | 8.76 hours    |\n| 99.95%| 21.6 minutes   | 4.38 hours    |\n| 99.99%| 4.32 minutes   | 52.56 minutes |\n\n### Choose Appropriate SLOs\n\n**Consider:**\n- User expectations\n- Business requirements\n- Current performance\n- Cost of reliability\n- Competitor benchmarks\n\n**Example SLOs:**\n```yaml\nslos:\n  - name: api_availability\n    target: 99.9\n    window: 28d\n    sli: |\n      sum(rate(http_requests_total{status!~\"5..\"}[28d]))\n      \u002F\n      sum(rate(http_requests_total[28d]))\n\n  - name: api_latency_p95\n    target: 99\n    window: 28d\n    sli: |\n      sum(rate(http_request_duration_seconds_bucket{le=\"0.5\"}[28d]))\n      \u002F\n      sum(rate(http_request_duration_seconds_count[28d]))\n```\n\n## Error Budget Calculation\n\n### Error Budget Formula\n\n```\nError Budget = 1 - SLO Target\n```\n\n**Example:**\n- SLO: 99.9% availability\n- Error Budget: 0.1% = 43.2 minutes\u002Fmonth\n- Current Error: 0.05% = 21.6 minutes\u002Fmonth\n- Remaining Budget: 50%\n\n### Error Budget Policy\n\n```yaml\nerror_budget_policy:\n  - remaining_budget: 100%\n    action: Normal development velocity\n  - remaining_budget: 50%\n    action: Consider postponing risky changes\n  - remaining_budget: 10%\n    action: Freeze non-critical changes\n  - remaining_budget: 0%\n    action: Feature freeze, focus on reliability\n```\n\n**Reference:** See `references\u002Ferror-budget.md`\n\n## SLO Implementation\n\n### Prometheus Recording Rules\n\n```yaml\n# SLI Recording Rules\ngroups:\n  - name: sli_rules\n    interval: 30s\n    rules:\n      # Availability SLI\n      - record: sli:http_availability:ratio\n        expr: |\n          sum(rate(http_requests_total{status!~\"5..\"}[28d]))\n          \u002F\n          sum(rate(http_requests_total[28d]))\n\n      # Latency SLI (requests \u003C 500ms)\n      - record: sli:http_latency:ratio\n        expr: |\n          sum(rate(http_request_duration_seconds_bucket{le=\"0.5\"}[28d]))\n          \u002F\n          sum(rate(http_request_duration_seconds_count[28d]))\n\n  - name: slo_rules\n    interval: 5m\n    rules:\n      # SLO compliance (1 = meeting SLO, 0 = violating)\n      - record: slo:http_availability:compliance\n        expr: sli:http_availability:ratio >= bool 0.999\n\n      - record: slo:http_latency:compliance\n        expr: sli:http_latency:ratio >= bool 0.99\n\n      # Error budget remaining (percentage)\n      - record: slo:http_availability:error_budget_remaining\n        expr: |\n          (sli:http_availability:ratio - 0.999) \u002F (1 - 0.999) * 100\n\n      # Error budget burn rate\n      - record: slo:http_availability:burn_rate_5m\n        expr: |\n          (1 - (\n            sum(rate(http_requests_total{status!~\"5..\"}[5m]))\n            \u002F\n            sum(rate(http_requests_total[5m]))\n          )) \u002F (1 - 0.999)\n```\n\n### SLO Alerting Rules\n\n```yaml\ngroups:\n  - name: slo_alerts\n    interval: 1m\n    rules:\n      # Fast burn: 14.4x rate, 1 hour window\n      # Consumes 2% error budget in 1 hour\n      - alert: SLOErrorBudgetBurnFast\n        expr: |\n          slo:http_availability:burn_rate_1h > 14.4\n          and\n          slo:http_availability:burn_rate_5m > 14.4\n        for: 2m\n        labels:\n          severity: critical\n        annotations:\n          summary: \"Fast error budget burn detected\"\n          description: \"Error budget burning at {{ $value }}x rate\"\n\n      # Slow burn: 6x rate, 6 hour window\n      # Consumes 5% error budget in 6 hours\n      - alert: SLOErrorBudgetBurnSlow\n        expr: |\n          slo:http_availability:burn_rate_6h > 6\n          and\n          slo:http_availability:burn_rate_30m > 6\n        for: 15m\n        labels:\n          severity: warning\n        annotations:\n          summary: \"Slow error budget burn detected\"\n          description: \"Error budget burning at {{ $value }}x rate\"\n\n      # Error budget exhausted\n      - alert: SLOErrorBudgetExhausted\n        expr: slo:http_availability:error_budget_remaining \u003C 0\n        for: 5m\n        labels:\n          severity: critical\n        annotations:\n          summary: \"SLO error budget exhausted\"\n          description: \"Error budget remaining: {{ $value }}%\"\n```\n\n## SLO Dashboard\n\n**Grafana Dashboard Structure:**\n\n```\n┌────────────────────────────────────┐\n│ SLO Compliance (Current)           │\n│ ✓ 99.95% (Target: 99.9%)          │\n├────────────────────────────────────┤\n│ Error Budget Remaining: 65%        │\n│ ████████░░ 65%                     │\n├────────────────────────────────────┤\n│ SLI Trend (28 days)                │\n│ [Time series graph]                │\n├────────────────────────────────────┤\n│ Burn Rate Analysis                 │\n│ [Burn rate by time window]         │\n└────────────────────────────────────┘\n```\n\n**Example Queries:**\n\n```promql\n# Current SLO compliance\nsli:http_availability:ratio * 100\n\n# Error budget remaining\nslo:http_availability:error_budget_remaining\n\n# Days until error budget exhausted (at current burn rate)\n(slo:http_availability:error_budget_remaining \u002F 100)\n*\n28\n\u002F\n(1 - sli:http_availability:ratio) * (1 - 0.999)\n```\n\n## Multi-Window Burn Rate Alerts\n\n```yaml\n# Combination of short and long windows reduces false positives\nrules:\n  - alert: SLOBurnRateHigh\n    expr: |\n      (\n        slo:http_availability:burn_rate_1h > 14.4\n        and\n        slo:http_availability:burn_rate_5m > 14.4\n      )\n      or\n      (\n        slo:http_availability:burn_rate_6h > 6\n        and\n        slo:http_availability:burn_rate_30m > 6\n      )\n    labels:\n      severity: critical\n```\n\n## SLO Review Process\n\n### Weekly Review\n- Current SLO compliance\n- Error budget status\n- Trend analysis\n- Incident impact\n\n### Monthly Review\n- SLO achievement\n- Error budget usage\n- Incident postmortems\n- SLO adjustments\n\n### Quarterly Review\n- SLO relevance\n- Target adjustments\n- Process improvements\n- Tooling enhancements\n\n## Best Practices\n\n1. **Start with user-facing services**\n2. **Use multiple SLIs** (availability, latency, etc.)\n3. **Set achievable SLOs** (don't aim for 100%)\n4. **Implement multi-window alerts** to reduce noise\n5. **Track error budget** consistently\n6. **Review SLOs regularly**\n7. **Document SLO decisions**\n8. **Align with business goals**\n9. **Automate SLO reporting**\n10. **Use SLOs for prioritization**\n\n## Reference Files\n\n- `assets\u002Fslo-template.md` - SLO definition template\n- `references\u002Fslo-definitions.md` - SLO definition patterns\n- `references\u002Ferror-budget.md` - Error budget calculations\n\n## Related Skills\n\n- `prometheus-configuration` - For metric collection\n- `grafana-dashboards` - For SLO visualization\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.\n","","imported","https:\u002F\u002Fgithub.com\u002Fsickn33\u002Fantigravity-awesome-skills","user_system_seed","SkillOPIC",true,62,563,"2026-05-16 13:41:15",{"id":8,"name":21,"slug":22,"icon":23,"description":24,"sort":25,"createdAt":26},"其他","other","mdi-page-next-outline","其他类型Skill",5,"2026-05-16 12:53:40",{"id":7,"name":28,"slug":29,"icon":30,"description":31,"moduleId":8,"sort":32,"skillCount":33,"createdAt":26},"职场发展","career","mdi-briefcase-outline","面试准备、简历优化、职业规划",4,575,[35],{"id":36,"skillId":4,"version":37,"fileName":38,"fileSize":39,"filePath":40,"fileHash":41,"manifest":42,"createdAt":19},"b5b4d8ac-a581-41bf-a98c-9cbcd2336db6","1.0.0","slo-implementation.zip",3038,"uploads\u002Fskills\u002F2c9f1a94-9752-4b2a-9d60-4b70107dca01\u002Fslo-implementation.zip","3d7750687eb5be3fe9448824224e1e4b961511ff8e64035e0a7afba6f690d582","[{\"path\":\"SKILL.md\",\"isDirectory\":false,\"size\":9268}]",{"code":44,"message":45,"data":46},200,"success",{"items":47,"stats":48,"page":51},[],{"averageRating":49,"totalRatings":49,"ratingCounts":50},0,[49,49,49,49,49],{"limit":52,"offset":49,"hasMore":53,"nextOffset":52,"ratedOnly":16},15,false]