ServerAdmin.ru
32.2K subscribers
1.11K photos
63 videos
29 files
3.14K links
Авторская информация о системном администрировании.

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

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

Ресурс включён в перечень Роскомнадзора
Download Telegram
Соберите пазл-облако в игре «Облачный конструктор»

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

Среди всех участников игры-головоломки с помощью рандомайзера мы разыграем фирменный мерч MWS Cloud Platform. Если соберёте все пазлы, получите возможность выиграть грант в размере 20 000 ₽ на использование облака MWS Cloud Platform.

Играть
👍9👎5
Один мой небезызвестный читатель Василий Егоров (@vasya_nsk) прислал ссылку на свой новый проект. Он представляет из себя каталог open source репозиториев с категориями и поиском, чтобы можно было быстро найти что-то из заданной тематики.

https://gitlocator.ru

Не сказать, что это прям что-то сильно нужное и незаменимое, решающее какую-то значительную проблему. Но сделано добротно и аккуратно. Мне понравилось.

В каталоге проекты выглядят в виде карточек, где указана ссылка на репозиторий (GitHub / GitLab / GitFlic / GitVerse), короткое описание на русском. Внутри карточки более подробное описание, звёзды, дата последнего коммита и некоторая другая информация.

Проект в каталог может добавить каждый желающий. Заявки обрабатывает ИИ, всё заполняет и отправляет в админку на утверждение куратором раздела. Потом карточка появляется в каталоге, попадает в RSS и недельный email-дайджест.

Если вы автор и имеете 3 и более активных проектов, добавленных в каталог, то можете создать себе именную страницу (пример). Обычные пользователи могут регистрироваться, добавлять что-то в избранное, подписываться на обновления, следить за своими заявками на добавление проектов в каталог.

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

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

———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX 😩

#сервис
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
51👍101👎1
Не могу не поделиться этой историей, хотя пользы от неё кому-то кроме меня скорее всего не будет. Я потратил где-то час на решение одной нелепой ошибки, а спаc меня в итоге бесплатный Qwen. Я уже практически отчаялся самостоятельно разобраться в проблеме.

Делаю простую задачу. Полное её описание скорее всего напишу отдельно. Мне нужно с Windows машины автоматически выключать Linux сервера по событию с ИБП. Делается это элементарно через cmd скрипт, который можно отладить в консоли примерно так:

> ssh ups_shutdown@192.168.137.29 "sudo systemctl poweroff"

Делаем на сервере пользователя ups_shutdown и добавляем ему публичный ключ:

# useradd -m -s /bin/bash ups_shutdown
# mkdir -p /home/ups_shutdown/.ssh
# touch /home/ups_shutdown/.ssh/authorized_keys
# echo "ssh-ed25519 AAAAC3NzaC1lZDI1... ваш_ключ..." >> /home/ups_shutdown/.ssh/authorized_keys
# chown -R ups_shutdown:ups_shutdown /home/ups_shutdown/.ssh
# chmod 700 /home/ups_shutdown/.ssh
# chmod 600 /home/ups_shutdown/.ssh/authorized_keys

Даём ему через visudo права на выполнение указанной команды:

ups_shutdown ALL=(ALL) NOPASSWD: /usr/bin/systemctl poweroff

На винде перед этим создал нужный ключ:

> ssh-keygen -t ed25519 -C "ups_shutdown" -N "" -f %USERPROFILE%\.ssh\id_ed25519

Всё максимально просто и стандартно. Пробую подключиться, не получается. На команду:

> ssh ups_shutdown@192.168.137.29 "sudo systemctl poweroff"

Получаю запрос на аутентификацию по паролю. Режим отладки показывает, что ssh успешно применяет созданный ключ id_ed25519, публичная часть которого добавлена на Linux. А на самом сервере никаких ошибок при подключении. Просто тишина. Перепроверил по 10 раз все настройки и права доступа. Ничего не помогло.

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

В конце он предложил начать всё сначала и отправить ему вообще все настройки и логи. Дал список команд. Я всё собрал и отправил. Он тут же нашёл ошибку:

ssh-ed25519 ssh-ed25519 AAAAC3NzaC1....LQSVErJUKo ups_shutdown
💥 Два раза ssh-ed25519 подряд! Это невалидный формат ключа.

Я тупо ошибся при переносе публичного ключа, скопировав ssh-ed25519 два раза. Не знаю, как так вышло, но вот вышло. И ни в одном логе нигде не было ошибки, что ключи не совпадают, формат неверный или что-то в этом духе.

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

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

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

———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX 😩

#ai
Please open Telegram to view this post
VIEW IN TELEGRAM
👍120👎4
🔥 OpenSearch Intensive — два практических тренинга в мае и июне

Если вы давно хотели разобраться с OpenSearch не верхнеуровнево, а на уровне реальной эксплуатации, архитектуры, производительности и траблшутинга — это отличный шанс сделать это за несколько дней плотной практики.

📌 OpenSearch База

🗓 20–22 мая 2026

🔗 Программа тренинга

За 3 дня:
• разберём архитектуру OpenSearch
• научимся строить поисковые запросы и агрегации
• настроим ingestion, индексы и шаблоны
• поработаем с логами, метриками и observability
• разберём безопасность, роли и TLS
• настроим политики ISM и оповещения
• настроим визуализации в OpenSearch Dashboards

Подходит для DevOps, SRE, инженеров мониторинга, администраторов, backend-разработчиков и всех, кто хочет уверенно работать с OpenSearch.

🚀 OpenSearch Продвинутый

🗓 8–10 июня 2026

🔗 Программа

Будем разбирать:
• security internals и ролевую модель
• cluster formation и кворум мастер-нод
• сегментную репликацию и удаленное хранилище
• Kafka + Vector pipelines
• аллокацию шардов и балансировку кластера
• кросс-кластерную репликацию т кросс-кластерный поиск
• загрузку данных в OpenSearch из Kafka
• работу с отчетами и Notebooks
• OpenSearch как observability платформу
• оптимизацию стоимости хранения данных

Подходит тем, кто уже знаком с OpenSearch и хочет выйти на следующий уровень.

💥 Формат — интенсив, а это означает минимум «воды», максимум практики и инженерного опыта. Тренинг не про «посмотрели слайды и разошлись», а про:

✔️ live-demo
✔️ практические задания
✔️ реальные кейсы
✔️ разбор типовых ошибок
✔️ best practices из highload инфраструктур

За несколько дней участники получают концентрированный опыт, который обычно накапливается месяцами эксплуатации.

Подробная информация на страницах с тренингами, там же есть форма обратной связи, чтобы оставить заявку или задать вопросы. Также дополнительную информацию вы можете получить, обратившись к @galssoftware или через hello@gals.software.

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

🚀 Мониторим ИТ — про observability

🚀 Elastic Recipes — про OpenSearch/ElasticSearch

🚀 Zabbix Recipes — про Zabbix

Реклама, ООО ГАЛС СОФТВЭР, ИНН 5047195298.
👍11👎2
Много лет использую Zabbix и постоянно нахожу что-то новое. Это очень масштабная система, которую самому трудно объять, если изучаешь сам для решения только своих задач. На днях ИИ научил меня кое-чему новому.

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

Я всегда знал, что в Zabbix Server есть автообнаружение узлов банальным сканированием заданных подсетей. Как только попадается что-то новое, чего ещё нет в системе, добавляем и навешиваем группы и шаблоны в зависимости от настроенных действий автообнаружения. Работает просто и понятно. Главный минус в том, что работает не мгновенно и надо постоянно сканировать сеть в поисках узлов, что создаёт постоянный спам запросами в сети.

Второй инструмент - API. Там есть метод host.create, который активно используется в различных интеграциях с CMDB или в CI/CD. Тоже простой и понятный способ.

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

Вот как это работает. Добавляем в конфигурацию агента:

ServerActive=192.168.137.250
HostMetadata=os:linux os_family:debian environment:production location:pve-cluster

Метаданные можно задавать какие угодно для вашего удобства и иерархии. На сервер улетает вся строка, которая может быть распарсена до каждого отдельного слова или фразы.

В веб-интерфейсе Zabbix переходим в Оповещения ⇨ Действия (Alerts ⇨ Actions), выбираем Действия авторегистрации (Autoregistration actions) и Создаём действие (Create action). В нём описываем условия через И и ИЛИ. Например, если os:linux и location:pve-cluster, то навешиваем шаблон Linux by Zabbix agent и добавляем в группы Linux Servers и PVE-cluster. А также шлём уведомление и навешиваем нужные тэги.

Вот и вся настройка. Как только узел с настроенным агентом появится в сети и постучится на сервер мониторинга, ему сразу же определяет его место и метрики. А шаблон, кстати, ему можно добавить с пассивными проверками. То есть для работы авторегистрации не обязательно собирать метрики в активном режиме. Дальше сервер сам может опрашивать агента, если к нему есть доступ.

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

———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX 😩

#zabbix
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍96👎1
Купил не так давно себе домой ИБП Ippon Kirpich 1050. Хороший аппарат, мне понравился - много розеток, ЖК экран. И самое главное - кнопка управления писком. Я полностью отключил его. У меня есть старый Ippon попроще, где этой кнопки нет. И он постоянно пищит, когда электричества нет, невозможно отключить.

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

Пока была актуальна и развивалась программа Apcupsd, я для этих целей использовал её. Она очень удобная и простая в настройке - одинаковые минималистичные файлы конфигураций под все системы, режим работы клиент-сервер. Специально подбирал ИБП, чтобы поддерживала его. Она была совместима не только с аппаратами APC, но и те же Ippon некоторых моделей поддерживала. Сейчас программа заброшена, не обновляется, даже сайта не осталось. Я посмотрел на неё и понял, что всё, каши с ней больше не сварить 😢.

Ippon предлагает использовать программу PowerMaster, написанную на Java. Она поднимает веб сервер, управление через браузер. На первый взгляд не очень удобное решение, но в духе нашего времени. Я поставил её и на винду, и на линукс. В принципе, работает, хоть и жирновата, функциональность отличная, много чего умеет. Работает тоже в режиме клиент-сервер. Серверную часть ставишь на машину, куда подключен ИБП по USB, на остальные - клиентскую часть, которая подключается к серверу и следит за его состоянием, слушает команды.

У меня ИБП подключен к машине с Windows, а выключать надо сервера с PVE и Xpenology. Ставить на гипервизор тяжёлое Java приложение не хочется, а на Xpenology вообще не понятно, встанет ли. Я даже не пробовал. Решил пойти по другому пути. PowerMaster умеет запускать cmd скрипты на события от ИБП. Я решил отправлять на все зависимые машины по SSH команду на выключение после минуты отсутствия электричества.

Настраивается это в разделе Setting Advanced. Событие отключения электричества - Utility power failure. Директория, из которой можно выбрать скрипт для этих событий - C:\Program Files (x86)\PowerMaster Plus\extcmd. Там уже есть шаблон default.cmd, в который можно добавить свою логику. Мне её написал ИИ. Пришлось серьёзно заморочиться, чтобы всё отладить. Отмечу несколько важных моментов:

1️⃣ В начало скрипта надо добавить строку:

chcp 65001 >nul 2>&1

Без неё в логах будут крякозябры вместо текста ошибок, что сильно усложнит отладку, если что-то пойдёт не так.
2️⃣ Скрипт должен быть обязательно в кодировке UTF-8 with BOM (UTF-8 со спецификацией). С любой другой кодировкой скрипт не отрабатывал в программе, хотя нормально работал из консоли напрямую.
3️⃣ PowerMaster - 32-х битное приложение. Оно не видит стандартный системный путь до ssh.exe. Надо использовать специальный псевдоним C:\Windows\Sysnative\OpenSSH\ssh.exe.
4️⃣ PowerMaster работает от пользователя System. Ключ для SSH надо положить в директорию C:\Windows\System32\config\systemprofile\.ssh\, назначить пользователя владельцем и удалить все остальные права.

На управляемых системах нужно создать пользователя, который будет запускать shutdown.

Эта простая задача сожрала у меня кучу времени, потому что просто взять и запустить скрипт у меня не получилось. В Apcupsd всё это решалось за 5 минут настройки даже в первый раз. А тут часа 2 колупался, пока все ошибки отладил, учёл нюансы винды и программы.

В итоге подёргал ИБП из розетки, всё корректно отрабатывает. Он, кстати, спокойно тянет 3 обычных системника с БП на 400-500w, не жалуется на перегрузку. Минут 5 с ними работает. С одним - 15-20. Я как раз на него 3 самосбора повесил под тестовый кластер и бэкапы. Плюс ещё 2 машины гасит на втором ИБП. Тот Иппон у меня лет 10 работает, на третьем аккумуляторе уже.

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

———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX 😩

#железо
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍106👎4
20 мая в 12:00 (мск) пройдёт бесплатный вебинар «Автоматизация процессов безопасности в Kubernetes: опыт MWS Cloud Platform».

Руководитель направления облачной безопасности Алексей Федулаев расскажет:
- Какие есть подводные камни при переходе с ручных сканов
- Как покрыть тепловыми картами кластеры и отслеживать нарушения
- Как находить аномалии в поведении пользователей
- И наконец, как это всё подружить с центром безопасности

Вебинар будет полезен директорам по ИТ и ИБ, ИБ-специалистам и инженерам, работающим в облачных средах.

Регистрируйтесь, подключайтесь к прямому эфиру и задавайте вопросы в чате.

📆 20 мая в 12:00
👍10👎3
Перебирал старые ролики и нашёл древние видео от провайдера Авантел на тему системного администрирования. Зашёл на их канал в поисках чего-то нового, но, к сожалению, канал пустой. Нет ни одного ролика, а старые доступны только по прямым ссылкам. Провайдер как-будто отходит в мир иной.

Скачал на всякий случай и сохранил сюда, чтобы не потерялись. Юмор на любителя, но задумано и снято, как ни крути, необычно и местами интересно 🥹. Кто не смотрел - гляньте хотя бы одним глазком.

На Youtube ролики в качестве 4К. Я не смог их скачать в таком качестве, не разобрался. Получилось только 720p. Если кто-то умеет скачивать качество выше, скиньте, пожалуйста, в личку ролики, я перезалью.

▶️ https://www.youtube.com/watch?v=rjqe8T5XBmw
▶️ https://www.youtube.com/watch?v=WNnJ0gjPgEs
▶️ https://www.youtube.com/watch?v=ncXTQ83eW7Q

#юмор
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍138👎20
Как развернуть катастрофоустойчивую облачную инфраструктуру?

На практическом вебинаре Selectel разберет архитектуру геораспределенного облака и покажет, как построить такую ИТ-инфраструктуру, которая продолжит работать даже при отказе целого дата-центра.

📅 20 мая, 12:00
📍 Онлайн
👥 Для DevOps-инженеров, системных администраторов, Cloud-архитекторов и технических руководителей

👉 Смотрите полную программу и регистрируйтесь: https://slc.tl/cnt76

Чтобы не пропустить вебинар и узнавать о других событиях и бесплатных курсах Selectel, подписывайтесь на @selectel_events

Реклама. АО "Селектел". erid:2W5zFHuTtss
👍9👎4
Расскажу про один старый неочевидный трюк в терминале. Он не особо часто нужен, но у меня были ситуации, когда прям очень сильно пригодился бы. Бывает запустишь какой-то процесс в терминале (сборку, перенос кучи мелких файлов, проверка размера огромной директории, дамп большой и медленной базы), не подумав о том, что он может затянуться. И начинаешь переживать за сохранность сессии SSH. Если разорвётся, то процесс остановится. Надо было сразу либо в screen, либо в tmux запускать, но уже поздно. Надо либо ждать и надеяться, либо прерывать и перезапускать.

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

# apt install reptyr

Нагляднее и проще всего показать работу reptyr на примере top или htop. Запускаем в обычной консоли top.

# top

Отправляем процесс в фон и там запускаем:

Нажимаем CTRL-Z
# bg

Проверяем, как процесс работает в фоне:

# jobs -l
[1]+ 7972 Stopped (signal)    top

Увидели заодно его pid - 7972. Отвязываем процесс от текущей сессии:

# disown top

Теперь запускаем новую сессию сразу же с tmux. Заходим в неё и там запускаем:

# reptyr 7972

Открыли в новой сессии с tmux всё тот же процесс top.

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

К сожалению, reptyr по какой-то причине сессию с opencode не может восстановить. Отправляю в background, отцепляю от сессии, запускаю в новой через reptyr, но всё виснет. Интерфейс opencode не появляется. Там навороченная и активная псевдографика. Наверное в этом дело. Хотя тот же mc без проблем из сессии в сессию переходит.

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

———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX 😩

#bash #terminal
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍167👎1