소스 정보
- 저장소
- ffsshhttiikk/opencode-agents-skills
- 최근 소스 활동
- 2026년 2월 28일 22:54
- 감지된 SKILL.md 언어
- 영어
- 스타
- 2
- 포크
- 2
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/ffsshhttiikk/opencode-agents-skills --skill site-reliability명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SOC 직업 분류 기준
SKILL.md 표시 중
| name | site-reliability |
| description | Site reliability engineering practices |
| license | MIT |
| compatibility | opencode |
| metadata | {"audience":"devops-engineer, sre","category":"devops"} |
# Service Level Indicators
slis:
- name: request-availability
description: "Ratio of successful requests to total requests"
type: ratio
source: prometheus
query: |
sum(rate(http_requests_total{status!~"5.."}[5m]))
/ sum(rate(http_requests_total[5m]))
- name: request-latency
description: "P99 latency in milliseconds"
type: threshold
source: prometheus
query: |
histogram_quantile(0.99,
sum(rate(http_request_duration_seconds_bucket[5m])) by (le)
) * 1000
# Service Level Objectives
slo:
- name: api-availability
sli: request-availability
target: 99.9
window: 30d
- name: api-latency
sli: request-latency
target: 500
window: 7d
# Service Level Agreement
sla:
- name: api-availability
objective: api-availability
target: 99.9
link: https://example.com/sla
# Alert on error budget burn rate
- alert: ErrorBudgetBurnRateHigh
expr: |
sum(rate(http_requests_total{slo="api-availability"}[5m])) > 14.4
/ 1000
for: 1h
labels:
severity: critical
annotations:
summary: "Error budget burning too fast"
description: "Error budget burn rate > 10x for 1 hour"
# Alert on remaining error budget
- alert: ErrorBudgetExhausted
expr: |
(slo:api-availability:ratio{job="api"}/ 1) < 0.9
for: 1h
labels:
severity: critical
annotations:
summary: "Error budget exhausted"
description: "Less than 10% of error budget remaining"
# Automating manual work
class AutomatedOps:
def __init__(self):
self.alert_handlers = {
'high_cpu': self.handle_high_cpu,
'disk_full': self.handle_disk_full,
'error_rate': self.handle_error_rate
}
def handle_alert(self, alert):
handler = self.alert_handlers.get(alert.type)
if handler:
# Attempt automated remediation
result = handler(alert)
if result.success:
return {'action': 'auto_resolved'}
else:
# Escalate if automated fix failed
return {'action': 'escalate', 'reason': result.error}
return {'action': 'no_handler'}
def handle_high_cpu(self, alert):
# Check if auto-scaling can help
if self.can_scale(alert.target):
self.scale_out(alert.target)
return Result(success=True)
return Result(success=False, error=)
# Incident Review: Service Outage
## Summary
- **Date**: 2024-01-15
- **Duration**: 45 minutes
- **Impact**: 15% of users unable to access API
## Timeline
- 10:00 - Alert triggered (high error rate)
- 10:05 - On-call paged
- 10:10 - Investigation started
- 10:25 - Root cause identified (database connection pool exhaustion)
- 10:35 - Fix deployed
- 10:45 - Service recovered
## Root Cause
Database connection pool was undersized for traffic spike.
## Action Items
- [ ] Increase connection pool size
- [ ] Add circuit breaker pattern
- [ ] Create load test for connection handling
- [ ] Update runbook for database scaling
## Lessons Learned
1. Need better observability into DB connection pool
2. Alert threshold was too high
3. Manual scaling takes too long
# Custom SRE metrics
class SRERecorder:
def __init__(self, prometheus_client):
self.errors = Counter('sre_errors_total', 'Total errors')
self.latency = Histogram('sre_latency_seconds', 'Request latency')
self.availability = Gauge('sre_availability_ratio', 'Current availability')
def record_request(self, success: bool, duration: float):
if not success:
self.errors.inc()
self.latency.observe(duration)
def calculate_availability(self, window_minutes: int):
# Calculate rolling availability
pass
| Metric | Elite | High | Medium | Low |
|---|---|---|---|---|
| Deployment Frequency | On-demand | Daily-weekly | Weekly-monthly | Monthly+ |
| Lead Time | <1 hour | 1 day-1 week | 1-6 months | 6+ months |
| MTTR | <1 hour | <1 day | 1 day-1 week | 6+ months |
| Change Failure Rate | 0-15% | 16-30% | 16-30% | 16-30% |