Вчера потыкал любопытную панельку, которая умеет красиво отображать SLO (Service Level Objectives). Это примерно то же самое, что и SLA, которое все знают, но только для внутреннего пользования. То есть не обязательства перед другими, как в SLA, а внутренний показатель качества работы сервиса.
Речь пойдёт про SLO tracker. Это небольшая панелька для отображения в %% и минутах вашего SLO.
https://github.com/roshan8/slo-tracker
https://slotracker.com/
Зачем это нужно? Я хз, мне лично не нужно, потому что у меня нет отдельного монитора, куда можно выводить красивые дашборды и смотреть на них. И отчитываться мне ни перед кем не надо. Но если у вас есть отдел, который премируют по итогам месяца или квартала за отсутствие простоев, то такая панелька может быть как мотиватором, так и простой статистикой для отчётов.
SLO tracker имеет несколько готовых интеграций с Prometheus, NewRelic, Pingdom, Datatog. Для них в системе есть ссылка для вебхука, который надо повесить на нужное событие, за которым будете следить. Например, доступность сайта должна быть 99,9 в год. Значит можно поваляться примерно 526 минут за это время. Добавляем SLO в панель, вешаем вебхук в систему мониторинга на недоступность сайта и следим за SLO. Панель будет показывать, сколько уже повалялись в этом году и сколько еще можно провести в этом же состоянии.
Если нет системы мониторинга или готовой интеграции, события и их длительность можно руками добавлять через веб интерфейс. Самих метрик для SLO может быть много. Для просмотра их всех разом, есть отдельный дашборд. Можно завести подобную панель для контроля за аутсорсерами. Заносить туда руками простой по их вине, потом предъявлять.
Чтобы все это добро потрогать, достаточно запустить в докере:
git clone https://github.com/roshan8/slo-tracker
cd slo-tracker
docker-compose up --build -d
Демо потыкать можно тут — http://demo.slotracker.com:3000/
Это было для простых парней поиграться с панельками. Если у вас всё серьезно, вы devops и вам реально нужен хороший инстрeмент для контроля SLO, то смотрите в эту сторону — Sloth:
https://github.com/slok/sloth
https://sloth.dev/