Добавлена подсветка ответов от хостов в зависимости от критичности. Теперь ответы с ошибками подсвечиваются красным, без ошибок — зеленым
Добавлена конфигурация для закрытия групп с чувствительными данными
Исправлена ошибка, из-за которой при использовании команды fields выполнялась сортировка по умолчанию. Теперь поля отображаются в том порядке, в котором они указаны в команде
Исправлена ошибка, из-за которой не отправлялось последнее значение удаляемой метрики, не используемой длительное время
Теперь можно использовать Handlebars для создания шаблонов сообщений в MageQL- и YAML-алертах. Это позволяет легко настраивать оповещения под конкретные нужды
Добавлена поддержка TypeScript для DevMode-алертов. Это помогает снизить вероятность ошибок и упростить отладку
Теперь можно отлаживать JS- и YAML-алерты, созданные в Git. Это упрощает процесс разработки и тестирования
Введена функция автоматической маркировки алертов с низким качеством исполнения. Это помогает быстрее выявлять и устранять проблемы
Добавлены теги к алертам. Это позволяет сделать поиск алертов удобнее
Можно задавать интервал поиска прямо в запросе с помощью параметров start_time и end_time, а также использовать команду vars и макрос var
Добавлена возможность округлять значения до миллисекунд, секунд, минут, часов, дней и недель прямо в запросе
Теперь функцию now можно вызывать без скобок. Это упрощает написание запросов
Logs2Metrics доступен в тестовой версии. Это позволяет ознакомиться с его возможностями
Добавлены гистограмма трейсов, масштабирование таймлайна в трейсинге и подсказки о логах
Добавлена возможность работы со сжатыми трейсами для экономии места при хранении и емкости сети передачи данных
Добавлена конфигурация для управления очисткой истории эскалаций
Добавлен подход type-safety при создании JS-алертов
Реализована отправка сообщений после завершения исполнения алерта. Ранее сообщения отправлялись в процессе исполнения алерта с помощью вызовов Manul API
Полностью переработан компонент Sauron API
Улучшено отображение текста в сообщении при отладке алерта. Теперь текст в интерфейсе форматируется в Markdown
Изменен способ исполнения MageQL- и YAML-алертов. Теперь алерты передаются в сервис sauronjs в виде контрактов на новый API
Добавлена возможность отключения ссылок на мьюты в теле сообщения в алертах
Добавлена возможность отключения предустановленного набора полей в теле сообщения в простых алертах
Реализован новый API для работы с AlertExecutionContexts (групповые настройки в алертах)
Добавлена новая сущность ExecutionContext, которая используется для получения контекста исполнения и поиска алертов
Добавлена метрика sauron_trigger_failed, которая показывает общее количество алертов с ошибками исполнения
Добавлена поддержка сложных условий для GitYaml-алертов
Добавлены теги в контекст сообщения простого алерта
Доработки
Sage Alerts
Добавлена поддержка трейсинга OpenTelemetry
Добавлена поддержка макроса $ (эквивалент макроса var)
Изменена логика работы со значениями даты и времени. Теперь при работе учитывается параметр tzOffset — часовой пояс пользователя
Улучшено логирование запросов. Теперь полная информация о запросе содержится в логе Finished processing search request
Обновлены версии используемых библиотек. Теперь Mage использует JDK21, а также sage.libs.bom для управления зависимостями
Добавлена умная маршрутизация в Celestia
Добавлена настройка лимитеров на кластер ElasticSearch
Оптимизировано количество логов в Celestia
Добавлена валидация значения параметра size в методе POST/mage/api/search. Теперь значение параметра должно быть всегда > 0
Добавлена валидация значения параметра limit в команде sort. Теперь в параметре может быть указано только целое число
Доработано исключение при ошибке создания индекса. Теперь исключение содержит объяснение ошибки
Доработана спецификация Mage API. Теперь параметры, которые являются обязательными, промаркированы
Оптимизировано высокое потребление памяти Mage. Теперь для команд chart и timechart добавлены лимиты, аналогичные лимитам для команды stats
Оптимизирована сборка файлов docs-openapi для встроенной документации
Переработан интерфейс таблицы мьютов с использованием нового компонента
Завершен переход на серверную фильтрацию для мьютов
Переработан интерфейс формы создания/редактирования мьюта с использованием нового компонента
Добавлены теги алерта в контекст редактора Handlebars
Переработан интерфейс таблицы алертов с использованием нового компонента
Добавлено отображение поля для ввода тегов на форме алерта
Переработан интерфейс вкладки с групповыми настройками алертов для интеграции с новым API
Добавлена возможность выбирать часовой пояс в меню пользователя
Добавлен защитный механизм для сериализации данных в строку в логике notification
Обновлен значок веб-страницы приложения (favicon)
Оптимизирована функция автодополнения MageQL
Добавлена возможность редактирования тегов в трейсах
Добавлена возможность поиска в дереве трейса
Переработана панель отображения информации о спанах
Добавлена возможность регулирования ширины панели фильтров на странице со списком трейсов
Переработана таблица для отображения сервисов
Реализована возможность экспорта и импорта трейсов
Переработана фильтрация в трейсинге
Обновлен интерфейс страницы с трейсами
Добавлено цветовое разграничение сервисов в трейсинге
Добавлено отображение предупреждений о неполноте возвращаемых данных на странице с трейсами
Доработки
Sage UI
Добавлена информация о проблемных трейсах в API
Улучшена фильтрация трейсов в API: добавлен множественный выбор инсталляций/операций, выгрузка тегов и фильтр по ошибкам
Повышена гарантия доставки данных. Теперь запись в Kafka стала синхронной
Улучшена поддержка grpc-ответов протокола OpenTelemetry в части уточнения причин отклонения спанов и всего запроса
Оптимизирована запись в ClickHouse
Оптимизирован трафик между узлами благодаря переносу лимитирования на collector
Уменьшено потребление диска на ClickHouse при использовании более одного экземпляра
Добавлена возможность загружать трейсы по http
Оптимизирована схема хранения спанов. Это позволило ускорить скорость поиска
Доработки
Sage Tracing
Реализован Circut Breaker для скрейпинга через squid-прокси
Добавлен параметр trace id в сообщениях в Kafka
Добавлена метрика для мониторинга зарегистрированных таргетов в разрезе групп
Добавлена валидация хоста для таргетов
Улучшена наблюдаемость скрапперов
Параметры скрапперов перенесены в конфигурационные файлы
Улучшена работа graceful shutdown
Повышена гарантия доставки метрик через Fallback-консьюмеры
Оптимизировано распространение конфигурации для скрапперов
Понижен уровень логирования ошибок от таргетов до Warning
Ускорен холодный старт скрапперов
Улучшена балансировка запросов к VictoriaMetrics, когда открыт Curcuit Breaker
Остановлен скрейпинг таргетов по группам, которые были удалены
Добавлены новые метрики для сбора статистики по скрейпингу
Реализована сортировка лейблов метрики при скрейпинге. Теперь служебные лейблы указываются в начале списка
Добавлено ограничение на количество лейблов при скрейпинге. Теперь максимальное количество лейблов в метрике — 20
Добавлен статус Unhealthy в heartbeat-логи компонента Frost
Повышена точность запуска планировщика скрейпинга
Добавлена функция двойного скрейпинга
Добавлена поддержка Unleash для управления feature flags
Повышена отказоустойчивость записи в VictoriaMetrics
Оптимизирована балансировка нагрузки
Доработки
Sage Metrics
Исправлена синтаксическая ошибка, которая не позволяла обращаться к выражениям при перечислении значений в [] с оператором in. Теперь в блоках [] с оператором in поддержано обращение и к выражениям, и к константам
Исправлена некорректная работа команды rex, при которой извлеченное значение записывалось в исходное поле
Исправлена ошибка при попытке создать правило, в котором запрос возвращал логи только старше суток
Доработки
Log2Metrics
Добавлено случайное распределение максимального времени жизни индексов на ±10%. Теперь ролловер индексов происходит не одновременно, а распределенно
Добавлен маршрут /.well-known/jwks.json для валидации токена Sage
В метод GET api/group добавлен фильтр групп по параметрам Tenant и Name
Добавлена поддержка TypeScript в интерфейсе алертов
Добавлены якоря для всех уровней заголовков в документации
В интерфейс трейсинга добавлена фильтрация трейсов по ошибкам
Добавлено отображение флага открытой/закрытой группы в списке групп
Приложение Sage мигрировано на React
Добавлена обработка настроек пользователей только по логину
Оптимизировано выполнение метода GET/sauron/api/Group. Ранее при выполнении метода наблюдалась высокая загрузка ЦП