Продолжение поста «Как написать DNS прокси для себя и настраивать через REST API»
Очередное обновление сервиса DNSO v0.2.0. Для тех кто еще не знаком - это сервис для удобного управления DNS зонами и записями в локальных вычислительных сетях с удобным web интерфейсом.
Новое обновление добавляет метрики в приложение. Теперь можно к контейнеру подключить prometheus и собирать метрики, отслеживать стандартные go-метрики, некоторые кастомные метрики для понимания куда и откуда идет трафик (upstream-exchanges, localZone и т.п.)
Что нового
Локальные зоны кэшируются в DNS и поиск локальных производится по локальному кэшу вместо поиска в базе данных
Заменены все логи на структурированные
Добавлены метрики в кэш, upstream excanger и REST API
Логирование переведено на slog
Добавлен Prometheus в docker-compose (для разработки)
Конфигурация вынесена в отдельный пакет
Добавлен porometheus scrap метод (по умолчанию порт 3010, GET /metrics)
Что планируется
Работа с метриками была в новинку, поэтому будет произведена работа по устранению избыточности некоторых метрик
В конфигах заранее будут добавлены примеры дашбордов
Небольшой рефакторинг хэндлеров DNS
Будет вестись подготовка к рефакторингу (планируется разбить обработчик на 3 слоя выдачи: локальные, кэш, апстрим)
Информация
Github репозиторий: https://github.com/vesh95/dnso
Просто подборка саунда, который вдохновлял все это время: https://music.yandex.ru/playlists/a3aa20b0-8d3a-4772-b883-96...




