Не могу не поделиться этой историей, хотя пользы от неё кому-то кроме меня скорее всего не будет. Я потратил где-то час на решение одной нелепой ошибки, а спаc меня в итоге бесплатный Qwen. Я уже практически отчаялся самостоятельно разобраться в проблеме.
Делаю простую задачу. Полное её описание скорее всего напишу отдельно. Мне нужно с Windows машины автоматически выключать Linux сервера по событию с ИБП. Делается это элементарно через cmd скрипт, который можно отладить в консоли примерно так:
Делаем на сервере пользователя ups_shutdown и добавляем ему публичный ключ:
Даём ему через visudo права на выполнение указанной команды:
На винде перед этим создал нужный ключ:
Всё максимально просто и стандартно. Пробую подключиться, не получается. На команду:
Получаю запрос на аутентификацию по паролю. Режим отладки показывает, что ssh успешно применяет созданный ключ id_ed25519, публичная часть которого добавлена на Linux. А на самом сервере никаких ошибок при подключении. Просто тишина. Перепроверил по 10 раз все настройки и права доступа. Ничего не помогло.
При этом если туда же подключаться под root, то аутентификация нормально проходит. Вызвал на помощь Qwen. Он, конечно, кучу всего предложил проверить, отправить логи, отладку и т.д. Ничего не помогало.
В конце он предложил начать всё сначала и отправить ему вообще все настройки и логи. Дал список команд. Я всё собрал и отправил. Он тут же нашёл ошибку:
💥 Два раза
Я тупо ошибся при переносе публичного ключа, скопировав ssh-ed25519 два раза. Не знаю, как так вышло, но вот вышло. И ни в одном логе нигде не было ошибки, что ключи не совпадают, формат неверный или что-то в этом духе.
Рано или поздно я бы плюнул на всё, удалил пользователя и сделал бы всё заново. Это известный и рабочий приём, который я сам практикую и многим советую, особенно в комментариях к моим статьям, которые гарантированно рабочие, потому что я проверял их лично. Но очень хотелось разобраться в проблеме, поэтому тратил время.
Многие сетуют, мол ИИ часто ошибается. Я вот с ним плотно работаю и могу сказать, что он ошибается реже чем я. И при этом он быстро находит свои ошибки. Давал ему на проверку некоторые свои статьи, которые я внимательно писал и выверял. Он там находил ошибки. И писал итоговые статьи лучше меня. Он вообще может за час проверить все статьи с моего сайта, исправить ошибки, дополнить полезной информацией и проверить на реальных системах всё, что напишет.
Грустно было осознать, что он разом обесценил мой прошлый тяжёлый труд. Но ничего не поделать. Мир меняется и надо меняться вместе с ним. Писать вручную подобные статьи, что есть на моём сайте, потеряло всякий смысл. Как и делать вручную многие другие вещи. Я за последние пару недель автоматизирую всё, что только в голову приходит. Репы в gitflic растут как на дрожжах. Всё, что откладывал или казалось не очень нужным, решается за пару часов генерации и отладки. Причём для админских дел, в отличии от программерских, много токенов не нужно. У нас контекст задач значительно меньше.
———
ServerAdmin:📱 Telegram | 🌐 Сайт | 📲 MAX 😩
#ai
Делаю простую задачу. Полное её описание скорее всего напишу отдельно. Мне нужно с 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:
#ai
Please open Telegram to view this post
VIEW IN TELEGRAM
👍120👎3
🔥 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
Если вы давно хотели разобраться с 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 через агентов в активном режиме нельзя было выполнять локальные команды на узлах. В общем я этот режим почти не использовал.
Вот как это работает. Добавляем в конфигурацию агента:
Метаданные можно задавать какие угодно для вашего удобства и иерархии. На сервер улетает вся строка, которая может быть распарсена до каждого отдельного слова или фразы.
В веб-интерфейсе Zabbix переходим в Оповещения ⇨ Действия (Alerts ⇨ Actions), выбираем Действия авторегистрации (Autoregistration actions) и Создаём действие (Create action). В нём описываем условия через И и ИЛИ. Например, если os:linux и location:pve-cluster, то навешиваем шаблон Linux by Zabbix agent и добавляем в группы Linux Servers и PVE-cluster. А также шлём уведомление и навешиваем нужные тэги.
Вот и вся настройка. Как только узел с настроенным агентом появится в сети и постучится на сервер мониторинга, ему сразу же определяет его место и метрики. А шаблон, кстати, ему можно добавить с пассивными проверками. То есть для работы авторегистрации не обязательно собирать метрики в активном режиме. Дальше сервер сам может опрашивать агента, если к нему есть доступ.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
———
ServerAdmin:📱 Telegram | 🌐 Сайт | 📲 MAX 😩
#zabbix
Была задача настроить авторегистрацию хостов после установки на них агентов. Мне не так часто приходилось это настраивать, потому что никогда не работал с большими инфраструктурами, где узлы постоянно добавляются или удаляются из системы. Даже если у вас в управлении штук 50 серверов, вряд ли вы будете даже раз в день вводить новый сервер, которому нужен будет мониторинг. Скорее всего это будет раз в неделю или раз в месяц. А может и того реже. Zabbix больше про долгосрочное хранение метрик и тренды. Что-то временное в него заводить не имеет большого смысла. Для этого проще взять что-то другое. Пользовательские компьютеры я тоже никогда не заводил в мониторинг.
Я всегда знал, что в Zabbix Server есть автообнаружение узлов банальным сканированием заданных подсетей. Как только попадается что-то новое, чего ещё нет в системе, добавляем и навешиваем группы и шаблоны в зависимости от настроенных действий автообнаружения. Работает просто и понятно. Главный минус в том, что работает не мгновенно и надо постоянно сканировать сеть в поисках узлов, что создаёт постоянный спам запросами в сети.
Второй инструмент - API. Там есть метод host.create, который активно используется в различных интеграциях с CMDB или в CI/CD. Тоже простой и понятный способ.
Попросив ИИ написать авторегистрацию, думал, что он наваяет что-то через API. Он легко программирует подобные интеграции. Когда агент всё сделал, я посмотрел реализацию. Он всё настроил через авторегистрацию активных агентов. Работает это максимально просто и удобно, мне понравилось. Мимо меня всё это прошло, потому что редко использую агентов в активном режиме, когда они сами шлют запросы на сервер мониторинга для получения инструкций. У меня чаще всего есть сетевая связность между агентами и сервером, поэтому использую пассивный режим агентов, когда их опрашивает сервер. Архитектурно это более простые запросы и обработки, которые меньше нагружают сеть, агентов и сервер. Плюс, до версии 7.0 через агентов в активном режиме нельзя было выполнять локальные команды на узлах. В общем я этот режим почти не использовал.
Вот как это работает. Добавляем в конфигурацию агента:
ServerActive=192.168.137.250HostMetadata=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:
#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. Директория, из которой можно выбрать скрипт для этих событий -
1️⃣ В начало скрипта надо добавить строку:
Без неё в логах будут крякозябры вместо текста ошибок, что сильно усложнит отладку, если что-то пойдёт не так.
2️⃣ Скрипт должен быть обязательно в кодировке UTF-8 with BOM (UTF-8 со спецификацией). С любой другой кодировкой скрипт не отрабатывал в программе, хотя нормально работал из консоли напрямую.
3️⃣ PowerMaster - 32-х битное приложение. Оно не видит стандартный системный путь до ssh.exe. Надо использовать специальный псевдоним
4️⃣ PowerMaster работает от пользователя System. Ключ для SSH надо положить в директорию
На управляемых системах нужно создать пользователя, который будет запускать
Эта простая задача сожрала у меня кучу времени, потому что просто взять и запустить скрипт у меня не получилось. В Apcupsd всё это решалось за 5 минут настройки даже в первый раз. А тут часа 2 колупался, пока все ошибки отладил, учёл нюансы винды и программы.
В итоге подёргал ИБП из розетки, всё корректно отрабатывает. Он, кстати, спокойно тянет 3 обычных системника с БП на 400-500w, не жалуется на перегрузку. Минут 5 с ними работает. С одним - 15-20. Я как раз на него 3 самосбора повесил под тестовый кластер и бэкапы. Плюс ещё 2 машины гасит на втором ИБП. Тот Иппон у меня лет 10 работает, на третьем аккумуляторе уже.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
———
ServerAdmin:📱 Telegram | 🌐 Сайт | 📲 MAX 😩
#железо
Я решил по сигналу с этого Иппона отключать всё, что подключено к нему, и ко второму, который вообще без управления. Теоретически задача выглядела простой, потому что есть ПО от вендора под нужные системы - 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, в который можно добавить свою логику. Мне её написал ИИ. Пришлось серьёзно заморочиться, чтобы всё отладить. Отмечу несколько важных моментов:chcp 65001 >nul 2>&1Без неё в логах будут крякозябры вместо текста ошибок, что сильно усложнит отладку, если что-то пойдёт не так.
C:\Windows\Sysnative\OpenSSH\ssh.exe.C:\Windows\System32\config\systemprofile\.ssh\, назначить пользователя владельцем и удалить все остальные права.На управляемых системах нужно создать пользователя, который будет запускать
shutdown.Эта простая задача сожрала у меня кучу времени, потому что просто взять и запустить скрипт у меня не получилось. В Apcupsd всё это решалось за 5 минут настройки даже в первый раз. А тут часа 2 колупался, пока все ошибки отладил, учёл нюансы винды и программы.
В итоге подёргал ИБП из розетки, всё корректно отрабатывает. Он, кстати, спокойно тянет 3 обычных системника с БП на 400-500w, не жалуется на перегрузку. Минут 5 с ними работает. С одним - 15-20. Я как раз на него 3 самосбора повесил под тестовый кластер и бэкапы. Плюс ещё 2 машины гасит на втором ИБП. Тот Иппон у меня лет 10 работает, на третьем аккумуляторе уже.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
———
ServerAdmin:
#железо
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
Руководитель направления облачной безопасности Алексей Федулаев расскажет:
- Какие есть подводные камни при переходе с ручных сканов
- Как покрыть тепловыми картами кластеры и отслеживать нарушения
- Как находить аномалии в поведении пользователей
- И наконец, как это всё подружить с центром безопасности
Вебинар будет полезен директорам по ИТ и ИБ, ИБ-специалистам и инженерам, работающим в облачных средах.
Регистрируйтесь, подключайтесь к прямому эфиру и задавайте вопросы в чате.
📆 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
#юмор
Скачал на всякий случай и сохранил сюда, чтобы не потерялись. Юмор на любителя, но задумано и снято, как ни крути, необычно и местами интересно 🥹. Кто не смотрел - гляньте хотя бы одним глазком.
На Youtube ролики в качестве 4К. Я не смог их скачать в таком качестве, не разобрался. Получилось только 720p. Если кто-то умеет скачивать качество выше, скиньте, пожалуйста, в личку ролики, я перезалью.
#юмор
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
На практическом вебинаре Selectel разберет архитектуру геораспределенного облака и покажет, как построить такую ИТ-инфраструктуру, которая продолжит работать даже при отказе целого дата-центра.
📅 20 мая, 12:00
📍 Онлайн
👥 Для DevOps-инженеров, системных администраторов, Cloud-архитекторов и технических руководителей
👉 Смотрите полную программу и регистрируйтесь: https://slc.tl/cnt76
Чтобы не пропустить вебинар и узнавать о других событиях и бесплатных курсах Selectel, подписывайтесь на @selectel_events
Реклама. АО "Селектел". erid:2W5zFHuTtss
👍9👎4
Расскажу про один старый неочевидный трюк в терминале. Он не особо часто нужен, но у меня были ситуации, когда прям очень сильно пригодился бы. Бывает запустишь какой-то процесс в терминале (сборку, перенос кучи мелких файлов, проверка размера огромной директории, дамп большой и медленной базы), не подумав о том, что он может затянуться. И начинаешь переживать за сохранность сессии SSH. Если разорвётся, то процесс остановится. Надо было сразу либо в screen, либо в tmux запускать, но уже поздно. Надо либо ждать и надеяться, либо прерывать и перезапускать.
А на самом деле это вопрос решаемый. Есть небольшая утилита reptyr, которая может без остановки перенести процесс в новую сессию. Причём она в этой сессии продолжит свой вывод в терминал. Утилита живёт в стандартных репах, так что не нужно ничего со стороны скачивать:
Нагляднее и проще всего показать работу reptyr на примере top или htop. Запускаем в обычной консоли top.
Отправляем процесс в фон и там запускаем:
Проверяем, как процесс работает в фоне:
Увидели заодно его pid - 7972. Отвязываем процесс от текущей сессии:
Теперь запускаем новую сессию сразу же с tmux. Заходим в неё и там запускаем:
Открыли в новой сессии с tmux всё тот же процесс top.
Вспомнил про эту тему, когда начал работать с opencode. По какой-то причине у меня периодически отлетает сессия с запущенным агентом, работающая в VPS в локалке. Со связью проблем нет. Не знаю, в чём причина. Первое время забывал его запускать в tmux и терял в какой-то момент диалог. Сейчас уже приучил себя запускать длинные сессии в tmux.
К сожалению, reptyr по какой-то причине сессию с opencode не может восстановить. Отправляю в background, отцепляю от сессии, запускаю в новой через reptyr, но всё виснет. Интерфейс opencode не появляется. Там навороченная и активная псевдографика. Наверное в этом дело. Хотя тот же mc без проблем из сессии в сессию переходит.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
———
ServerAdmin:📱 Telegram | 🌐 Сайт | 📲 MAX 😩
#bash #terminal
А на самом деле это вопрос решаемый. Есть небольшая утилита 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:
#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
Существует современная и функциональная замена старичка Fail2Ban - CrowdSec. Я её давно знаю, использовал ещё лет 5-6 назад. Писал статью по ней в своё время. С тех пор много воды утекло. Решил посмотреть, что она из себя представляет сейчас. Дабы не обмануться и не перепроверять информацию, ИИ вообще не использовал. Просто открыл документацию и настроил базовые вещи. Сразу скажу, что система в текущем её бесплатном исполнении мне понравилась своими возможностями. Если уж сейчас и настраивать, то именно её, а не Fail2Ban.
Принцип настройки CrowdSec условно можно назвать похожим на Fail2Ban, но архитектурно она отличается. В CrowdSec тоже есть источники логов, правила обработки, настройки действий. Но всё это очень сильно развито по сравнению с единственным скриптом на python в Fail2Ban. CrowdSec состоит из отдельных компонентов, которые взаимодействуют между собой по API.
Я присмотрел для себя следующую схему работы CrowdSec, которая опирается на общее хранилище логов Loki, которое я недавно разбирал:
◽️Основной движок CrowdSec устанавливается в отдельную VM или контейнер. Он ходит в общее хранилище Loki за логами.
◽️На пограничный шлюз, который занимается фильтрацией трафика, ставится crowdsec-firewall-bouncer-iptables, или другой в зависимости от используемого файрвола.
◽️Для реализации функциональности WAF на веб сервер или прокси в зависимости от его типа устанавливается соответствующий bouncer. Например, crowdsec-nginx-bouncer для Nginx.
◽️Все необходимые логи стекаются в Loki.
В CrowdSec устанавливаются необходимые парсеры и наборы с описанием уязвимостей. И всё это вместе работает в единой связке. Для базовых задач берутся готовые парсеры и наборы правил. Самому можно не заниматься дополнительной настройкой. Достаточно будет вручную только источники логов подключить. Остальное будет взято из готовых настроек.
Сразу скажу, что система непростая. Я некоторое время потратил, чтобы разобраться, вникнуть в суть и развернуть на одиночном сервере, проверить работу. То, что я описал, будет работать в бесплатной версии, никаких подписок не надо. Готовые списки адресов брать не будем, свои тоже никуда не отправляем.
У CrowdSec раньше была бесплатная веб панель для управления и мониторинга, но они её убрали. Предлагают бесплатно зарегистрироваться в облачной панели, использовать её, но за это они будут забирать вашу аналитику для насыщения своих списков, которые она продают по подписке за приличные деньги. В целом, всё честно и прозрачно. Я в веб панели не регистрировался, запустил всё локально. Покажу кратко, что сделал.
1️⃣ Установил CrowdSec и firewall-bouncer для iptables:
Первая команда-скрипт подключает репозиторий. Это можно сделать вручную. По умолчанию прилетели настройки для анализа системных syslog файлов и journalctl логов от ssh.service, конфигурация firewall-bouncer для блокировки IP, парсеры ssh логов.
Система полностью автоматически настроена для блокировки как минимум нежелательной активности по SSH. Для системных логов надо отдельно правила с уязвимостями загружать.
2️⃣ Сходил на другой сервер и 5 раз ввёл неверный пароль по SSH. Получил бан. Проверил его так:
Появилось новое правило для crowdsec, где используется список ipset для всех заблокированных адресов. Посмотрел список алертов:
Увидел там своё событие, посмотрел его подробности:
3️⃣ Проверил список установленных наборов с правилами, по которым делаем проверки:
Дополнительные ставим так:
Смотрю все основные метрики службы:
В принципе, этой базы достаточно для того, чтобы начать локально пользоваться системой. Мне она понравилась, буду изучать дальше.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
———
ServerAdmin:📱 Telegram | 🌐 Сайт | 📲 MAX 😩
#crowdsec #security #waf
Принцип настройки CrowdSec условно можно назвать похожим на Fail2Ban, но архитектурно она отличается. В CrowdSec тоже есть источники логов, правила обработки, настройки действий. Но всё это очень сильно развито по сравнению с единственным скриптом на python в Fail2Ban. CrowdSec состоит из отдельных компонентов, которые взаимодействуют между собой по API.
Я присмотрел для себя следующую схему работы CrowdSec, которая опирается на общее хранилище логов Loki, которое я недавно разбирал:
◽️Основной движок CrowdSec устанавливается в отдельную VM или контейнер. Он ходит в общее хранилище Loki за логами.
◽️На пограничный шлюз, который занимается фильтрацией трафика, ставится crowdsec-firewall-bouncer-iptables, или другой в зависимости от используемого файрвола.
◽️Для реализации функциональности WAF на веб сервер или прокси в зависимости от его типа устанавливается соответствующий bouncer. Например, crowdsec-nginx-bouncer для Nginx.
◽️Все необходимые логи стекаются в Loki.
В CrowdSec устанавливаются необходимые парсеры и наборы с описанием уязвимостей. И всё это вместе работает в единой связке. Для базовых задач берутся готовые парсеры и наборы правил. Самому можно не заниматься дополнительной настройкой. Достаточно будет вручную только источники логов подключить. Остальное будет взято из готовых настроек.
Сразу скажу, что система непростая. Я некоторое время потратил, чтобы разобраться, вникнуть в суть и развернуть на одиночном сервере, проверить работу. То, что я описал, будет работать в бесплатной версии, никаких подписок не надо. Готовые списки адресов брать не будем, свои тоже никуда не отправляем.
У CrowdSec раньше была бесплатная веб панель для управления и мониторинга, но они её убрали. Предлагают бесплатно зарегистрироваться в облачной панели, использовать её, но за это они будут забирать вашу аналитику для насыщения своих списков, которые она продают по подписке за приличные деньги. В целом, всё честно и прозрачно. Я в веб панели не регистрировался, запустил всё локально. Покажу кратко, что сделал.
# curl -s https://install.crowdsec.net | sudo sh # apt install crowdsec# sudo apt install crowdsec-firewall-bouncer-iptablesПервая команда-скрипт подключает репозиторий. Это можно сделать вручную. По умолчанию прилетели настройки для анализа системных syslog файлов и journalctl логов от ssh.service, конфигурация firewall-bouncer для блокировки IP, парсеры ssh логов.
Система полностью автоматически настроена для блокировки как минимум нежелательной активности по SSH. Для системных логов надо отдельно правила с уязвимостями загружать.
# iptables -L -v -n | grep crowdsecПоявилось новое правило для crowdsec, где используется список ipset для всех заблокированных адресов. Посмотрел список алертов:
# cscli alerts listУвидел там своё событие, посмотрел его подробности:
# cscli alerts inspect -d 2# cscli collections listДополнительные ставим так:
# cscli collections install crowdsecurity/nginxСмотрю все основные метрики службы:
# cscli metricsВ принципе, этой базы достаточно для того, чтобы начать локально пользоваться системой. Мне она понравилась, буду изучать дальше.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
———
ServerAdmin:
#crowdsec #security #waf
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍100👎5