instruction: How do you implement comprehensive microservices observability?
output: GitHub - slok/sloth: 🦥 Easy and simple Prometheus SLO (service level objectives) generator Skip to content Navigation Menu Toggle navigation Sign in Appearance settings Product GitHub Copilot Write better code with AI GitHub Spark New Build and deploy intelligent apps GitHub Models New Manage and compare prompts GitHub Advanced Security Find and fix vulnerabilities Actions Automate any workflow Codespaces Instant dev environments Issues Plan and track work Code Review Manage code changes Discussions Collaborate outside of code Code Search Find more, search less Explore Why GitHub All features Documentation GitHub Skills Blog Solutions By company size Enterprises Small and medium teams Startups Nonprofits By use case DevSecOps DevOps CI/CD View all use cases By industry Healthcare Financial services Manufacturing Government View all industries View all solutions Resources Topics AI DevOps Security Software Development View all Explore Learning Pathways Events &amp; Webinars Ebooks &amp; Whitepapers Customer Stories Partners Executive Insights Open Source GitHub Sponsors Fund open source developers The ReadME Project GitHub community articles Repositories Topics Trending Collections Enterprise Enterprise platform AI-powered developer platform Available add-ons GitHub Advanced Security Enterprise-grade security features Copilot for business Enterprise-grade AI features Premium Support Enterprise-grade 24/7 support Pricing Search or jump to... Search code, repositories, users, issues, pull requests... --> Search Clear Search syntax tips Provide feedback --> We read every piece of feedback, and take your input very seriously. Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to filter your results more quickly --> Name Query To see all available qualifiers, see our documentation . Cancel Create saved search Sign in Sign up Appearance settings Resetting focus You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert {{ message }} slok / sloth Public Notifications You must be signed in to change notification settings Fork 202 Star 2.3k 🦥 Easy and simple Prometheus SLO (service level objectives) generator sloth.dev License Apache-2.0 license 2.3k stars 202 forks Branches Tags Activity Star Notifications You must be signed in to change notification settings Code Issues 7 Pull requests 11 Discussions Actions Projects 0 Security Uh oh! There was an error while loading. Please reload this page . Insights Additional navigation options Code Issues Pull requests Discussions Actions Projects Security Insights slok/sloth main Branches Tags Go to file Code Open more actions menu Folders and files Name Name Last commit message Last commit date Latest commit History 789 Commits .github .github cmd/ sloth cmd/ sloth deploy/ kubernetes deploy/ kubernetes docker docker docs/ img docs/ img examples examples internal internal pkg pkg scripts scripts test/ integration test/ integration .codecov.yml .codecov.yml .gitignore .gitignore .golangci.yml .golangci.yml .mockery.yml .mockery.yml CHANGELOG.md CHANGELOG.md CONTRIBUTING.md CONTRIBUTING.md LICENSE LICENSE Makefile Makefile README.md README.md go.mod go.mod go.sum go.sum View all files Repository files navigation README Contributing Apache-2.0 license Sloth Project status Sloth is actively maintained and in continuous development. We’re currently working on internal improvements to make Sloth even more extensible and adaptable to real-world use cases. While Sloth already supports custom SLI plugins, upcoming changes will bring more flexibility to how SLOs are generated, making it easier to adapt Sloth to your custom needs. Stay tuned for updates! Introduction Meet the easiest way to generate SLOs for Prometheus. Sloth generates understandable, uniform and reliable Prometheus SLOs for any kind of service. Using a simple SLO spec that results in multiple metrics and multi window multi burn alerts. https://sloth.dev Features Simple, maintainable and understandable SLO spec. Reliable SLO metrics and alerts. Based on Google SLO implementation and multi window multi burn alerts framework. Autogenerates Prometheus SLI recording rules in different time windows. Autogenerates Prometheus SLO metadata rules. Autogenerates Prometheus SLO multi window multi burn alert rules (Page and warning). SLO spec validation (including validate command for Gitops and CI). Customization of labels, disabling different type of alerts... A single way (uniform) of creating SLOs across all different services and teams. Automatic Grafana dashboard to see all your SLOs state. Single binary and easy to use CLI. Kubernetes ( Prometheus-operator ) support. Kubernetes Controller/operator mode with CRDs. Support different SLI types . Support for SLI plugins A library with common SLI plugins . OpenSLO support. Safe SLO period windows for 30 and 28 days by default. Customizable SLO period windows for advanced use cases. Getting started Release the Sloth! sloth generate -i ./examples/getting-started.yml version : " prometheus/v1 " service : " myservice " labels : owner : " myteam " repo : " myorg/myservice " tier : " 2 " slos : # We allow failing (5xx and 429) 1 request every 1000 requests (99.9%). - name : " requests-availability " objective : 99.9 description : " Common SLO based on availability for HTTP request responses. " labels : category : availability sli : events : error_query : sum(rate(http_request_duration_seconds_count{job="myservice",code=~"(5..|429)"}[{{.window}}])) total_query : sum(rate(http_request_duration_seconds_count{job="myservice"}[{{.window}}])) alerting : name : " MyServiceHighErrorRate " labels : category : " availability " annotations : # Overwrite default Sloth SLO alert summmary on ticket and page alerts. summary : " High error rate on 'myservice' requests responses " page_alert : labels : severity : " pageteam " routing_key : " myteam " ticket_alert : labels : severity : " slack " slack_channel : " #alerts-myteam " This would be the result you would obtain from the above spec example . Documentation Check the docs to know more about the usage, examples, and other handy features! SLI plugins Looking for common SLI plugins? Check this repository , if you are looking for the sli plugins docs, check this instead. Development and Contributing Check CONTRIBUTING.md . About 🦥 Easy and simple Prometheus SLO (service level objectives) generator sloth.dev Topics kubernetes alerts monitoring controller metrics alerting oncall prometheus operator slo observability sli service-level-objective sla prometheus-operator service-level google-slo autogenerates-prometheus-slo openslo Resources Readme License Apache-2.0 license Contributing Contributing Uh oh! There was an error while loading. Please reload this page . Activity Stars 2.3k stars Watchers 18 watching Forks 202 forks Report repository Releases 29 v0.12.0 Latest Mar 27, 2025 + 28 releases Packages 0 &nbsp; &nbsp; &nbsp; Uh oh! There was an error while loading. Please reload this page . Uh oh! There was an error while loading. Please reload this page . Contributors 24 + 10 contributors Languages Go 96.6% Shell 1.6% Other 1.8% Footer &copy; 2025 GitHub,&nbsp;Inc. Footer navigation Terms Privacy Security Status Docs Contact Manage cookies Do not share my personal information You can’t perform that action at this time.