ServerAdmin.ru
31.6K subscribers
847 photos
57 videos
23 files
3K links
Авторская информация о системном администрировании.

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

Второй канал: @srv_admin_live
Сайт: serveradmin.ru

Ресурс включён в перечень Роскомнадзора
Download Telegram
Я уже ранее делал заметки на тему того, что не стоит рабочую нагрузку и бэкапы хранить только у одного хостера. Даже если он вполне стабилен и надёжен. Могут быть какие-то юридические, бухгалтерские проблемы или просто ошибки, которые приведут к тому, что вам случайно удалят или отключат учётную запись.

Ранее я видел только чужие истории на эту тему, а некоторое время назад столкнулся лично. В очередную пятницу закончил дела чуть раньше и пошёл отдыхать. А вечером от хостера приходит письмо на почту одного из клиентов, что его учётная запись удалена.

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

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

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

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

Очень важно читать почту от подобных услуг: домены, хостинги, может что-то ещё. У меня была история, когда заказчик пропустил письмо на тему удаления сервера и потерял его. За почтой никто не следил, но деньги исправно платили. Из-за каких-то технических нюансов в ЛК автопродление сервера слетело. И работающий сервер был успешно удалён. Причём без возможности восстановления.

Проблему сразу заметили, поддержка пообещала сервер вернуть, а потом написала, что он уже очищен. Это был полный абзац. Я тогда писал об этом заметку, но уже не помню когда точно. История несколько лет назад была.

Ну и по этой же теме вспоминаются истории, когда целые датацентры уходили в офлайн. Виной тому могут быть разные причины: технические в виде отключения света, связи, пожары (ovh), борьба собственников (ihor, masterhost), санкции и блокировки (hetzner, aws и т.д.). Бэкапы обязательно надо дублировать куда-то во вне. За всё время моей трудовой деятельности у двух моих заказчиков были пожары. У одного серверная не пострадала, а у другого сгорела полностью. Бэкапы были. В ihor я тоже в своё время потерял дедики. Оперативно переехал.

#хостинг #backup
2👍101👎2
📊 Понравилась идея с опросами, поэтому, как и говорил ранее, решил их проводить регулярно на разные IT темы. В этот раз опрос будет на тему использования систем виртуализации. Решил сделать выбор нескольких вариантов ответа, потому что распространённая ситуация, когда есть разные типы гипервизоров и систем на их основе. У меня у самого они разные. Так что суммировать результаты нет смысла, будет больше 100%.

Сам опрос в следующей публикации. Всего доступно 12 вариантов ответа, поэтому пришлось как-то скомпоновать варианты. Изначально хотелось бы сделать вариантов 15 для более наглядной картины с учётом отечественных систем. Если используете какую-то неупомянутую систему, напишите название в комментариях к опросу. В следующих я постараюсь учесть комментарии и сделать более релевантный список.

Итоги подведу через 2 недели.

#опрос
👍28👎2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍78👎7
Рассказываю про очередные приключения с Windows. Возможно кому-то это сэкономит время. Несколько месяцев назад после очередного обновления Windows у меня на рабочем ноуте периодически после загрузки системы не работала клавиатура. Не всегда, где-то 50/50.

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

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

В какой-то момент меня это окончательно задолбало и я задал вопрос ChatGPT. Тот накидал список вероятных причин и решений, часть из которых как раз состояла из просмотра логов, обновления драйверов, отключения и подключения оборудования из списка и т.д.

А один из предложенных вариантов был отключение режима быстрого запуска системы. Начиная с какого обновления он начал доставлять именно такие проблемы. Почему-то сразу подумал, что это именно то, что нужно. Зашёл в Панель управления ⇨ Оборудование и звук ⇨> Электропитание ⇨ Системные параметры ⇨ Действия кнопок питания. И там снял галочку с пункта Включить быстрый запуск (рекомендуется). Шли бы они нафиг с такими рекомендациями.

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

#windows
👍148👎3
Я анонсировал ранее подборку сайтов IT блогеров со статьями на различные темы, связанные с настройкой и эксплуатацией IT систем. Собралось небольшое сообщество авторов. Полный список сайтов будет в конце. А пока анонс новых статей тех авторов, кто согласился участвовать и прислал свои материалы.

Что нового в Zabbix 7.4
Перевод на русский язык основных нововведений новой версии Zabbix Server. У меня была заметка по этой теме с моими комментариями.

Проходим Standoff 365 с помощью пентест блокнота
Небольшой обзор бумажного (❗️) блокнота со шпаргалками, которые помогут в прохождении заданий на различных обучающих платформах для хакинга. Насколько я понял, блокнот просто прикольный, но бесполезный, так как те же команды nmap, dig и т.д. проще смотреть в виртуальном блокноте и оттуда сразу их копировать.

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

Как настроить L2TP/IPsec клиент в MikroTik
Настройка L2TP сервера в Микротике и подключение к нему клиентов. И далее настройка SOCKS прокси для использования у подключившихся клиентов в качестве прокси в браузере.

Как настроить IKEv2 VPN-сервер на роутерах MikroTik с аутентификацией по сертификатам
Настройка IKEv2 VPN-сервер на роутерах MikroTik с аутентификацией по сертификатам и подключение клиентов на Windows и Android.

Как настроить SSTP-клиента в MikroTik
Настройка SSTP сервера и клиентов.

SSH — Проброс портов: прямые и обратные туннели
База по использованию туннелей через SSH. У меня по этой теме было несколько заметок:
- проброс портов и SOCKS-прокси через SSH
- vpn туннель с помощью подключения по ssh
- vpn через ssh с помощью sshuttle
- реальный пример использования проброса порта.

Did not find any relations / не отображется список таблиц базы данных в случае, если они (данные) хранятся в схеме данных с именем отличном от "public"
Решение проблемы с неотображающимся списком таблиц БД в случае, если данные хранятся в схеме данных с именем отличном от "public".

🔥ansible-cmdb — Структуризация и визуализация ansible facts
Прикольная утилита на Python, которая собирает ansible facts и рисует из них HTML страничку. Факты содержат в себе информацию об ОС, настройках сети, выделенных ресурсах, занятости дисков и т.д. Вообще не знал, что такой софт существует. Можно очень быстро собрать информацию о своих хостах, если не используется какая-то автоматизированная система. Надо будет попробовать эту программу.

Сканер Nuclei. Часть 1
Сканер Nuclei. Часть 2
Описание работы и примеры использования Nuclei. Это инструмент с открытым исходным кодом для сканирования на наличие уязвимостей в приложениях, сетях и облачной инфраструктуре.

Обработка строк на bash циклами while и for
Описание циклов и примеры их использования. Полезная база. Постоянно использую в своих скриптах.

История Windows
Очень краткая история систем Windows. Не очень понял, в чём смысл и посыл этого материала.

Локальное зеркало Linux репозитория (apt-mirror)
Настройка apt-mirror для создания локального зеркала репозитория с помощью популярного инструмента.

⇨ Резервное копирование почты
Использование imap-backup для бэкапа почты из ящиков облачных провайдеров типа Yandex локально в формате mbox. Я в своё время про него рассказывал.

Настройка DNS over HTTPS (DoH) на OpenWrt
Шифрование своих DNS запросов с помощью прошитого под OpenWrt роутера.

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

▪️https://r4ven.me
▪️https://wiki-it.ru
▪️https://www.gurin.ru
▪️https://sysadminhub.ru
▪️https://devopslife.ru
▪️https://bite-byte.ru
▪️https://desoft.ru
▪️https://www.pc360.ru
▪️https://bafista.ru
▪️https://it-experience.ru
▪️https://blogadminday.ru
▪️https://marukhin.ru
▪️https://blog.mons.ws
▪️https://lytkins.ru
▪️https://sysops.host

#статьи
2👍83👎2
Мониторинг на базе Zabbix Server очень универсален. Одной из его возможностей является анализ текстовых логов и поиск там заданных строк или выражений. В случае нахождения, срабатывает триггер с различными действиями. В самом простом случае это может быть уведомление, а в более сложном - выполнение команды или набора каких-то действий в виде последовательности команд и скриптов.

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

У написанного мной шаблона есть один недостаток, который всё никак не доходят руки исправить. Триггер в шаблоне реагирует на строку с подключением пользователя и отключает триггер, когда видит фразу с отключением пользователя. Если один пользователь подключился и потом отключился, то всё нормально. Но если подключился один пользователь, за ним подключился второй пользователь, то триггер сработает только во время подключения первого пользователя. И может отключиться, когда отключится не первый пользователь, а второй. То есть триггер не делает в строках лога привязку к конкретной сессии пользователя.

При этом Zabbix Server позволяет своими штатными возможностями привязывать в триггерах разные строки к одному и тому же событию. Делается это с помощью настройки в триггере Режим генерации событий ПРОБЛЕМА: Одиночный или Множественный.

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

Входы Выходы Пользователей SSH auth.log Debian Ubuntu

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

Монитор внешнего входа и выхода пользователей Windows

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки. В этот раз не только вам рекомендую сохранить, но и себе сохранил ссылку на раздел с готовыми шаблонами Zabbix.

#zabbix
7👍131👎2
Под ОС на базе Linux есть огромное количество различных почтовых серверов, от самых простых в виде одного исполняемого файла до сложных установок с десятками различных сервисов в контейнерах. Для Windows такого изобилия нет.

Был один бесплатный удобный и функциональный проект - hMailServer, но, к сожалению, автор его забросил. Последняя версия была в 2023 году. На сайте автора указано, что сервер больше не развивается и не поддерживается. Сам автор не советует его использовать, так как он не поддерживает современные протоколы шифрования, и рекомендует переходить на другое решение. Жаль, это был очень удобный и простой сервер, который было очень просто развернуть и настроить на полноценную работу почтовой системы.

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

Под Windows есть только один более-менее близкий бесплатный аналог - MailEnable Standard Edition. Это полностью бесплатная редакция коммерческого почтового сервера. В этой бесплатной версии реализованы все стандартные возможности почтового сервера, в том числе встроенный веб интерфейс, адаптированный под мобильные приложения.

Разворачивается MailEnable так же просто и имеет удобную админку для управления. Подойдёт тем, кто не знает Linux или не хочет с ним разбираться. Например, разработчикам 1С, которым нужно управлять отправкой каких-нибудь отчётов по почте. А чтобы развернуть почтовый сервер на Linux без должных навыков и знаний, придётся прилично потрудиться.

MailEnable - старый сервер, что выдаёт его интерфейс. Но при этом продолжает развиваться, регулярно выходят новые версии. Управление через стандартную MMC-консоль Windows. Веб-интерфейс работает через IIS. Помимо почты есть личный календарь, задачи, контакты. Не знаю, насколько всё это актуально в наше время. Для реальных пользователей я бы такой не стал разворачивать. Думаю, он имеет смысл только для каких-то технических задач. Хотя, если использовать сторонний почтовый клиент, то почему бы и нет. Даже небольшие локальные серверы получили новую жизнь, после того, как не осталось бесплатных почтовых сервисов, куда бы можно было присоединить свой домен и использовать почту на нём.

🌐 Сайт / Demo

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#mailserver
1👍105👎9
В свете вчерашней заметки про почтовые сервера, хочу сделать некоторое дополнение. Существует отличный бесплатный продукт – Proxmox Mail Gateway. Это своего рода шлюз для фильтрации почты. Условно его можно сравнить с обратными прокси для веб сайтов, типа Nginx в режиме proxy_pass, Traefik и т.д.

PMG собран на базе привычных open source компонентов:

◽️Postfix – основной MTA, который принимает/отправляет письма.
◽️Amavis – фильтр, который передаёт письма на проверку в антивирус и антиспам.
◽️SpamAssassin – антиспам.
◽️ClamAV – антивирус.
◽️Greylisting, DNSBL, RBL – инструменты противодействия спаму в виде технологии серых списков и обычных обновляемых списков блокировки.

Управляется всё это хозяйство через веб интерфейс. В консоль ходить не надо. Разобраться с ним легко, если есть понимание, как работают почтовые сервера. Запустить можно в несколько кликов в LXC контейнере в Proxmox VE. Он там в самом начале списка шаблонов, в разделе Mail. В настоящий момент там два шаблона: proxmox-mail-gateway-8.2-standard и proxmox-mailgateway-7.3-standard.

Принцип работы и интеграции с существующим почтовым сервером простой. PMG принимает всю входящую почту, обрабатывает и передаёт на основной почтовый сервер:

● Интернет ⇨ PMG ⇨ Внутренний почтовый сервер (например, Postfix, hMailServer, Exchange и т.д.) ⇨ Почтовый клиент

И то же самое происходит с отправкой. Письмо от клиента сначала попадает на основной почтовый сервер, а после него на PMG и уходит в интернет:

● Почтовый клиент ⇨ Почтовый сервер ⇨ PMG ⇨ Интернет

Если говорить более конкретно про настройку, то вы в DNS записях вашего домена, в качестве MX сервера указываете адрес PMG. А уже в нём указываете адрес основного сервера для пересылки на него почты. А в обратную сторону указываете на своём почтовом сервера в качестве релея адрес PMG. То есть встроить его в существующую работающую структуру очень просто. Если что-то пойдёт не так, то можно быстро откатиться обратно. Основной почтовый сервер можно не трогать.

❗️Отдельно отмечу, что Proxmox Mail Gateway – это именно почтовый шлюз. В качестве почтового сервера, который хранит почту и к которому могут подключаться клиенты он работать не может. У него нет ни хранилища почты, ни протоколов для клиентских подключений по imap или pop3. Мне неоднократно задавали подобный вопрос: "Можно ли как-то настроить PMG, чтобы он работал в качестве почтового сервера?" К сожалению, это невозможно. Хотя лично мне хотелось бы, чтобы его доработали до полноценного почтового сервера. Это добротный бесплатный продукт, которым приятно пользоваться.

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

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

Лично я постоянно с этим шлюзом не работаю, так как нет особой необходимости. Свои почтовые сервера я настраиваю на основе Postfix. И в нём уже сам реализую нужную функциональность, которая может пересекаться с возможностями PMG. Если кто-то не видел, то вот моя подробная статья по настройке почтового сервера на базе Postfix.

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#mailserver
👍141👎2
▶️ Очередная подборка авторских IT роликов, которые я лично посмотрел и посчитал интересными/полезными. Это видео из моих подписок за последнее время (обычно беру период в 2 недели), что мне понравились.

Инструкция по запуску нейросети на своем сервере vLLM
Пошаговая инструкция по запуску и настройке нейросети на арендованном сервере с двумя видеокартами. Автор начинает с заказа сервера и дальше показывает все этапы настройки: подключение по SSH, установка Docker и запуск с нужными параметрами и т.д. Очень наглядно и познавательно.

Настройка Angie в роли обратного HTTP-прокси
Балансировка нагрузки для HTTP(S) в Angie
Подробные видео с примерами по настройке Angie для проксирования запросов через proxy_pass на один или несколько бэкендов. Настройка похожа на Nginx, но у Angie есть некоторая дополнительная функциональность.

Forgejo: An Alternative to Gitea, A Fork of a Popular Forge Platform
Подробный обзор бесплатной системы для хранения кода в git репозиториях. Это аналог таких продуктов, как Github, Gitlab, Gitea и т.д. Раньше о ней только мельком слышал. Это форк Gitea, который пошёл своим путём.

Ставим k8s-talos через terraform в proxmox
Подробное руководство по установке кластера Talos через Terraform в Proxmox для запуска Kubernetes.

Обновление с Proxmox VE 8 до Proxmox VE 9: пошаговое руководство
Обновление PVE в режиме реального времени на рабочем хосте автора. Там всё стандартно, ничего нового по обновлению не появилось.

Stop Port Forwarding! Secure Home Lab Access with Modern Tools
Автор призывает прекратить пробрасывать порты, а вместо этого использовать софт для построения vpn сетей. Он сделал краткий обзор на Twingate, Tailscale, Wireguard и WG-Easy для него, Cloudflare tunnel.

Authelia vs Authentik vs Keycloak vs Zitadel Как выбрать SSO для своих сервисов
Краткое сравнение Authelia, Authentik, Keycloak, Zitadel.

🎓 Протокол TCP: управление перегрузкой | Компьютерные сети 2025 - 35
🎓 Интерфейс сокетов | Компьютерные сети 2025 - 36
Очередные обновлённые уроки хорошего курса по сетям от Созыкина Андрея.

Dockpeek: A Docker Port Dashboard for Your Homelab
Обзор очередной панельки для управления Docker контейнерами. Их много разных. Эта меня не особо впечатлила. Из плюсов отмечу легковесность и наглядный список занимаемых контейнерами портов на хосте. Посмотрите, может вам понравится.

#видео
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍53👎2
Копилку моей субботней рубрики с играми и материалами для обучения пополнит очередная обучающая игра, про которую я раньше не слышал. Это консольная игра GameShell, которая учит основам консольных команд Linux.

Играть в GameShell можно в любом терминале ОС на базе Linux. В Debian или Ubuntu её можно установить так:

$ sudo apt install gettext man-db procps psmisc nano tree ncal x11-apps wget
$ wget https://github.com/phyver/GameShell/releases/download/latest/gameshell.sh
$ bash gameshell.sh

Это инструкция из репозитория игры. В баш скрипте находится сам код игры. Я скрипт не проверял, так что рекомендую запускать на тестовой машине, если захотите поиграть. Под root не запустится, только под обычным пользователем.

Игра построена в виде заданий, в которых вам нужно использовать различные консольные утилиты. Для игры достаточно запомнить несколько команд:

$ gsh help - посмотреть список команд для управления игровым процессом
$ gsh goal - прочитать задание миссии
$ gsh check - проверить выполненное задание

Всё остальное не так важно. Миссии, как это обычно бывает, развиваются от более простых к сложным. Сначала будете изучать команды cd, mkdir, rm, mv и т.д. Потом пойдут команды с пайпами: head, tail, cat и т.д. Потом права доступа, поиск и некоторые другие вещи.

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

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

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#игра #обучение #дети
👍92👎4
Вчера обновился мониторинг, который я давно использую – Gatus. Основное нововведение – новый веб интерфейс. Решил сразу попробовать, благо сделать это очень просто, так как весь мониторинг – это одиночный бинарник и конфигурационный файл к нему.

Лично мне история этого мониторинга не нужна, поэтому я обновил очень просто:

# docker stop gatus
# docker rm gatus
# docker pull twinproduction/gatus:v5.23.0
# docker run -p 8080:8080 -d --mount type=bind,source="$(pwd)"/config.yaml,target=/config/config.yaml --name gatus twinproduction/gatus:v5.23.0

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

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

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

▪️Основные возможности и настройка Gatus
▪️Обновление конфигурации Gatus через gitlab-runner и git push в репозиторий

У меня редактирование мониторинга выглядит так. Открываю VS Code, правлю локальный конфигурационный файл, делаю commit и синхронизацию с репозиторием в Gitlab через расширение GitLab Workflow. Код улетает в репозиторий, там в .gitlab-ci.yml прописан перезапуск контейнера на VPS, где запущен Gatus и runner. Получается очень просто и удобно. Историю я вообще не храню, мне она тут не нужна, поэтому ничего не бэкаплю, кроме самого репозитория с конфигурацией.

В старых публикациях можно посмотреть скриншоты и сравнить с обновлёнными интерфейсом, который на картинке ниже.

Кстати, об обновлении сразу узнал от сервиса newreleases.io, которым я активно пользуюсь. Очень удобно, рекомендую.

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

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#мониторинг #gatus
2👍96👎4
На прошлой неделе читал статью про ansible-cmdb. Понравился инструмент. Раньше про него не слышал. Он довольно просто устроен, особенно для тех, кто знает и регулярно использует Ansible в инфраструктуре. Собственно, ansible-cmdb работает на базе Ansible.

Поясню, для тех, кто не в курсе и не работает с Ansible. У неё есть список хостов, куда она имеет доступ по SSH. Соответственно, с помощью Ansible можно ходить по хостам, что-то там делать, собирать информацию. Ansible-cmdb использует вывод модуля setup, который заходит на хосты и собирает о них информацию в так называемые ansible_facts. A ansible-cmdb берёт эту информацию и оформляет в наглядную html страницу.

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

# mkdir out
# ansible -m setup --tree out/ all
# ansible-cmdb out/ > overview.html

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

Настраивать всё буду в Debian 12. Рекомендую использовать для этого отдельную виртуалку или контейнер. Ставим необходимые пакеты:

# apt install python3-pip ansible

У ansible-cmdb есть собранный deb пакет. Я изначально использовал его. Но так и не смог заставить работать. Я не знаю, что там за версия python нужна, но у меня постоянно были какие-то ошибки в коде. Залез в репозиторий, в Issues, увидел там похожие ошибки и решение в виде установки через pip, а не из пакета.

Поставил в итоге следующим образом. Это не рекомендованный способ, но для демонстрации работы и простоты делаю так. Когда разберётесь и решите, что вам этот инструмент нужен, устанавливайте и запускайте его через venv. А пока ставим:

# pip install ansible-cmdb --break-system-packages
# ln -s /usr/bin/python3 /usr/bin/python

Теперь нам нужно подготовить конфигурацию ansible. Добавляю минимальную конфигурацию в файл ~/.ansible/ansible.cfg

[defaults]
home = ~/.ansible/
inventory = ~/.ansible/inventory.yaml
remote_user = root
gather_facts = True
private_key_file = ~/.ssh/id_ed25519
host_key_checking = False

И создаю так называемый инвентарь ~/.ansible/inventory.yaml в терминологии Ansible со списком серверов, для которых будем делать отчёт.

all:
 hosts:
  Debian12-VPS:
   ansible_host: 127.0.0.1
   ansible_port: 22
  Debian12-CT:
   ansible_host: 10.20.1.24
   ansible_port: 22
  Ubuntu24-CT:
   ansible_host: 10.20.1.21
   ansible_port: 22

Передаю в переменную конфигурацию Ansible:

# export ANSIBLE_CONFIG="$HOME/.ansible/ansible.cfg"

Создаю сертификат, по которому буду подключаться к хостам:

# ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519 -C "$(whoami)@$(hostname)_$(date -I)"

Копирую его на хосты в authorized_keys:

# ssh-copy-id root@127.0.0.1
# ssh-copy-id root@10.20.1.24
# ssh-copy-id root@10.20.1.21

Проверяю, видит ли ansible хосты в инвентаре, всё ли верно настроено:

# ansible -i inventory.yaml all --list-hosts
  Debian12-VPS
  Debian12-CT
  Ubuntu24-CT

Всё в порядке, собираем факты:

# mkdir ~/.ansible/out
# ansible -m setup --tree ~/.ansible/out all

Если всё в порядке, и в директории появились текстовые файлы с информацией о хостах, то строим по ним html страничку:

# ansible-cmdb ~/.ansible/out > overview.html

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

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#linux #ansible
2👍151👎3
Вчера решил обновить один из серверов Zabbix до свежей версии 7.4. Выбор пал на сервер версии 7.0, установленный на Oracle Linux Server 8.10. Остался с давних времён. Работает нормально, обновляется, так что я особо не тревожу его.

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

1️⃣ Изменился путь для веб интерфейса. Вместо /usr/share/zabbix он теперь /usr/share/zabbix/ui. Надо поменять в настройках виртуального хоста. Если этого не сделать, то увидите ошибку с инструкцией по исправлению, вместо веб интерфейса.

2️⃣ Изменилась поддерживаемая версия php с 8.0 до 8.2. В зависимости от ваших настроек и пакетов на сервере, переход на другую версию php может сопровождаться какими-то своими ошибками. У меня были пару проблем с зависимостями пакетов. Не стал особо вникать. Сделал снепшот виртуалки, удалил все проблемные пакеты и установил версии 8.2. На удивление, всё прошло успешно и больше ничего делать не пришлось.

Меня часто спрашивают, буду ли я писать статью по обновлению Zabbix Server. Я иногда делаю такие публикации, но не очень люблю именно эту тематику из-за того, что Zabbix может быть развёрнут на очень разном окружении. Это могут быть разные систем на базе Linux, разные СУБД (MySQL или PostgreSQL), разные веб сервера (Nginx + Php-Fpm или Apache + Mod_PHP). Трудно всё это учесть.

Сам сервер Zabbix обычно обновляется без проблем. Проблемы чаще всего возникают с фронтендом. Он то не обновится, то версия php не та, то настройки веб сервера слетели и т.д. Тут инструкция не поможет, надо по месту разбираться.

В общем случае обновление Zabbix выглядит очень просто. Отключаете старый репозиторий, останавливаете сервер, подключаете репозиторий с новой версией и обновляете пакеты от Zabbix. И всё. В этот раз у меня именно так и прошло обновление и кроме описанных выше двух ошибок, всё прошло штатно. Обновился с 7.0.17 до 7.4.1.

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

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

☝️ Оказывается, шаблоны должны быть совместимы с мастером. Не знаю, зачем так сделали. Хорошо хоть, что все их объединили в 5 наборов, которые можно разом установить. Качаются вот тут по ссылкам. После того, как их импортировал, наконец-то заработал мастер. Я смог выбрать шаблоны.

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

Я из-за этого не люблю автоматом обновлять шаблоны. Напомню, что Zabbix Server после обновления сам шаблоны не обновляет. Это надо делать вручную. С одной стороны это хлопотно, но с другой страхует от лишней работы и проблем. Можно обновить сервер, но не трогать шаблоны, если тебе не нужны обновлённые версии. Старые без проблем работают. Я некоторые очень редко обновляю, потому что и так устраивают. Я не из тех, кто считает, что чем больше метрик, тем лучше. В них обычно потом никому не хочется разбираться. Лучше меньше и только те, что реально нужны.

Забыл добавить, что интеграция с Grafana не слетела после обновления с 7.0 до 7.4. Я ничего не трогал в самой Графане.

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#zabbix
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍117👎3