slo-implementation

Define SLIs and SLOs with Prometheus recording rules and error budget alerts.

1|Updated Aug 31, 2024
One-click install
npx skills add https://github.com/aRustyDev/dotfiles --skill slo-implementation-arustydev
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: slo-implementation
Source: https://github.com/aRustyDev/dotfiles/tree/main/.ai/plugins/observability-monitoring/skills/slo-implementation
Command: npx skills add https://github.com/aRustyDev/dotfiles --skill slo-implementation-arustydev

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes assets (resource) and references (resource) components.

What problem does it solve?

This Skill provides a framework for defining and implementing Service Level Indicators (SLIs) and Service Level Objectives (SLOs), enabling you to measure user-perceived reliability and manage error budgets effectively.

Core Features & Use Cases

  • SLI Definition: Guides in creating availability, latency, and durability SLIs using PromQL.
  • SLO Target Setting: Helps establish realistic reliability targets based on business needs and user expectations.
  • Error Budget Management: Calculates and tracks error budgets, informing decisions on development velocity vs. reliability work.
  • SLO-Based Alerting: Configures multi-window burn rate alerts to proactively detect and respond to reliability degradation.
  • Use Case: Define an SLO for your API's availability (e.g., 99.9%), implement Prometheus recording rules to track the SLI, and set up alerts that fire when the error budget is burning too quickly.

Quick Start

Define an Availability SLI using PromQL for successful HTTP requests over a 28-day window.

Frequently Asked Questions about slo-implementation

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I define SLOs and SLIs for measuring service reliability?

SLIs are metrics measuring user-perceived reliability—such as successful request rates or latency percentiles. SLOs are targets you set for those SLIs, like 99.9% availability over 28 days. Define SLIs using PromQL queries in Prometheus, then establish SLO targets based on business needs and user expectations.

What's the best way to set up error budget tracking and alerts?

Error budgets represent the acceptable failure rate within your SLO window. Calculate remaining budget as (1 - SLO target) × time window. Configure Prometheus recording rules to track burn rate, then set multi-window burn rate alerts that fire when error budget depletes too quickly, enabling proactive response before breaching SLOs.

How do I implement SLO-based alerting with Prometheus?

SLO-based alerting uses multi-window burn rate rules in Prometheus to detect when your error budget is burning faster than sustainable. Configure recording rules for your SLI, define burn rate thresholds, and create alert policies that trigger on short and long window burn rates, preventing SLO violations before they occur.

Can I use Prometheus and PromQL to track availability and latency SLIs?

Yes. Prometheus supports both availability SLIs—tracked via successful HTTP request ratios—and latency SLIs—measured using histogram percentiles. Write PromQL queries to aggregate these metrics over your SLO window, then use Prometheus dashboards to visualize SLI compliance and error budget consumption.

When should I implement SLOs for my services?

Implement SLOs when you need to align reliability targets with user expectations and inform development velocity decisions. SLOs are essential for establishing accountability, managing error budgets across teams, and triggering reliability work when budgets risk depletion.

What configurations do I need to track SLO compliance across multiple services?

Define SLIs for each service using Prometheus recording rules and PromQL. Create YAML alerting policies specifying burn rate thresholds and notification channels. Integrate results into dashboards for centralized SLO compliance tracking, enabling cross-service reliability visibility and coordinated incident response.