
- Главная
- Каталог
- Интернет технологии
- ServerAdmin.ru
ServerAdmin.ru
Авторская информация о системном администрировании. Публикуется только IT тематика.
Статистика канала
compose.yaml и конфигурацию в config.yaml. Не буду приводить здесь содержимое. Оно будет отправлено следующим сообщением в архиве со всеми остальными конфигурациями. Для удобства скопировал её же в gitflic.
# curl https://get.docker.com | bash -
# git clone https://gitflic.ru/project/serveradmin/grafana-loki.git
# cd grafana-loki/loki/
В файле compose.yaml укажите актуальную версию image на момент установки. Запускаем проект:
# docker compose up -d
Проверим, что сервис стартовал:
# curl http://192.168.137.29:3100
404 page not found
Это нормальный ответ. 404 нам ответил Loki. Запустим теперь Grafana:
# cd ../grafana
Указываем нужную версию в compose.yaml и запускаем:
# docker compose up -d
Идём браузером по IP сервера, где запущена Grafana на порт 3000. Учётка по умолчанию - admin / admin. Заходим в Grafana, идём в раздел Connections ⇨ Data sources ⇨ Add data source. Выбираем Loki. В качестве настроек достаточно указать только url. В моём случае это http://192.168.137.30:3100/. Мотаем страничку в самый низ и нажимаем Save & Test. Ошибок быть не должно.
Стек поднят и готов к приёму логов. Отправим туда логи контейнеров Docker. Для этого у Docker существует драйвер. Его необходимо установить на хосте:
# docker plugin install grafana/loki-docker-driver:3.6.0-amd64 --alias loki --grant-all-permissions
Проверяем, что он установился:
# docker plugin ls
018395707e37 loki:latest Loki Logging Driver true
Всё в порядке. Теперь мы можем в самом демоне Docker настроить отправку всех логов в Loki через правку его конфигурации в /etc/docker/daemon.json. Для этого туда надо добавить:
{
"debug": true,
"log-driver": "loki",
"log-opts": {
"loki-url": "http://http://192.168.137.30:3100//loki/api/v1/push",
"loki-batch-size": "400"
}
}{}
Это не очень удобно, если у нас нет желания собирать логи абсолютно всех контейнеров. Удобнее управлять этим для каждого контейнера отдельно. Для этого в compose файл достаточно добавить ещё одну секцию logging. Покажу сразу итоговый пример для запуска Grafana из этой публикации:
services:
grafana:
image: docker.io/grafana/grafana-oss:12.3.1
container_name: grafana
logging:
driver: loki
options:
loki-url: "http://192.168.137.30:3100/loki/api/v1/push"
loki-retries: 2
loki-max-backoff: 800ms
loki-timeout: 1s
keep-file: "true"
mode: "non-blocking"
ports:
- "3000:3000"
volumes:
- grafana-data:/var/lib/grafana
restart: unless-stopped
volumes:
grafana-data:
driver: local{}
Перезапускаем проект:
# docker compose stop
# docker compose up -d
Идём в Grafana, раздел Drilldown ⇨ Logs. Выбираем в выпадающем списке service имя контейнера и смотрим его логи.
Настройка простая и быстрая, легко автоматизируется. Далее я разовью эту тему и добавлю логи из других систем.
———
ServerAdmin:
services:
dns-server:
container_name: technitium-01
hostname: technitium-01
image: technitium/dns-server:latest
ports:
- "5380:5380/tcp" # Web console (HTTP)
- "53:53/udp" # DNS service
- "53:53/tcp" # DNS service
- "53443:53443/tcp" # Web console (HTTPS)
# - "853:853/udp" # DNS-over-QUIC
# - "853:853/tcp" # DNS-over-TLS
# - "443:443/udp" # DNS-over-HTTPS (HTTP/3)
# - "443:443/tcp" # DNS-over-HTTPS (HTTP/1.1, HTTP/2)
# - "67:67/udp" # DHCP service
environment:
- DNS_SERVER_DOMAIN=home.local
- DNS_SERVER_ADMIN_PASSWORD=your_password
- DNS_SERVER_PREFER_IPV6=false
- DNS_SERVER_RECURSION=AllowOnlyForPrivateNetworks
- DNS_SERVER_FORWARDERS=62.76.76.62,77.88.8.1,62.76.62.76,77.88.8.8
volumes:
- ./config:/etc/dns
restart: unless-stopped
sysctls:
- net.ipv4.ip_local_port_range=1024 65000{}
Запустил, зашёл на веб интерфейс http://server-ip:5380/, собрал в кластер, настроил списки блокировки и другие настройки. Подключил нескольким пользователям. Проверил - отлично работает, никаких проблем не возникло. Выключил одну ноду, кластер продолжил работать на второй, запросы резолвил.
Продукт однозначно хорош. Я не знаю, что сейчас есть лучше для рекурсивного кэширующего DNS сервера. Если знаете - подскажите.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
———
ServerAdmin: Отзывы канала
всего 5 отзывов
- Добавлен: Сначала новые
- Добавлен: Сначала старые
- Оценка: По убыванию
- Оценка: По возрастанию
Каталог Телеграм-каналов для нативных размещений
ServerAdmin.ru — это Telegam канал в категории «Интернет технологии», который предлагает эффективные форматы для размещения рекламных постов в Телеграмме. Количество подписчиков канала в 31.8K и качественный контент помогают брендам привлекать внимание аудитории и увеличивать охват. Рейтинг канала составляет 29.2, количество отзывов – 5, со средней оценкой 5.0.
Вы можете запустить рекламную кампанию через сервис Telega.in, выбрав удобный формат размещения. Платформа обеспечивает прозрачные условия сотрудничества и предоставляет детальную аналитику. Стоимость размещения составляет 32167.8 ₽, а за 42 выполненных заявок канал зарекомендовал себя как надежный партнер для рекламы в TG. Размещайте интеграции уже сегодня и привлекайте новых клиентов вместе с Telega.in!
Вы снова сможете добавить каналы в корзину из каталога
Комментарий