<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Grafana on DevOps-инженер &amp; CloudAdmin</title><link>https://ruadmin.root.sx/ru/tags/grafana/</link><description>Recent content in Grafana on DevOps-инженер &amp; CloudAdmin</description><generator>Hugo -- gohugo.io</generator><language>ru-RU</language><atom:link href="https://ruadmin.root.sx/ru/tags/grafana/index.xml" rel="self" type="application/rss+xml"/><item><title>CI/CD и инфраструктура для веб-приложения</title><link>https://ruadmin.root.sx/ru/posts/cicd/ci-cd-js/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://ruadmin.root.sx/ru/posts/cicd/ci-cd-js/</guid><description>&lt;h2 id="инфраструктура-и-cicd-для-сайта-компании"&gt;Инфраструктура и CI/CD для сайта компании&lt;/h2&gt;
&lt;hr&gt;
&lt;h4 id="клиент"&gt;Клиент&lt;/h4&gt;
&lt;p&gt;Компания-производитель фирменных исследовательских продуктов, которой требовался сайт для публикации каталога продукции&lt;/p&gt;
&lt;hr&gt;
&lt;h4 id="задача"&gt;Задача&lt;/h4&gt;
&lt;p&gt;Разработчики написали код обычного веб-приложения (backend NestJS + frontend Next.js), но инфраструктура полностью отсутствовала: деплой выполнялся вручную, не было CI/CD, настроенного сервера, мониторинга, бэкапов и разделения тестового и боевого окружений. Требовалось выстроить полный DevOps-стек с нуля: GitLab CI/CD, собственный сервер, два изолированных контура, HTTPS, мониторинг, оповещения и автоматические бэкапы.&lt;/p&gt;
&lt;hr&gt;
&lt;h4 id="решение"&gt;Решение&lt;/h4&gt;
&lt;h6 id="1-подготовка-сервера-и-безопасность"&gt;1. Подготовка сервера и безопасность&lt;/h6&gt;
&lt;ul&gt;
&lt;li&gt;VPS на Ubuntu 24.04: 4 vCPU, 6 ГБ RAM, 120 ГБ диск&lt;/li&gt;
&lt;li&gt;SSH только по ключам, отключён root, выделенный деплой-пользователь (sudo + docker)&lt;/li&gt;
&lt;li&gt;UFW Firewall: открыты только порты 80, 443, 22 и SFTP (2222/2223)&lt;/li&gt;
&lt;li&gt;Автоматические обновления безопасности (unattended-upgrades)&lt;/li&gt;
&lt;/ul&gt;
&lt;h6 id="2-gitlab-cicd"&gt;2. GitLab CI/CD&lt;/h6&gt;
&lt;ul&gt;
&lt;li&gt;Self-hosted GitLab с групповым Container Registry&lt;/li&gt;
&lt;li&gt;Пайплайны для backend и frontend: build → push → deploy&lt;/li&gt;
&lt;li&gt;Привязка веток: &lt;code&gt;test&lt;/code&gt; → образ &lt;code&gt;:test&lt;/code&gt; → контур test; &lt;code&gt;master&lt;/code&gt; → образ &lt;code&gt;:latest&lt;/code&gt; → контур prod; теги &lt;code&gt;v*&lt;/code&gt; → релизные сборки; &lt;code&gt;dev&lt;/code&gt; → только сборка&lt;/li&gt;
&lt;li&gt;SSH-деплой на сервер через &lt;code&gt;SSH_PRIVATE_KEY&lt;/code&gt;, секреты в Protected CI-переменных&lt;/li&gt;
&lt;li&gt;Инфраструктурный репозиторий &lt;code&gt;server-devops&lt;/code&gt; с джобой &lt;code&gt;deploy-all&lt;/code&gt;: жёсткий сброс к origin + &lt;code&gt;docker compose up -d --pull always&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h6 id="3-docker-compose-и-контуры"&gt;3. Docker Compose и контуры&lt;/h6&gt;
&lt;ul&gt;
&lt;li&gt;Три compose-файла: &lt;code&gt;app/&lt;/code&gt; (test), &lt;code&gt;app-prod/&lt;/code&gt; (prod), &lt;code&gt;monitoring/&lt;/code&gt; на общей Docker-сети&lt;/li&gt;
&lt;li&gt;Сервисы каждого контура: backend NestJS, frontend Next.js, PostgreSQL 16, pgAdmin, SFTP&lt;/li&gt;
&lt;li&gt;Политика рестарта &lt;code&gt;on-failure:10&lt;/code&gt; для всех контейнеров приложений&lt;/li&gt;
&lt;li&gt;Все конфиги, дашборды и правила — в git, применяются пайплайном&lt;/li&gt;
&lt;/ul&gt;
&lt;h6 id="4-reverse-proxy-и-https"&gt;4. Reverse Proxy и HTTPS&lt;/h6&gt;
&lt;ul&gt;
&lt;li&gt;Единый reverse proxy &lt;code&gt;nginx-proxy&lt;/code&gt; + &lt;code&gt;acme-companion&lt;/code&gt; на портах 80/443&lt;/li&gt;
&lt;li&gt;Автоматические сертификаты Let&amp;rsquo;s Encrypt с автопродлением&lt;/li&gt;
&lt;li&gt;Все точки входа только по HTTPS: основной сайт, тестовый контур, панель управления БД, мониторинг&lt;/li&gt;
&lt;/ul&gt;
&lt;h6 id="5-мониторинг-и-алерты"&gt;5. Мониторинг и алерты&lt;/h6&gt;
&lt;ul&gt;
&lt;li&gt;Prometheus + Grafana с автоматическим провижинингом дашбордов из git (4 дашборда: cAdvisor, Node Exporter, Logs/App, PostgreSQL)&lt;/li&gt;
&lt;li&gt;Exporters: node, cAdvisor, postgres, nginx (stub_status + access-лог: RPS, 4xx/5xx, время ответа/апстримов), HTTP-пробы blackbox для frontend/backend&lt;/li&gt;
&lt;li&gt;Alertmanager с интеграцией в Telegram — один бот, отдельные чаты на каждый контур (test / prod)&lt;/li&gt;
&lt;li&gt;Правила алертов: падение сервисов, высокая нагрузка CPU/RAM/диск (&amp;gt;80%), циклы рестартов, ошибки 5xx backend&lt;/li&gt;
&lt;/ul&gt;
&lt;h6 id="6-логирование-и-бэкапы"&gt;6. Логирование и бэкапы&lt;/h6&gt;
&lt;ul&gt;
&lt;li&gt;Loki + Promtail: логи всех контейнеров собираются и доступны в Grafana (Logs Drilldown)&lt;/li&gt;
&lt;li&gt;Автоматический скрипт бэкапа: &lt;code&gt;pg_dump&lt;/code&gt; БД prod + tar-стрим тома загрузок prod в единый архив&lt;/li&gt;
&lt;li&gt;Ротация 30 дней, ежедневный cron в 03:00, процедура восстановления проверена и задокументирована&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h4 id="технологии"&gt;Технологии&lt;/h4&gt;
&lt;div class="row"&gt;
&lt;div class="col-4 col-lg-2 pt-2" style="text-align: center;"&gt;&lt;img src="https://ruadmin.root.sx/icons/gitlab-original.svg" alt="GitLab"&gt;&lt;div&gt;GitLab CI&lt;/div&gt;&lt;/div&gt;
&lt;div class="col-4 col-lg-2 pt-2" style="text-align: center;"&gt;&lt;img src="https://ruadmin.root.sx/icons/docker-original.svg" alt="Docker"&gt;&lt;div&gt;Docker&lt;/div&gt;&lt;/div&gt;
&lt;div class="col-4 col-lg-2 pt-2" style="text-align: center;"&gt;&lt;img src="https://ruadmin.root.sx/icons/prometheus-original.svg" alt="Prometheus"&gt;&lt;div&gt;Prometheus&lt;/div&gt;&lt;/div&gt;
&lt;div class="col-4 col-lg-2 pt-2" style="text-align: center;"&gt;&lt;img src="https://ruadmin.root.sx/icons/grafana-original.svg" alt="Grafana"&gt;&lt;div&gt;Grafana&lt;/div&gt;&lt;/div&gt;
&lt;div class="col-4 col-lg-2 pt-2" style="text-align: center;"&gt;&lt;img src="https://ruadmin.root.sx/icons/nginx.svg" alt="Nginx"&gt;&lt;div&gt;Nginx&lt;/div&gt;&lt;/div&gt;
&lt;div class="col-4 col-lg-2 pt-2" style="text-align: center;"&gt;&lt;img src="https://ruadmin.root.sx/icons/postgresql.svg" alt="PostgreSQL"&gt;&lt;div&gt;PostgreSQL&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;hr&gt;
&lt;h4 id="результаты"&gt;Результаты&lt;/h4&gt;
&lt;p&gt;✅ &lt;strong&gt;Деплой:&lt;/strong&gt; merge в master → автоматическая сборка, публикация и деплой на сервер&lt;br&gt;
✅ &lt;strong&gt;Окружения:&lt;/strong&gt; полное разделение test и prod на одном VPS через общую Docker-сеть&lt;br&gt;
✅ &lt;strong&gt;HTTPS:&lt;/strong&gt; все сервисы только по HTTPS с автоматическими сертификатами Let&amp;rsquo;s Encrypt&lt;br&gt;
✅ &lt;strong&gt;Мониторинг:&lt;/strong&gt; 4 дашборда, пробы доступности, алерты в Telegram (отдельные чаты на контур)&lt;br&gt;
✅ &lt;strong&gt;Бэкапы:&lt;/strong&gt; ежедневный бэкап БД prod + тома загрузок, ротация 30 дней, восстановление проверено&lt;br&gt;
✅ &lt;strong&gt;Безопасность:&lt;/strong&gt; SSH по ключам, отключён root, UFW, секреты в Protected CI-переменных&lt;/p&gt;</description></item><item><title>Геораспределённый кластер блокчейн-нод в Kubernetes</title><link>https://ruadmin.root.sx/ru/posts/clouds/blockchain-k8s-cluster/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://ruadmin.root.sx/ru/posts/clouds/blockchain-k8s-cluster/</guid><description>&lt;h2 id="геораспределённый-кластер-блокчейн-нод-в-kubernetes"&gt;Геораспределённый кластер блокчейн-нод в Kubernetes&lt;/h2&gt;
&lt;hr&gt;
&lt;h4 id="клиент"&gt;Клиент&lt;/h4&gt;
&lt;p&gt;Криптовалютная платформа (Web3 / DeFi)&lt;/p&gt;
&lt;hr&gt;
&lt;h4 id="задача"&gt;Задача&lt;/h4&gt;
&lt;p&gt;Клиенту требовалась отказоустойчивая инфраструктура для запуска ETH и BSC full-нод в четырёх регионах (EU, US, AP, LatAm) с минимальной задержкой для конечных пользователей, защитой от DDoS и спама на RPC, безопасным HSM-подписанием транзакций и централизованным мониторингом. Синхронизация нод с нуля занимает 2–3 недели — требовалось решение для быстрого старта.&lt;/p&gt;
&lt;hr&gt;
&lt;h4 id="решение"&gt;Решение&lt;/h4&gt;
&lt;h6 id="1-инфраструктура-и-iac-terraform--eks"&gt;1. Инфраструктура и IaC (Terraform + EKS)&lt;/h6&gt;
&lt;ul&gt;
&lt;li&gt;Terraform-модули: VPC, subnets, security groups для 4 регионов (Frankfurt, Virginia, Singapore, São Paulo)&lt;/li&gt;
&lt;li&gt;Managed Kubernetes (EKS 1.29+) per region с выделенными node pools: full nodes, archive nodes, signing service&lt;/li&gt;
&lt;li&gt;NVMe StorageClass (gp3) через CSI-драйвер для высокопроизводительного хранения chaindata&lt;/li&gt;
&lt;li&gt;Helm chart для geth / bsc-node с кастомными values per region&lt;/li&gt;
&lt;/ul&gt;
&lt;h6 id="2-gitops-flux-cd-multi-cluster"&gt;2. GitOps: Flux CD multi-cluster&lt;/h6&gt;
&lt;ul&gt;
&lt;li&gt;Flux CD v2 с &lt;code&gt;Kustomization&lt;/code&gt; per region — единый источник истины для всех кластеров&lt;/li&gt;
&lt;li&gt;Secrets management: HashiCorp Vault + External Secrets Operator (ESO)&lt;/li&gt;
&lt;li&gt;Изменения в инфраструктуре применяются через git push без прямого доступа к кластерам&lt;/li&gt;
&lt;/ul&gt;
&lt;h6 id="3-балансировка-и-anti-spam"&gt;3. Балансировка и Anti-Spam&lt;/h6&gt;
&lt;ul&gt;
&lt;li&gt;HAProxy 2.8: sticky sessions, health checks по &lt;code&gt;eth_syncing&lt;/code&gt; — трафик только к синхронизированным нодам&lt;/li&gt;
&lt;li&gt;Nginx Ingress: rate limiting, IP reputation filtering (Lua-скрипты в стиле fail2ban)&lt;/li&gt;
&lt;li&gt;Cloudflare Workers: geo-routing + защита от DDoS L7&lt;/li&gt;
&lt;li&gt;Custom sidecar (Go): health endpoint, который возвращает ready только при полной синхронизации ноды&lt;/li&gt;
&lt;/ul&gt;
&lt;h6 id="4-hsm-интеграция-для-подписания-транзакций"&gt;4. HSM-интеграция для подписания транзакций&lt;/h6&gt;
&lt;ul&gt;
&lt;li&gt;AWS CloudHSM (prod) / YubiHSM2 (staging) для хранения приватных ключей&lt;/li&gt;
&lt;li&gt;Go-микросервис с PKCS#11 абстракцией — смена HSM-вендора без переписывания кода&lt;/li&gt;
&lt;li&gt;Изолированный K8s namespace + NetworkPolicy: нет egress кроме HSM endpoint&lt;/li&gt;
&lt;li&gt;gRPC API для backend: sign tx, get pubkey&lt;/li&gt;
&lt;li&gt;Аудит-лог всех операций подписания → Loki&lt;/li&gt;
&lt;/ul&gt;
&lt;h6 id="5-мониторинг-и-алертинг"&gt;5. Мониторинг и алертинг&lt;/h6&gt;
&lt;ul&gt;
&lt;li&gt;Custom Prometheus exporter (Go): &lt;code&gt;eth_blockNumber&lt;/code&gt;, &lt;code&gt;eth_syncing&lt;/code&gt;, peer count per node&lt;/li&gt;
&lt;li&gt;Grafana dashboards: sync lag, block height per region, RPC latency, SLO 99.9%&lt;/li&gt;
&lt;li&gt;Alertmanager → PagerDuty: алерты на block lag &amp;gt; N блоков, node down, peer count &amp;lt; threshold&lt;/li&gt;
&lt;li&gt;Loki + Promtail: структурированные логи всех нод с корреляцией по region/pod&lt;/li&gt;
&lt;/ul&gt;
&lt;h6 id="6-операционка-и-disaster-recovery"&gt;6. Операционка и Disaster Recovery&lt;/h6&gt;
&lt;ul&gt;
&lt;li&gt;Snapshot bootstrap: chaindata из S3 через rclone — нода готова за часы вместо недель&lt;/li&gt;
&lt;li&gt;DR playbook: пошаговые runbook&amp;rsquo;и для восстановления региона&lt;/li&gt;
&lt;li&gt;Chaos Engineering (Chaos Mesh): тесты на node kill, network partition, pod failure&lt;/li&gt;
&lt;li&gt;Architecture Decision Records (ADR) для всех ключевых решений&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h4 id="технологии"&gt;Технологии&lt;/h4&gt;
&lt;div class="row"&gt;
&lt;div class="col-4 col-lg-2 pt-2" style="text-align: center;"&gt;&lt;img src="https://ruadmin.root.sx/icons/kubernetes-plain.svg" alt="Kubernetes"&gt;&lt;div&gt;Kubernetes&lt;/div&gt;&lt;/div&gt;
&lt;div class="col-4 col-lg-2 pt-2" style="text-align: center;"&gt;&lt;img src="https://ruadmin.root.sx/icons/terraform-original.svg" alt="Terraform"&gt;&lt;div&gt;Terraform&lt;/div&gt;&lt;/div&gt;
&lt;div class="col-4 col-lg-2 pt-2" style="text-align: center;"&gt;&lt;img src="https://ruadmin.root.sx/icons/helm-original.svg" alt="Helm"&gt;&lt;div&gt;Helm&lt;/div&gt;&lt;/div&gt;
&lt;div class="col-4 col-lg-2 pt-2" style="text-align: center;"&gt;&lt;img src="https://ruadmin.root.sx/icons/flux-cd.svg" alt="Flux CD"&gt;&lt;div&gt;Flux CD&lt;/div&gt;&lt;/div&gt;
&lt;div class="col-4 col-lg-2 pt-2" style="text-align: center;"&gt;&lt;img src="https://ruadmin.root.sx/icons/prometheus-original.svg" alt="Prometheus"&gt;&lt;div&gt;Prometheus&lt;/div&gt;&lt;/div&gt;
&lt;div class="col-4 col-lg-2 pt-2" style="text-align: center;"&gt;&lt;img src="https://ruadmin.root.sx/icons/grafana-original.svg" alt="Grafana"&gt;&lt;div&gt;Grafana&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;hr&gt;
&lt;h4 id="результаты"&gt;Результаты&lt;/h4&gt;
&lt;p&gt;✅ &lt;strong&gt;Geo-routing:&lt;/strong&gt; задержка снижена за счёт маршрутизации к ближайшему региону&lt;br&gt;
✅ &lt;strong&gt;Быстрый старт:&lt;/strong&gt; нода готова за часы через snapshot из S3 вместо 2–3 недель синхронизации&lt;br&gt;
✅ &lt;strong&gt;Anti-spam:&lt;/strong&gt; rate limiting + IP reputation — публичный RPC выдерживает нагрузку ботов&lt;br&gt;
✅ &lt;strong&gt;HSM:&lt;/strong&gt; приватные ключи никогда не покидают аппаратный модуль&lt;br&gt;
✅ &lt;strong&gt;GitOps:&lt;/strong&gt; любое изменение инфраструктуры — через git, полный audit trail&lt;br&gt;
✅ &lt;strong&gt;SLO 99.9%:&lt;/strong&gt; отслеживается в Grafana, алерты в PagerDuty при деградации&lt;/p&gt;</description></item><item><title>Мониторинг Prometheus + Grafana</title><link>https://ruadmin.root.sx/ru/posts/sre-observability/monitoring-prometheus/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://ruadmin.root.sx/ru/posts/sre-observability/monitoring-prometheus/</guid><description>&lt;h2 id="observability-стек-для-микросервисной-архитектуры"&gt;Observability стек для микросервисной архитектуры&lt;/h2&gt;
&lt;hr&gt;
&lt;h4 id="клиент"&gt;Клиент&lt;/h4&gt;
&lt;p&gt;Начинающий стартап&lt;/p&gt;
&lt;hr&gt;
&lt;h4 id="задача"&gt;Задача&lt;/h4&gt;
&lt;p&gt;Компания перешла на микросервисную архитектуру (15+ сервисов), но не имела централизованного мониторинга. Проблемы обнаруживались только по жалобам пользователей через 30+ минут. Требовалось внедрить полноценный observability стек для быстрого выявления и диагностики проблем.&lt;/p&gt;
&lt;hr&gt;
&lt;h4 id="решение"&gt;Решение&lt;/h4&gt;
&lt;h6 id="1-архитектура-мониторинга"&gt;1. Архитектура мониторинга&lt;/h6&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Prometheus&lt;/strong&gt; для сбора метрик&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Grafana&lt;/strong&gt; для визуализации&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Loki&lt;/strong&gt; для централизованных логов&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Jaeger&lt;/strong&gt; для distributed tracing&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Alertmanager&lt;/strong&gt; для уведомлений&lt;/li&gt;
&lt;/ul&gt;
&lt;h6 id="2-сбор-метрик"&gt;2. Сбор метрик&lt;/h6&gt;
&lt;ul&gt;
&lt;li&gt;Автоматическое обнаружение сервисов в Kubernetes&lt;/li&gt;
&lt;li&gt;Метрики приложений (custom metrics)&lt;/li&gt;
&lt;li&gt;Системные метрики (node-exporter)&lt;/li&gt;
&lt;li&gt;Метрики БД (postgres-exporter, redis-exporter)&lt;/li&gt;
&lt;/ul&gt;
&lt;h6 id="3-визуализация-в-grafana"&gt;3. Визуализация в Grafana&lt;/h6&gt;
&lt;ul&gt;
&lt;li&gt;Дашборды для каждого микросервиса&lt;/li&gt;
&lt;li&gt;Общий дашборд инфраструктуры&lt;/li&gt;
&lt;li&gt;SLA/SLO метрики&lt;/li&gt;
&lt;li&gt;Business метрики (RPS, конверсия)&lt;/li&gt;
&lt;/ul&gt;
&lt;h6 id="4-централизованные-логи-loki"&gt;4. Централизованные логи (Loki)&lt;/h6&gt;
&lt;ul&gt;
&lt;li&gt;Агрегация логов всех сервисов&lt;/li&gt;
&lt;li&gt;Поиск по логам через Grafana&lt;/li&gt;
&lt;li&gt;Корреляция логов с метриками&lt;/li&gt;
&lt;/ul&gt;
&lt;h6 id="5-distributed-tracing-jaeger"&gt;5. Distributed Tracing (Jaeger)&lt;/h6&gt;
&lt;ul&gt;
&lt;li&gt;Трейсинг HTTP запросов между сервисами&lt;/li&gt;
&lt;li&gt;Визуализация цепочек вызовов&lt;/li&gt;
&lt;li&gt;Поиск узких мест (bottlenecks)&lt;/li&gt;
&lt;li&gt;Анализ latency по сервисам&lt;/li&gt;
&lt;/ul&gt;
&lt;h6 id="6-алертинг"&gt;6. Алертинг&lt;/h6&gt;
&lt;ul&gt;
&lt;li&gt;Алерты в Telegram&lt;/li&gt;
&lt;li&gt;Эскалация критичных проблем&lt;/li&gt;
&lt;li&gt;On-call ротация&lt;/li&gt;
&lt;li&gt;Автоматическое создание инцидентов&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h4 id="технологии"&gt;Технологии&lt;/h4&gt;
&lt;div class="row"&gt;
&lt;div class="col-4 col-lg-2 pt-2" style="text-align: center;"&gt;&lt;img src="https://ruadmin.root.sx/icons/prometheus-original.svg" alt="Prometheus"&gt;&lt;div&gt;Prometheus&lt;/div&gt;&lt;/div&gt;
&lt;div class="col-4 col-lg-2 pt-2" style="text-align: center;"&gt;&lt;img src="https://ruadmin.root.sx/icons/grafana-original.svg" alt="Grafana"&gt;&lt;div&gt;Grafana&lt;/div&gt;&lt;/div&gt;
&lt;div class="col-4 col-lg-2 pt-2" style="text-align: center;"&gt;&lt;img src="https://ruadmin.root.sx/icons/kubernetes-plain.svg" alt="Kubernetes"&gt;&lt;div&gt;Kubernetes&lt;/div&gt;&lt;/div&gt;
&lt;div class="col-4 col-lg-2 pt-2" style="text-align: center;"&gt;&lt;img src="https://ruadmin.root.sx/icons/docker-original.svg" alt="Docker"&gt;&lt;div&gt;Docker&lt;/div&gt;&lt;/div&gt;
&lt;div class="col-4 col-lg-2 pt-2" style="text-align: center;"&gt;&lt;img src="https://ruadmin.root.sx/icons/helm-original.svg" alt="Helm"&gt;&lt;div&gt;Helm&lt;/div&gt;&lt;/div&gt;
&lt;div class="col-4 col-lg-2 pt-2" style="text-align: center;"&gt;&lt;img src="https://ruadmin.root.sx/icons/linux-original.svg" alt="Linux"&gt;&lt;div&gt;Linux&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;hr&gt;
&lt;h4 id="результаты"&gt;Результаты&lt;/h4&gt;
&lt;p&gt;✅ &lt;strong&gt;MTTD:&lt;/strong&gt; обнаружение проблем с 30 минут до 1 минуты&lt;br&gt;
✅ &lt;strong&gt;MTTR:&lt;/strong&gt; время восстановления сократилось на 60%&lt;br&gt;
✅ &lt;strong&gt;Алерты:&lt;/strong&gt; автоматические уведомления в Telegram&lt;br&gt;
✅ &lt;strong&gt;Visibility:&lt;/strong&gt; полная прозрачность работы всех сервисов&lt;br&gt;
✅ &lt;strong&gt;Capacity planning:&lt;/strong&gt; данные для планирования ресурсов&lt;/p&gt;</description></item></channel></rss>