ServerAdmin.ru
28.6K subscribers
265 photos
34 videos
12 files
2.59K links
Авторская информация о системном администрировании.

Информация о рекламе: @srv_admin_reklama_bot
Автор: @zeroxzed

Второй канал: @srv_admin_live
Сайт: serveradmin.ru
Download Telegram
Наконец-то собрался с силами и обновил статью по настройке ELK Stack. Он так часто обновляется, что материал устаревает практически полностью в течение года.

Мне регулярно приходится его настраивать, так что не только обновил статью, но и поднял свой deb репозиторий для всех пакетов, что используются в инструкции. Теперь не придётся через VPN или прокси копировать вручную пакеты. В Debian 11 можно автоматически устанавливать через менеджер пакетов, а для всех остальных deb систем можно зайти по адресу репо или просто по IP (тупит DNS, не было времени разобраться) и скачать вручную пакет.

Полный ELK Stack довольно навороченная и сложная система. Так что сделать пошаговую настройку не так просто. Надеюсь нигде сильно не ошибался. Написал по горячим следам после очередной настройки. Конфиги брал с работающих серверов, но разных, так как одновременно и Linux, и Windows логи встречаются редко. Некоторые некритичные картинки остались от 7-й версии. Отличия не сильные, не стал переделывать.

⇨ Установка и настройка ELK Stack

#elk #devops
При работе с Docker контейнерами часто хочется зайти туда и посмотреть, что происходит. Но не всегда это возможно. В некоторых контейнерах нет вообще ничего - ни оболочки, ни утилит для диагностики.

Для решения этой задачи создана программа cdebug. С её помощью можно подцепиться к контейнеру и выполнить диагностику. Например, запустить там ps axf и посмотреть, что и с какими параметрами запущено. Либо любую другую утилиту - ls, top, awk и т.д.

Для работы с cdebug достаточно скачать один бинарник, написанный на GO. Идём в релизы и скачиваем для Linux архив cdebug_linux_amd64.tar.gz. Далее покажу на примере контейнера nginx.

# docker run --name nginx -d -p 8080:80 nginx
# docker exec -it nginx bash
# ps axf
bash: ps: command not found

В образе нет ps. Подключаемся через cdebug:
# cdebug exec -it nginx
# ps axf
PID  USER   TIME COMMAND
  1 root   0:00 nginx: master process nginx -g daemon off;
  28 nginx   0:00 nginx: worker process
  29 nginx   0:00 nginx: worker process
  30 nginx   0:00 nginx: worker process
  31 nginx   0:00 nginx: worker process
  39 root   0:00 sh /.cdebug-entrypoint.sh
  47 root   0:00 sh
  48 root   0:00 ps axf

Посмотрели список процессов. При этом исходный контейнер не перезапускается, к нему не подключаются никакие volumes, корневая файловая система cdebug та же самая, что и у контейнера. Работает cdebug на базе busybox.

Кроме подключения к контейнеру, cdebug может на ходу опубликовать порты контейнера, которые не были опубликованы при запуске. Принцип работы программы описан в репозитории, но если честно, я не очень понял полную реализацию.

Исходники

#docker #devops
​​Давно не было ничего на тему полезных бесплатных сервисов. Наиболее известные я либо уже упоминал, либо доступ из РФ заблокирован, либо просто потенциально небезопасно стало всем этим пользоваться. Нашлось исключение, которое может пригодиться.

Storj.io - сервис для хранения файлов. Бесплатно дают 150 Гб хранилища, и такой же объём трафика в месяц. Предложение очень щедрое. Не знаю, в чём тут подвох. При создании контейнера (тут принцип как у S3 с backets) предложили указать пароль для шифрования данных. Никто не мешает и самому зашифровать свои данные.

Я зарегистрировался и попробовал пользоваться. Никаких проблем не возникло. Доступ как через браузер, так и через CLI инструменты в Linux, например, через Rclone, Duplicati, Restic. Примеры показаны в документации. Можно не только хранить файлы, но и делиться ссылками с другими людьми.

Как хранилище для бэкапов бэкапов вполне сойдёт. Есть плагин для Wordpress UpdraftPlus, с помощью которого можно настроить бэкапы в этот сервис. В общем, забирайте и пользуйтесь.

#бесплатно #backup
​​Хочу немного порассуждать и дать несколько советов из своей практики на тему визуализации мониторинга. Когда я настраиваю систему мониторинга на заказ, меня почти всегда просят сделать красивые и информативные дашборды. Когда дело доходит до практики, оказывается, что никто толком не знает, что на них должно быть. И почти всегда у меня получается убедить, что тратить время и деньги на рисование дашбордов не имеет смысла, если мониторинг делается для удобства эксплуатации системы, а не для того, чтобы было что показать руководству.

Визуализация нужна для тех объектов мониторинга, для которых не нужны или не важны триггеры. Поясню на своём примере. У меня есть дашборд с визуализацией техники в квартире. Речь идёт о NAS, общем компьютере, моём тестовом сервере, компьютере сына. Вечером перед сном я обычно открываю дашборд, смотрю, что из техники включено и выключаю. Я не вижу смысла оставлять их включенными ночью. При этом у меня нет никаких триггеров на эту технику. Мне не нужно знать о том, что что-то включилось или выключилось.

Ещё один пример, который наблюдал. В Zabbix настроена интеграция со СКУД. Начальник отдела может посмотреть, где находятся его сотрудники, если не видит их в кабинете. Ему показано, кто в какой зоне и когда в неё пришёл. Когда кто-то нужен и его нет на месте, можно быстро посмотреть, на каком он этаже и есть ли он вообще в здании, когда вышел. Это удобно именно в виде дашборда с информацией. И совершенно не нужны триггеры и оповещения по этой теме.

А вот всё, что покрывается пороговыми значениями с настроенными триггерами нет никакого смысла визуализировать. Например, в Zabbix есть готовый виджет с топом хостов по загрузке процессора. И какой смысл за всем этим наблюдать, если загрузка не выходит за пороговые значения? Ещё популярны визуализации в виде зелёных и красных блоков или кружков. Зачем они? На эти метрики настроены триггеры и оповещения. Поддержка и так моментально узнает через оповещение о том, что что-то случилось.

Исключения бывают для пороговых метрик, если они объединены связями в большие увязанные между собой системы. Например, я делал в Zabbix визуализацию довольно сложной многоконтурной системы охлаждения с кучей различных датчиков (температуры, давления, уровня жидкости и т.д.) и механизмов (помпы, драйкулеры и т.д.). Система была схематично нарисована и основные метрики были выведены на схему, чтобы при срабатывании триггера было видно, в каком именно элементе системы возникла проблема.

Ещё пример, когда визуализация нужна, потому что за ней постоянно кто-то наблюдает. Видел в одном ЦОД в комнате инженеров огромный экран на стене с графиком загрузки входящих каналов интернета. Я так понимаю, при виде постоянно возрастающей нагрузки ребята начинают напрягаться ещё до того, как значения дошли до первых пороговых значений.

В завершении расскажу случай по другой теме, но с которым столкнулся при настройке мониторинга на днях. Нужно было в триггере уменьшить интервал реакции на проблему. Стоял порог на отсутствие данных в течении 5 минут, изменил на 1 минут. И мониторинг начал тупить и давать очень много ложных срабатываний. В таком виде он стал бесполезен, потому что сильно отвлекает. На что я только не грешил. А оказалось, что опрос метрики делался тоже раз в минуту. Для порога в 5 минут, это нормально, а когда порог стал 1 минута, начались бессистемные ложные срабатывания. Изменил время опроса до 20-ти секунд и порог в минуту стал нормально работать.

#мониторинг
▶️ Очередная рекомендация на авторский IT канал. На этот раз он полностью посвящён Zabbix. Видео там не часто выходят, но почти всегда они содержательны. За последние пару недель вышли два новых ролика, поэтому я вспомнил про него. Давно на канал подписан. Нашёл случайно, когда искал что-то по Zabbix. Посмотрел список роликов, показалось интересным, подписался.

Язык видео - английский. Кто плохо воспринимает его на слух - в Яндекс.Браузере есть очень качественный синхронный перевод на русский. Вообще, современный уровень переводов практически стёр границу между языками. Если вам не нужно самому общаться на иностранном языке, то для получения и анализа информации знать его не обязательно. Возможностей автопереводов зачастую достаточно. Причём это касается не только английского языка, но и многих других.

Dmitry Lambert
https://www.youtube.com/@DmitryLambert/videos

Из недавних полезных видео советую обратить внимание на следующие:
👉 ZABBIX Housekeeper - What You Need To Know
Тема важная и не сильно раскрытая. Housekeeper может очень сильно нагружать систему и провоцировать шквал ложных срабатываний в мониторинге во время своей работы. В какой-то момент при превышении пороговых значений размера БД, администратору так или иначе приходится иметь с ним дело.

👉 How To Download Files From GitHub On Windows
Автор чётко подметил проблему и рассказал, как её решить. Многие люди не понимают, как правильно скачать шаблон Zabbix из их репы на Github. У меня к статьям постоянно появляются комментарии на эту тему. Люди качают, как им кажется, шаблон и не могут импортировать его в систему. А на деле они скачивают не сам шаблон, а html страничку из репозитория.

👉 Windows EventLog Monitoring With ZABBIX
Мониторинг журнала Windows и настройка триггеров на определённые события. Например, оповещение при логине пользователя в систему. Привет, регулярные выражения 😁.

#видео #zabbix
​​Летом поднимал вопрос с выбором ноутбука взамен своему старому Thinkpad x220. Но потом обстоятельства поменялись, вопрос отложился. Теперь его решил. Всем спасибо за советы, проанализировал все ноуты, что упоминали в комментариях. Мой выбор в итоге остановился на ThinkPad T480.

Взял его почти в максимальной комплектации:
Core i7-8650U (4 ярда 8 потоков)
DDR4 32 GB
512 ГБ NVMe
NVIDIA GeForce MX150 2 GB GDDR5
Экран 1920*1080, тачскрин
Встроенный LTE модуль

Состояние очень хорошее, без видимых следов эксплуатации. Аккумулятора в нём два, перед продажей были установлены новые. Ноут взял за 57 т.р. и сразу к нему док-станцию с дополнительным блоком питания ещё за 7 т.р.

Пользуюсь несколько дней, уже перенёс данные и основной софт, так что можно поделиться впечатлениями. Расскажу про плюсы и минусы. И почему выбрал именно эту модель.

🟢 Плюсы:

Дискретная видеокарта. Пока не знаю, где и как это может пригодиться, так как в игры не играю, да и ролики давно не монтировал. В обычной работе особо не надо, но на будущее может быть полезно. Плюс видел информацию, что в моделях с дискретной видеокартой система охлаждения лучше, чем в обычных. В том числе поэтому выбрал именно эту конфигурацию.

Есть полноценный ethernet порт, что уже не так часто встречается в современных компактных ноутах. Да и в целом набор портов полноценный - нормальный джек для гарнитуры, hdmi для внешнего монитора, Thunderbolt для док-станции, type-c для зарядки.

Хорошо работает сканер отпечатков пальцев, почти моментальный вход в Windows. На прошлом ноуте тоже был, но не так быстро работал, я не пользовался. Тут полностью перешёл на отпечаток вместо пароля.

Удобное управление жестами на тачпаде. Без мышки стало проще работать, но длительная работа с мышкой всё равно удобнее.

Возможность использовать широкие стационарные ДОК станции. Мне они кажутся удобнее, чем современные коробочки, подключаемые через type-c или thunderbolt.

Хорошая производительность в малом весе - 1,6 кг., время работы от аккумуляторов заявлено какое-то невероятное, до 10-13 часов. На деле не знаю, как выйдет, не тестировал. Если вытаскиваю шнур питания, то без изменения нагрузки и режима энергопотребления обещает 10 часов проработать. Мне этого достаточно. Очень редко работаю от батарей. В основном фильмы на них смотрел в кровати.

Корректно работает масштабирование в Windows. Если сделать масштаб 150%, то получается аналог разрешения 1366x768, как на моём старом x220. Понял это по отображению сайтов. Они выглядят так же, как на старом ноутбуке. Я в итоге остался на полноценном разрешении 1920х1080. Поначалу кажется мелковато на 14 дюймовом экране, но со временем привык. Хотя и кажется, что глаза сильнее устают. Может с непривычки. За ноутом редко приходится работать, чаще за экраном монитора.

🟠 Минусы:

Только 2 usb порта и оба с правой стороны. Неудобно подключать проводную мышку, а найти беспроводную, которая бы устроила по форме не получается. К тому же у меня везде одинаковые мышки, чтобы не нужно было привыкать. С проводными в этом плане проще.

Питание подключается слева и сильно в сторону торчит провод. Подключение сзади, как на x220 намного удобнее.

Нет отдельной кнопки pause/break. Я постоянно пользуюсь, а через Fn это неудобно.

Каких-то существенных минусов не заметил. Качество в целом хуже, чем у старых Thinkpad, но тут уже ничего не поделать. Систему оставил Windows. Взвесил ещё раз все за и против и решил, что Linux на основном ноуте будет плохой идеей. Слишком много преград с его использованием. Windows + WSL мне видится оптимальной комбинацией.

Взял именно модель с поддержкой док станции, потому что дома ноутбук ставлю на тумбочку под столом, чтобы на столе место не занимать. Мне важно, чтобы можно было вслепую поставить ноут в док, а не тыкать в него какие-то кабели. Да и в целом работа в док станции мне кажется очень удобной. Не понимаю, почему многие игнорируют эту возможность.

#железо
🎓 Примерно месяц назад мне написал автор репозитория devops-interview с предложением поделиться с аудиторией подборкой вопросов для подготовки к техническому собеседованию. Список затрагиваемых тем широкий, так что актуален для всего спектра IT специальностей.

При этом данный репозиторий у меня с августа лежит в закладках для будущих публикаций. Я давно его заметил и оценил. Вот пришло время с вами поделиться.

Репозиторий состоит из двух частей:
1️⃣ Техническая, с огромным количеством конкретных технических вопросов, которые могут задавать на собеседовании и простыми, ёмкими ответами на них.
2️⃣ Общие советы по подготовке к собеседованию и беседе с сотрудником отдела кадров.

Примеры вопросов:

 Что такое BIOS, UEFI?
 Что делает команда kill?
 Где физически находятся inodes айноды
 Почему latency до 8.8.8.8 всегда низкий? (Знаете ответ на этот вопрос? Я не знал)
 Опиши принцип работы ssl-шифрования
 Чем отличается git pull и git fetch
и т. д.

Вопросы хорошие, и список очень ёмкий. Для подготовки к собеседованиям самое то. Я, кстати, тоже, когда проводил собеседования, готовил похожие вопросы по нужным мне темам. С ними проще проводить интервью и оценивать кандидатов. Набор вопросов - готовый план беседы.

#обучение
Расскажу вам про одну старую и полезную программу в Linux. Обычно её используют в контексте построения кластеров, когда нужно быстро распространить конфигурационные файлы по разным машинам и держать их в единообразном виде. Но на самом деле из-за скорости и простоты настройки её можно использовать и в более простых задачах. Например, для раскладывания свежих сертификатов Let's Encrypt после их обновления.

Речь пойдёт про программу csync2. В Debian она давно живёт в базовых репозиториях:

# apt install csync2

Настройка аутентификации основана на pre-shared-keys, которые можно сгенерировать самостоятельно с помощью openssl. Дальше ключи раскидываются по серверам и пишется конфиг в несколько строк. Причем csync2 умеет не только синхронизировать файлы, но и перезапускать службы, что очень удобно в случае с сертификатами, так как можно после обновления сразу перезапустить веб-сервер или что-то ещё.

Конкретные примеры показывать не буду, так как программа старая и довольно известная. В сети очень много готовых мануалов для неё, которые можно адаптировать под свои потребности. Базовый конфиг с синхронизацией файлов и перезапуском сервисов выглядит примерно так:

group websrv
{
    host node01 node02;
    auto younger;  
    key /etc/csync2.key;
    include /etc/letsencrypt/;

    action
    {
        pattern /etc/letsencrypt/*;
        exec "nginx -s reload";
        do-local;
        logfile "/var/log/csync2_action.log";
    }
}

Выполнение синхронизации csync2 можно ставить в post_hook. Она в случае изменения сертификатов в папке /etc/letsencrypt/ выполнит обновление файлов и перезапуск nginx на всех машинах с идентичным конфигом. Если где-то надо перезапустить nginx, а где-то postfix, то это настраивается отдельно.

У меня, к примеру, были случаи, когда один и тот же сертификат mail.example.com использовался на почтовом сервере для postfix, на веб сервере для браузерного клиента, а получение было на пограничном nginx. То есть с него нужно было раскидать сертификаты на 2 других сервера. Я это делал с помощью nfs, монтируя директорию с сертификатами всем зависимым серверам. С csync2 это реализовать проще и удобнее.

Исходники / Документация

#linux
Когда настраиваете OpenVPN сервер, обязательно обращайте внимание на срок жизни сертификатов. Я знаю, что раньше в наборе скриптов EasyRSA по умолчанию срок жизни сертификатов был 10 лет. Но даже с таким сроком мне один раз пришлось столкнуться с тем, что CA и сертификат сервера, который много раз переезжал на разные машины с сохранением настроек, протух и мне пришлось оперативно решать эту проблему без перевыпуска клиентских сертификатов. Даже статью об этом написал в то время.

Недавно со мной приключилась похожая история. Клиенты перестали подключаться к серверу. Причём я сам это заметил, когда переносил все настройки с одного ноута на другой. И примерно в это же время истёк срок действия сертификата сервера OpenVPN (не CA). Я долго не мог сообразить, в чём проблема. На клиентском сертификате ещё и пароль был. Я сначала думал, что перепутал его. Но потом уже, когда стал детальнее разбираться с ошибкой, понял, что дело не в пароле.

Пошёл на сервер и стал смотреть, в чём дело. Залез в скрипты EasyRSA и обнаружил, что там срок жизни CA так и остался 10 лет, а сгенерированных и подписанных сертификатов только 3 года. В итоге первым протух сертификат самого сервера, потом потихоньку начали клиенты отваливаться. Пришлось всё перевыпускать.

Так что когда настраиваете OpenVPN и выпускаете для него сертификаты, обязательно сморите, какой срок жизни для них установлен. Это поначалу кажется, что 3-5-10 лет это так много. А на деле неизвестно, как всё обернётся. Может оказаться, что время закончилось, а система всё ещё жива и используется. Тем более нет никаких проблем переносить сертификаты вместе с конфигурацией, а один и тот же CA может использоваться для разных задач много лет.

#openvpn
​​Существует проект, который сильно упрощает бэкап данных при работе с Docker. Не нужно городить какие-то свои скрипты или использовать инструменты бэкапа общего пользования, которые не всегда удобно настраивать на работу с динамической инфраструктурой на основе контейнеров.

Docker-volume-backup может подключаться к volume и автоматически бэкапить его в локальную директорию, в S3, по WebDAV или по SSH. Вы можете настроить запуск бэкапа на постоянку, добавив отдельный образ с параметрами в docker-compose или выполнить одиночный бэкап, запустив контейнер примерно вот так:

docker run --rm \
 -v data:/backup/data \
 --env AWS_ACCESS_KEY_ID="<xxx>" \
 --env AWS_SECRET_ACCESS_KEY="<xxx>" \
 --env AWS_S3_BUCKET_NAME="<xxx>" \
 --entrypoint backup \
 offen/docker-volume-backup:v2

Поддерживается не только AWS S3, но и любое совместимое хранилище. Вот бэкап volume по SSH:

docker run --rm \
 -v data:/backup/data \
 --env SSH_HOST_NAME="server.local" \
 --env SSH_PORT=2222 \
 --env SSH_REMOTE_PATH="/mnt/backup/" \
 --env SSH_USER="user"
 --env SSH_PASSWORD="password"
 --entrypoint backup \
 offen/docker-volume-backup:v2

В репозитории приведены примеры и настройки для всех типов хранилищ. Перед бэкапом можно выполнить произвольные команды внутри контейнера. Например, сделать дамп базы данных, положить какую-то временную метку для будущего мониторинга или что-то ещё.

По своей сути этот проект похож на многочисленные скрипты, характерные для эпохи Unix систем, по бэкапу файлов или баз данных. Это продуманный и качественный костыль или велосипед, который избавляет вас от необходимости писать свой, а вместо этого заняться чем-то более интересным для своей инфраструктуры, для чего не существует готового решения.

Исходники / DockerHub

#devops #docker #backup
Все уже, кто пользуются бесплатной почтой для домена от Яндекса, получили письма счастья с информацией о том, что оно заканчивается? С 17 апреля 2023 года Яндекс прекратит бесплатно оказывать эти услуги. Нужно будет покупать подписку на каждого пользователя.

В принципе, ожидаемый ход, с учётом того, что Google уже давно подобную услугу сделал платной. Знал, что рано или поздно это случится. Слишком активно последнее время Яндекс менял работу почты и остальных сервисов для домена. Явно было видно, что к чему-то готовятся.

Какие теперь будут варианты, если вас не устраивает стоимость, которую хочет получить Яндекс? Я вижу 3 самых очевидных.

1️⃣ Аналогичный сервис от mail ru - https://biz.mail.ru. Он пока ещё бесплатный. Но думаю, что со временем это тоже изменится. Я сам его не использовал никогда, так что ничего не могу сказать. Думаю, что работает нормально. Я скорее всего свои личные домены перенесу именно туда. Мне в целом всё равно, где это будет, лишь бы минимум времени и денег уходило на обслуживание.

2️⃣ Купить услугу почтовых ящиков у любого хостера. Она может как отдельно продаваться, так и идти в комплекте с хостингом. Стоит это обычно очень дёшево. Например, я знаю один офис, где стоял локальный почтовый сервер на винде, а в качестве релея использовался тариф за 150 р. от хостера. Тут идея в том, что на винде поднять почтовик нет никаких проблем. Он хранит всю почту, а вам не надо заморачиваться с её проходимостью, настраивать правильно dkim, mx, ptr, следить за абузами и т.д. Всё это за вас делает хостер, а вы оплачиваете минимальный тариф, так как вам не нужно покупать место на диске у него. Вся почта у вас в локалке. Это и с точки зрения скорости удобно, а не только из экономии. Если не хотите свой сервер, то полностью всю почту держите у хостера. Это всё равно дешевле будет, чем у Яндекса, так как он продаёт целый набор услуг, а не только почту.

3️⃣ Настраиваете свою почту сами. Можете взять какое-то готовое коробочное решение, например hMailServer, Carbonio, Tegu и т.д., или взять и собрать всё самому покомпонентно. Если никогда с почтовыми серверами не имели дел, то последнее будет не очень просто сделать, но полезно, так как почта никуда не делась, а бесплатных сервисов всё меньше. В целом, нормально настроенный почтовик не требует к себе большого внимания и спокойно работает годами. Главное со спамом решить вопрос. Если начать самому с ним бороться, то внимания требуется много. Если купить какой-то коммерческий антиспам, то процесс упрощается.

Для замены услуги хостинга DNS от Яндекса можно воспользоваться серверами регистраторов. Тот же reg.ru бесплатно их предоставляет. Либо у какого-нибудь хостера зарегистрироваться, например Selectel или 1cloud. У них эта услуга бесплатна. Да даже у cloudflare есть бесплатный DNS хостинг, я пользовался.

Вы в итоге на чём остановитесь? Будете оплачивать почту у Яндекса или куда-то переедете?

#mailserver
Решил немного подбить информацию по бесплатным почтовым серверам, которые можно развернуть у себя и использовать. Приведу список наиболее известных решений. Почти всё было в разное время упомянуто на этом канале.

🟢 Mailcow - популярный в наше время почтовый сервер, собранный в docker контейнерах. В основе там традиционные программы: postfix + dovecot + SOGo и прочие компоненты. Я лично не сторонник использования контейнеров для почтового сервера. С точки зрения эксплуатации это только добавляет проблем. В данном случае Docker используется для удобства разработки и простоты установки одинакового рабочего окружения для всех систем.

🟢 hMailServer - бесплатный и очень простой в настройке почтовый сервер под винду. Проект старый и популярный. Рекомендую обратить внимание, если вам нужна лицензионная чистота. Если же для вас это не имеет значения, то берите сразу Kerio MailServer. Там и функционал шикарный и лекарство во все времена присутствовало.

🟢 Tegu - российский почтовый сервер с функциональной бесплатной версией. Присутствует весь необходимый функционал для типового почтового сервера. В документации есть пошаговая инструкция по установке и настройке, так что можно не искать статьи в интернете. Ядро сервера в виде smtp и imap служб и хранения почты написаны свои. То есть это не сборка на основе open source проектов.

🟢 Iredmail - старая и известная сборка почтового сервера с бесплатной версией. Собран на базе postfix, dovecot и всего остального бесплатного, завернутая в самописные скрипты управления на python и веб интерфейс админки. Продукт очень прост в установке и настройке, но жирный минус - скудный функционал бесплатной версии. Там даже нет возможности создать алиас через веб панель. Лично для меня это делает его совсем непригодным для эксплуатации. Но если вам нужен простой почтовик без алиасов, то нормальный выбор.

🟢 Carbonio CE - новый продукт от компании Zextras, которая активно писала и продавала расширение функционала для Zimbra. После того, как последняя перестала собирать бинарные сборки своего бесплатного почтового сервера, Zextras решили сделать свой почтовый сервер и перенести свои наработки туда. Что у них в итоге получилось, не знаю. По продукту мало реальных отзывов, сам я его тоже не видел. По идее, должно что-то нормальное получиться. У компании хорошие ресурсы и компетенции для этого есть.

🟢 Poste.io - ещё одна готовая сборка на базе open source проектов, только в основе не привычный postfix или exim, а haraka. В качестве imap - dovecot, веб интерфейс - roundcube. Построено всё на базе Docker. Есть как бесплатная, так и платная версия. Но в отличие от iredmail, тут бесплатная версия вполне функциональная.

👍 Отдельно упомяну, что перед почтовым сервером можно поставить почтовый шлюз для фильтрации спама, настройки органичений и сбора статистики - Proxmox Mail Gateway.

Знаю гораздо больше серверов, но решил ограничить список. Перечислил то, что показалось наиболее известным и актуальным. За кадром остались почтовые сервера в составе groupware продуктов - onlyoffice, kopano, nextcloud. А также менее известные modoboa, mail-in-a-box, mailu, wildduck и другие. Если забыл что-то ещё из популярного, дайте знать.

🔥 Ну и не забываем, что почтовый сервер можно настраивать самостоятельно. Я всегда шёл по этому пути, если поддерживал его сам. В этом случае вы не ограничены в функционале и реализации. Плюс, ни от кого не зависите. Пример того, как это может выглядеть, есть в моей статье. Она хоть и устарела, да и Centos 8 уже не существует, но принципы все те же и конфиги в основном во всех системах плюс-минус одинаковые. Планирую в ближайшее время обновить статью под Debian 11. Сейчас явно пришло время для этого. Придётся настраивать много серверов.

#mailserver #подборка
​​Рекомендую вам хороший бесплатный мониторинг сайтов и внешних сервисов uptimerobot.com. Он вообще платный, но есть бесплатный тариф. Сразу скажу самое главное, почему обратил на него внимание. У uptimerobot есть классное приложение для смартфона, которое доступно в том числе и в бесплатной версии. Это не характерно для тарифных планов без оплаты, а у некоторых сервисов мониторинга вообще нет приложения для смартфонов.

В бесплатном тарифе uptimerobot ограничение в частоте проверок - 5 минут. А самих проверок можно добавить 50 штук. Среди них будут доступны:
HTTP проверки сайта, в том числе на наличие контрольной фразы;
ICMP проверки;
проверки TCP портов.

Оповещения о проблемах доступны на почту и telegram. Храниться результаты мониторинга будут 3 месяца. В целом всё очень неплохо для бесплатного тарифного плана.

#мониторинг #бесплатно
​​Ко мне недавно поступило необычное предложение. Китайские представители компании Vinchin захотели опубликовать на сайте обзор их продукта Vinchin Backup & Recovery. Ранее я ничего о нём не слышал и не знал. Стало любопытно, что это вообще такое. Оказывается, это решение для бэкапа мультивендорной виртуализации.

Обычно я пишу статьи сам, но тут впервые пришлось общаться с китайцами, для которых русский явно не родной, а общение было судя по всему через переводчик. Поэтому решил не рисковать и попросил готовый текст, чтобы понять, что они вообще хотят получить в статье. Статья получилось вот такая:

https://serveradmin.ru/vinchin-backup-recovery-rezervnoe-kopirovanie-ovirt-i-xenserver-v-multi-hypervisor-srede/

Я выполнил только редактуру и адаптацию на русский язык, исправив явные несоответствия с русской лексикой. Но если прочитать статью, становится понятно, что её писал не русскоязычный человек.

А теперь непосредственно о Vinchin Backup & Recovery. Как можно догадаться из названия, продукт метит в ту же категорию, где находится Veeam Backup & Replication. И он действительно на него похож в общих чертах. Это тоже единый сервер для бэкапа виртуальных сред. Вот только список поддерживаемых гипервизоров у него значительно шире:
VMware
Hyper-V
Citrix Hypervisor, XenServer и XCP-ng
Red Hat Virtualization и oVirt
OpenStack
Sangfor HCI, Huawei FusionCompute (KVM), H3C CAS
К сожалению, чистого KVM или Proxmox в списке поддерживаемых платформ нет.

Vinchin Backup & Recovery поставляется в виде ISO образа на базе Centos 7. Установщик 1 в 1 от Centos, и ставится всё так же, как стандартная система. После установки всё управление и настройка выполняется через веб интерфейс.

Есть бесплатная версия, к сожалению, только для бэкапа 3 VM. Так что для практической эксплуатации вряд ли подойдёт, только для теста. Я решил посмотреть своими глазами, как всё это работает, хоть меня и не просили об этом. Установка никаких вопросов не вызвала. Развернул систему из образа и зашел через браузер.

Дальше тоже всё просто. Добавляем хранилище для бэкапов. Поддерживаются следующие типы: раздел диска, весь диск, локальная директория, lvm том, fibre channel, iscsi, nfs и cifs share. Я добавил локальную директорию. Далее добавляем хост виртуализации. У меня под рукой был Hyper-V, поэтому тестировал на нём. На гипервизор надо установить плагин, а потом добавить его в панель управления. Для этого достаточно указать адрес и админскую учётку.

А дальше получаем список VM и настраиваем задания бэкапа. Понравилась при создании задания карта загруженности хранилища по времени, чтобы было удобно расписание выбрать. В целом, всё просто и понятно. Даже в документацию лазить не пришлось, только дефолтную учётку посмотрел. Хотя уже потом заметил, что она была указана ещё в письме, которое прилетело со ссылкой для загрузки ISO.

Я сначала когда статью прочитал, подумал, что какой-то неполный кусок инструкции подготовили и решили опубликовать. А когда сам поставил и настроил, понял, что там реально почти ничего делать не надо. Всё сделано максимально просто и понятно. Даже удивился. Не ожидал от китайского продукта такой простоты.

Vinchin Backup & Recovery реально интересный продукт. Аналогов с поддержкой такого количества гипервизоров я не знаю. Они все популярные охватили. Причём можно сделать бэкап VM с одного гипервизора, а восстановить на другом. Насколько всё это надёжно работает, судить не могу. По ценам тоже не понятно. Их нет на сайте. Указано только, что есть бессрочные лицензии, а есть по подписке.

Есть русскоязычная версия сайта. Видел информацию в их группе VK, что они хотят работать на рынке РФ и СНГ, поэтому пишут поддержку российских систем виртуализации. Уже заявлена поддержка zVirt.

Чтобы попробовать, можно скачать либо 60-ти дневный триал, либо Free Edition. Если у кого-то есть опыт использования этого продукта, дайте обратную связь.

#backup #виртуализация
​​Короткая заметка про очень крутой сервис по визуализации JSON - jsoncrack.com. Это и готовый онлайн сервис, которым можно сразу пользоваться, и open source проект, который позволит этот сервис запустить у себя.

https://jsoncrack.com/editor
https://github.com/AykutSarac/jsoncrack.com

Особо писать тут нечего, просто посмотрите, как это выглядит на практике. Очень упрощает работу по разбору JSON строк. В закладки забрать обязательно и не забыть, наравне с jsonpath.com. Последним постоянно пользуюсь для предобработки айтемов в Zabbix.

Напомню, что у меня есть подборка утилит и сервисов для JSON. Посмотрите, может найдёте для себя что-то полезное. Без JSON сейчас никуда. В мониторинге и сборе логов постоянно приходится иметь с ним дело.

#json
​​Приветствую всех любителей мониторинга. Если у вас используется несколько независимых систем мониторинга даже в рамках одного продукта, что бывает не так редко, то встаёт вопрос о централизованном управлении оповещениями. У всем известной компании Grafana есть готовое open source решение на этот счёт - OnCall.

С помощью OnCall можно собирать оповещения из Grafana, Prometheus, AlertManager и Zabbix, обрабатывать их по определённым правилам и отправлять настроенным получателям. В процессе обработки можно отбрасывать второстепенные оповещения или группировать повторяющиеся.

Обработанные события отправляются получателям по заранее настроенным маршрутам. Они могут распределяться в зависимости от занятости или рабочего времени специалиста, могут повторяться, дублироваться, отправляться по новым маршрутам в случае отсутствия решения проблемы в допустимом интервале.

Частично маршруты отправки можно реализовать и в Zabbix, но там это находится в зачаточном и не очень гибком состоянии. Например, можно настроить повторяющиеся оповещения. А если проблема не решена после нескольких отправленных оповещений через заданный интервал, можно оповестить какую-то дополнительную группу. Подробнее о возможностях можно посмотреть в описании на сайте.

В Grafana OnCall всё это реализовано очень масштабно и гибко. Куча готовых интеграций с системами оповещений (sms, почта, slack, telegram и т.д.), а сама платформа предоставляет API для интеграции с ней. Управление системой через Web интерфейс. Вот пример интеграции с Zabbix.

Для запуска есть готовый docker-compose, так что установка происходит очень просто и быстро. А далее всё делается через web интерфейс.

Сайт / Исходники / Обзор

#мониторинг #grafana
​​▶️ Если вас интересует тема сервиса по общему хранению паролей для команды, то рекомендую посмотреть видео с обзором, установкой и настройкой passbolt. Я в своё время писал про него, а заодно и делал подборку всех подобных решений.

Про данное видео решил упомянуть, потому что давно подписан на канал этого англоязычного автора из Германии, но с удивлением обнаружил, что ни разу не упоминал его на канале. Скорее всего не было подходящего повода для этого.

https://www.youtube.com/@christianlempa

Он в основном обзоры установки и настройки софта записывает, рассказывает про свою домашнюю лабораторию (он использует proxmox ❤️), много про Kubernetes. Наверно на работе с ним взаимодействует.

К примеру, перед тем, как пробовать Obsidian для хранения заметок, я смотрел его обзор. А вот он рассказывает про Teleport и аутентификацию в нём с помощью YubiKey. У меня, кстати, есть такой ключ. Я всё думал куда-то его приспособить, но так и не решился. В итоге просто лежит в ящике. Не кажутся удобными решения на базе ключей, которые постоянно в usb вставлять надо. Кстати, интересно узнать, а кто-нибудь из вас использует или использовал YubiKey?

В общем, канал интересный и автор позитивный. Я смотрю, если тема заинтересовала. Ролики не часто выходят, сделаны качественно.

#видео
​​Недавно попал в любопытную панель управления веб серверами. Интерфейс явно напоминал о том, что где-то я его уже видел. Довольно быстро через поиск понял, в чём тут дело. Уже давно я писал про веб панель для управления haproxy - haproxy-wi. Проект с тех пор активно развивается, сменил имя, нарастил функционал и обзавёлся платной версией.

Теперь он называется Roxy-WI. У него, судя по всему, русскоязычные разработчики. Как минимум от двоих есть целая серия статей на хабре про этот продукт (тут и тут). К сожалению, с появлением платной версии, исчезли готовые пакеты для автоматической установки. Это не является какой-то большой проблемой, потому что по своей сути это обычное веб приложение, написанное на Python. Работает на базе Apache. В репозитории есть все конфиги, так что их просто нужно будет вручную разложить по нужным местам и самому установить зависимости. Подробная инструкция прилагается.

Roxy-WI умеет управлять настройками HAProxy, Apache, Nginx, Keepalived, Grafana, Prometheus, а так же HAProxy и Nginx exporters от него. Это такое комплексное решение по установке (указанные программы он умеет устанавливать самостоятельно, подключаясь по SSH) и управлению веб или прокси серверами.

Помимо непосредственно настройки, в Roxy-WI можно просматривать логи, настраивать WAF (Web Application Firewall), следить за сервисами с помощью мониторинга и оповещений. Есть интеграция с Fail2Ban.

Продукт функциональный и интересный. Если у вас задача поднять прокси сервер под HAProxy и для вас это не профильное направление, то можете воспользоваться панелью. Там есть в том числе и генератор конфигов под разные задачи.

Посмотреть, как всё это выглядит на практике, можно в ютубе на канале продукта:
https://www.youtube.com/@roxy-wi2201/videos
Там много примеров того или иного функционала. Или воспользоваться публичным демо:
https://demo.roxy-wi.org
Учётка - admin / admin. Панелька реально приятно и удобно смотрится. Оцените, как выглядит просмотр логов или редактор конфигов.

Сам я не сторонник готовых панелей. Никогда их не использую, если обслуживаю инфраструктуру сам. Но люди пользуются. Постоянно их встречаю. Например, самому собрать весь этот функционал, что есть в панели, надо постараться. А если нет опыта, так вообще употеть. А тут всё в одном месте и сразу с нормальным мониторингом.

Сайт / Исходники

#webserver #nginx #haproxy
Давно ничего не было на тему работы в bash с использованием консольных программ. Решил оживить рубрику и рассказать про различные варианты отображения времени с помощью утилиты date. Постоянно приходится её использовать в скриптах. В основном при создании бэкапов, чтобы задавать удобные для восприятия названия файлов или директорий.

Если просто ввести date в терминале, то вы увидите текущее время, дату и часовой пояс. В таком виде это чисто информационное сообщение.
# date
Mon Dec 15 15:09:40 MSK 2024

Если бэкап выполняется раз в сутки, то информацию, связанную с изменениями за эти сутки, я обычно сохраняю в директории со следующим именем:
# date +%F
2024-12-15
Год-месяц-день. Вывод этой команды аналогичен вот этой:
# date +%Y-%m-%d
Соответственно, если вы хотите получить только год и месяц, используйте:
# date +%Y-%m
2024-12

Похожий вывод делает команда:
# date +%x
15/12/2024
Только вместо тире используются наклонные линии и дата развёрнута в другую сторону. Для глаз более наглядно, но я стараюсь избегать таких символов в путях. Иногда бывают проблемы.

Если хотите получить удобочитаемую человеком маску, то подойдёт вот такая:
# date +'%d-%b-%Y-%H:%M:%S'
15-Dec-2024-15:15:28
Дата и время хорошо воспринимаются на глаз, но неудобно, если будет использоваться сортировка по имени. В этом случае имеет смысл хотя бы год поставить вперёд.
# date +'%Y-%b-%d-%H:%M:%S'
2024-Dec-15-15:17:12

Обычно мне хватает показанных выше масок, которые комбинируются в разном порядке и разделяются различными символами - тире, пробелами, двоеточием или наклонными линиями.

Все возможные маски подробно описаны в документации, которую можно почитать в man. Так что вы легко сможете собрать то, что подойдёт в каждом конкретном случае. К менее популярным, но всё равно иногда нужным, можно отнести:
%y - показать только две последние цифры года
%j - порядковый номер дня года, пригодится даже не в скриптах, а просто, чтобы быстро узнать, какой сейчас день по счёту
%U - текущая неделя года, тоже скорее для информации пригодится, чтобы быстро узнать, какая сейчас неделя, этими данными постоянно финансисты и бухгалтера оперируют

С помощью следующей команды можно изменить дату с формата unixtime в обычный. Это быстрее, чем гуглить онлайн конвертор:
# date --date @1734265955
Sun Dec 15 15:32:35 MSK 2024
И в обратную сторону
# date -d "Dec 15 2024 15:32:35" +%s
1734265955

#bash
​​Садитесь поудобнее, рассказываю про шикарный сервис, который вы точно сохраните себе в закладки, потому что он может пригодиться не только в IT, но и во многих других делах.

CyberChef - преобразователь всего и вся. Когда его увидел, не проникся. Да, много всяких сервисов в онлайне, которые и так уже умеют всё, что только можно. Но когда детальнее посмотрел, как всё это работает, оценил удобство.

Во-первых, там много всяких трансформаций. Во-вторых, они удобно выстраиваются в последовательность преобразований, где ими можно управлять: что-то отключать, добавлять новые и т.д. Потом весь набор преобразований можно сохранить в рецепт к себе, а позже снова загрузить, когда нужно будет повторить операции.

Например, вам надо из текста убрать все пробелы и преобразовать его в нижний регистр. Собираете последовательность из двух действий: remove whitespace и to lower case. И получаете на выходе результат.

Можете сохранить и использовать рецепт по очищению конфигурационных файлов от пустых строк и комментариев. Можете забирать http запросом json строку, извлекать из неё значения с помощью jpath, а потом ещё декодировать, если она в каком-то кодированном формате.

Вот пример рецепта, где я:
Обращаюсь к тестовому API и получаю ответ в json формате
Извлекаю из результата только email адрес
Очищаю email от кавычек в начале и в конце.

Преобразований очень много. Я бегло изучил список и кое-что попробовал. Например, Networking -> Group IP Adresses получает на вход список из IP адресов, а на выходе выводит список масок подсетей, которые охватывают все введённые адреса. Преобразование Public Key -> Parse X.509 certificate на входе принимает исходный текст сертификата, а на выходе показывает всю информацию по нему, как это делает утилита openssl с соответствующими ключами. Я обычно в винде такие файлы сохраняю с расширением .cer и смотрю через проводник информацию о сертификате.

Сервис очень функциональный, а главное сделан удобно. Может стать помощником во многих делах. Можно его настроить для выполнения каких-то рутинных действия для людей, далёких от IT. Они могут вообще не знать, что существуют такие готовые преобразователи данных.

Ко всему прочему это open source. Исходники доступны, сервис можно запустить у себя локально. Написан, понятное дело, на JavaScript.

Сайт / Исходники

#сервис