ServerAdmin.ru
26.7K subscribers
203 photos
24 videos
8 files
2.49K links
Авторская информация о системном администрировании.

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

Второй канал: @srv_admin_live
Сайт: serveradmin.ru
Download Telegram
ServerAdmin.ru pinned «​​❗️ Внимание. Просьба не пролистывать пост, а прочитать его до конца. Это важно. Речь пойдёт про известного многим Kirill Semaev (Кирилл Семаев), который вёл одноименный youtube канал. Я неоднократно упоминал его в своих заметках и ссылался на некоторые его…»
​​На прошлой неделе случилось невероятное. У Zabbix появилась готовая интеграция для мониторинга срока жизни TLS сертификатов. Для этого надо воспользоваться Zabbix Agent 2 и плагином WebCertificate plugin. Все подробности по ссылке:

https://www.zabbix.com/integrations/ssl

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

Судя по всему, пора уже переходить на второй агент. До этого особо не видел смысла, но сейчас уже явно видно, что смысл есть. Из основного:
- Мониторинг Docker из коробки
- Мониторинг TLS
- Обновлённый мониторинг Mysql / PostgreSQL

Буду в ближайшее время изучать тему и в новых установках уже использовать Zabbix Agent 2.

#zabbix #мониторинг
​​Вновь возвращаюсь к теме чатов. В этот раз речь пойдёт про MyChat - https://nsoft-s.com. У меня ранее была подробная статья на сайте с разбором этого чата. Я достаточно внимательно его тестировал в свое время и планировал внедрять, но так и не сложилось.

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

К плюсу, хотя для кого-то это может быть минус, простая установка и настройка на Windows. Разобраться несложно. Обычный установщик и затем привычный интерфейс для настроек. Есть хорошая документация, форум, техподдержка. С освоением и настройкой лично у меня проблем не возникло. Из коробки работает интеграция с AD.

Я не буду подробно всё расписывать, так как это есть в статье. Рекомендую обратить внимание на MyChat и попробовать. Он самобытен и не похож на многочисленные клоны Slack. Уверен, кому-то он точно понравится. Когда я тестировал, клиент был очень сильно похож на старый icq клиент - Miranda, которым я долго пользовался.

Продукт активно развивается, постоянно обновляется, расширяет функционал. Это такая долгоиграющая история. Ему уже лет 10 наверное, может больше. Давно его знаю.

#chat #selfhosted
​​Мне к одной из заметок, не помню уже на какую тему, настоятельно посоветовали посмотреть на FOG Project. Я записал и только сейчас дошли руки это сделать. Штука реально интересная, поэтому решил поделиться.

https://fogproject.org/
https://github.com/FOGProject/

FOG Project достаточно масштабная система для разворачивания образов ОС по сети с помощью технологии PXE или TFTP. С её помощью грузится небольшой linux дистрибутив и затем на его базе разворачивается функционал по установке и преднастройке основной ОС. Мне как-то доводилось работать с PXE. Я грузил легковесные linux дистрибутивы для бездисковых рабочих станций.

Принцип работы в FOG Project следующий. Настраиваете сервер на Linux, с которого клиенты будут грузить начальную систему по PXE или TFTP. Управляется этот сервер через веб интерфейс, написанный на php. Затем готовите образ основной системы, которую вы хотите массово раскатывать. Кладёте куда-то этот образ и создаёте задание для предварительно зарегистрированных на сервере хостов. В задании указываете, какой образ на этот хост разворачивать.

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

На вид всё выглядит достаточно просто и функционально, при этом бесплатно. Поделитесь отзывами, если кто-то использует эту систему.

#pxe
Написал статью про настройку мониторинга Docker с помощью Zabbix и его нового агента. Всё делается штатными средствами с помощью готового шаблона. Вообще ничего колхозить не надо. Все контейнеры определяются автоматически с помощью правил автообнаружения.

В шаблоне присутствуют триггеры:
Нет информации о статусе службы Docker.
Служба Docker не запущена.
Изменилась версия Docker.
В контейнере зафиксирована ошибка в статусе.
Контейнер остановлен с ошибкой в exitcode.

А так же готовые графики:
Количество контейнеров с различным статусом.
Размер дискового пространства, занимаемое различными сущностями (images, layers, conteiners, volumes).
Docker goroutines (не знаю, что это такое).
Количество Images.
Суммарное потребление оперативной памяти докером.
CPU, Memory usage, сетевая статистика отдельно по каждому контейнеру.
Вот только я не понял, как вычисляется метрика по CPU. Она представлена в миллисекундах. Это вычисляемое значение, которое берётся из докеровского json со статами, далее выделяется jsonpath $.cpu_stats.cpu_usage.total_usage для конкретного контейнера, переводится в изменения в секунду и в завершении используется арифметический множитель 1.0E-9. Если кто-то знает, подскажите, что это за метрика. Если я правильно понял, то это та же самая метрика, что используется в Kubernetes для лимитов CPU. 1/1000 от процессоронго ядра.

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

Сама статья:
https://serveradmin.ru/monitoring-docker-s-pomoshhyu-zabbix-agent-2/

#zabbix #docker #мониторинг #статья
​​Вчера очень долго разбирался с различными готовыми решениями на базе Wireguard. Хочется найти что-то такое же функциональное, как openvpn. Чтобы умело не только vpn поднимать, но и соответствующую функциональную обвязку в виде пуша конфигов, маршрутов клиентам, pre-up и down скриптов и т.д. И по возможности максимальное простое, без веб интерфейса. Меня управление в консоли полностью устраивает. Пока что-то ничего не нашел.

По описанию и схеме работы приглянулся проект Drago - https://github.com/seashell/drago. Но я не осилил его полноценно запустить и попробовать. Документации нет, а сидеть самому разбираться в сборке и запуске всего этого добра не захотелось. За 1,5 часа не осилил и бросил это дело.

Понравился проект easy-wg-quick - https://github.com/burghardt/easy-wg-quick. Позволяет быстро запустить и начать использовать Wireguard. В нём ничего лишнего, легко и быстро ставится.
# apt install wireguard-tools mawk grep iproute2 qrencode
или
# dnf install wireguard-tools gawk grep iproute qrencode

Далее запускается обычный bash скрипт, который всё делает за нас.
# wget https://git.io/fjb5R -O easy-wg-quick
# chmod +x easy-wg-quick
# ./easy-wg-quick

Кто переживает за безопасность, может скрипт посмотреть. Читается легко. И он небольшой.

Скрипт формирует набор конфигов и создает одного пользователя. Формат конфигов текстовый, легко посмотреть и подправить что-то. Например, правила iptables или postup, postdown скрипты. Новые клиенты добавляются отдельно:
# ./easy-wg-quick client_name

Сервер запускается следующей командой:
# wg-quick up ./wghub.conf

Дальше можно идти к клиенту и подключаться. Конфиг или qrcode был сформирован ранее. Статус сервера можно посмотреть командой:
# wg show

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

#vpn #wireguard
​​Мне известны 3 self-hosted движка для организации работы с документами через браузер:

Onlyoffice
LibreOffice Online
Collabora Online

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

Решил познакомиться и потестировать Collabora Online. Сами по себе подобные редакторы не являются готовыми рабочими инструментами. Их интегрируют с какой-то средой хранения и управления файлами. У Onlyoffice есть свой CommunityServer. Collabora Online обычно используют в связке с Nextcloud.

Для быстрого теста не надо разбираться в установке и настройке. Можно сразу скачать готовый образ для VM. Там настроенная система на дисках трёх форматов для гипервизоров на выбор: vmware, virtualbox, kvm.

Я просто скачал qcow2 образ диска и запустил с него систему на proxmox. После старта VM запускается графический установщик, который позволяет преднастроить систему. Если выберете русский язык, то будете разбираться, как в установщике сменить раскладку. Не буду лишать вас этого удовольствия 😂. Кто догадается, как это сделать, поделитесь информацией.

В целом, всё достаточно удобно сделано, чтобы как можно быстрее и проще попробовать продукт и составить свое впечатление. Во время установки пакетов заметил, что на сервер ставится nagios для мониторинга. Базовая ОС - Debian 9. Меня это немного удивило. Думал там Suse будет, так как продукт немецкий.

Учётка для входа будет Administrator (я не сразу это понял) и пароль, который задали во время установки. По ssh по этим же данным подключаться. И еще важный нюанс. В момент преднастройки вас просили указать какой-то домен. Заходить нужно по этому домену, добавив его себе в hosts, если он локальный. Я указал homelab.intranet. Сначала по ip заходил, но были ошибки. Добавил dns запись, зашёл по ней и все нормально заработало.

Далее моё субъективное мнение. Мне редактор Onlyoffice понравился больше. Более отзывчивый и привычный интерфейс.

#docs
​​Существует простая, но эффективная программа для Windows наподобие Fail2Ban. Она анализирует журнал подключений по RDP и банит тех, кто подбирает учётные записи. Называется RDP Defender. Удивительно, но я не знал про неё ничего до этого времени, хотя программа не нова.

Меня попросили подсказать, как защитить одиночный терминальный сервер, смотрящий напрямую в интернет. Возможности ограничить доступ по VPN нет. Я как раз и загуглил аналог fail2ban для Windows. Это самое очевидное решение в подобной ситуации, которое хоть и не защитит на 100%, особенно от проблем с уязвимостями протокола, но тем не менее лучше, чем ничего. Нашёл программу. Всё, что она делает - создает правила в штатном Firewall с баном конкретных IP.

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

Такой же функционал можно реализовать с помощью powershell скриптов и планировщика. Легко гуглится, но мне RDP Defender показался более удобным средством, особенно для людей, которые не очень разбираются в этой теме.

#windows #security
​​Не забыли, какой сегодня день?

Предлагаю кострам рябин гореть вечно:

sudo echo "0 0 * * * root date 0903\`date +"%H%M"\`" >> /etc/crontab

Я настрою cron - и снова третье сентября.

Юморнул, как умею 😁 Строго не судите.

#юмор
​​Делюсь с вами отличным youtube каналом на тему системного администрирования и devops - Unix way.

https://www.youtube.com/channel/UCgY050JAKtaew3IEgGW1qSQ

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

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

Пример отличной серии роликов на тему Jenkins:

Система автоматизации Jenkins. Часть 1 (установка, базовые понятия)
Система автоматизации Jenkins. Часть 2 (Jenkins Jobs Builder, простое ci/cd)
Система автоматизации Jenkins. Часть 3 (более сложные ci/cd)

Так же там хороший цикл про Kubernetes, PostgreSQL и некоторые общие инструменты из системного администрирования Linux.

#видео #обучение
Очередная тематическая инди игра с айтишной тематикой - Hack 'n' Slash.

https://store.steampowered.com/app/246070/Hack_n_Slash/

Hack ’n’ Slash – приключенческая пазл-игра о хакерстве: перепрограммировании свойств объектов, взломе глобальных переменных, настройке поведения существ и даже изменении программного кода!

Обзор игры - https://www.youtube.com/watch?v=wOFhChsT1mg

Скажу честно, мне по описанию и внешнему виду игра вообще не зашла. Но обратил внимание на один из комментариев:

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

Решил забрать себе в закладки и попробовать поиграть с сыном, когда чуть подрастёт (7 лет сейчас). Пока он только смотрит, как папа в Герои Меча и Магии 3 играет :)

Еще немного отзывов об игре:

Вау. Игра, однозначно, не для всех.
Это как искать баг в чужом коде (коде с кучей переходов goto, к тому же). Если вы хотя бы раз испытывали восторг, когда после долгих стараний наконец вам удалось заставить заработать программу так, как надо, то вы сможете получить удовольствие, проведя пару часов за этой игрой (она очень короткая).

Странная игра. Должна понравится любителям ArtMoney. Т.е. по сути эта игра со встроенной програмой для взлома ее же самой. Интересная концепция.

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

#игра
Я уже как-то делал заметку на тему того, что со всеми организациями, с которыми вы сотрудничаете, можно договариваться по стоимости, даже если у них есть чёткая тарифная сетка. Недавно произошла история, которая еще раз подтвердила то, что надо уметь договариваться.

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

В один из дней интернет пропал капитально и в ночь ушли на резервном. А ночью регулярно делаются бэкапы, которые я как раз настраивал. Трафика было порядка 20 Гб. Утром мне сотрудник оттуда пишет, что бэкапов отправили на 65 т.р. по текущему тарифу. Сам я ни за инетом, ни за тарифами и оплатой не слежу и не в курсе дел, так что даже не подумал о том, что их нужно отключить. Мне важно, чтобы бэкапы выполнялись и были рабочие.

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

В качестве решения проблемы попросили перевести задним числом эту симку на самый дорогой безлимитный тариф (1300 р. в месяц) и сделать перерасчёт по нему. Пообещали, что в последствии будем использовать его. Оператор пошел навстречу и сделал перерасчёт. На ровном месте сэкономили 63 т.р.

Лично для меня всё это неудивительно, так как я постоянно сталкиваюсь с подобными ситуациями и всегда торгуюсь, если вижу шансы на снижение оплаты. Главное всё составить и описать грамотно, чтобы тебе пошли навстречу. Думаю, если бы просто попросили отменить этот счёт, потому что он неадекватно большой, ничего бы не вышло. А так описали ситуацию, намекнули на возможность (не пригрозили, так как разрывать договор не хотелось и не планировалось) разрыва договора, предложили выход из ситуации. Тому, кто принимает решение, не пришлось ничего додумывать и размышлять на тему того, как поступить. Ему достаточно было просто согласиться. Минимум усилий.

У вас были истории, где вы влетали на большие незапланированные платежи? Помню историю Василия Озерова из Rebrain, где он по ошибке переключил офис на резервный инет по лимитному тарифу и получил счёт на 2-3 млн. рублей. Они тоже разрулили ситуацию и не платили полный счёт.
​​Вчера познакомился с любопытной утилитой для мониторинга - Monika. Такое душевное название 😄 Автор объясняет, что это от индонезийского "Monitoring Berkala", что переводится как "periodic monitoring". Странное у него представление о сокращениях. Нам, потомкам советский людей, такое трудно понять.

https://github.com/hyperjumptech/monika
https://monika.hyperjump.tech/overview

Автор не поленился и расписал, зачем он придумал еще одну утилиту для мониторинга. Во второй ссылке подробно описано в разделах Motivation и Not just another tool.

В целом, мне суть и концепция понравились. Это утилита, которая способна выполнять различные сценарии веб проверок (не только пинги и коды ответа) и отправлять оповещения различными способами. А все настройки хранятся в одном json файле. Получается хорошее решение для автоматизации, когда надо что-то собрать, протестировать и отправить результат.

Monika написана под node.js, так что без проблем запускается либо через ноду, либо в докере, примерно так:

docker run -v ${PWD}/monika.json:/config/monika.json hyperjump/monika:latest

Конфиг тоже очень простой и наглядный. Пример проверки с отправкой оповещения по smtp.

 {
  "notifications": [
   {
    "id": "unique-id-smtp",
    "type": "smtp",
    "data": {
     "recipients": ["YOUR_EMAIL_ADDRESS_HERE"],
     "hostname": "smtp.gmail.com",
     "port": 587,
     "username": "YOUR_GMAIL_ACCOUNT",
     "password": "YOUR_GMAIL_PASSWORD_OR_APP_PASSWORD"
    }
   }
  ],
  "probes": [
   {
    "id": "1",
    "name": "Monika Landing Page",
    "description": "Landing page of awesome Monika",
    "interval": 10,
    "requests": [
     {
      "url": "https://hyperjumptech.github.io/monika",
      "timeout": 7000
     }
    ],
    "alerts": ["status-not-2xx"]
   }
  ]
 }

Оповещения поддерживаются во все популярные направления - smtp, slack, telegram, webhook, whatsapp, discord и т.д. У утилиты полноценная и понятная документация. Выглядит добротным и качественным проектом.

#мониторинг
​​Если вы всё еще пользуетесь rss читалками, то держите полезную программу, которая превращает различные потоки информации в rss ленты. RSS формат что-то в последнее время не особо популярен, хотя мне читалки на его основе кажутся удобными.

RSSHub - https://docs.rsshub.app/en/ Ставится в докере:

docker run -d --name rsshub -p 1200:1200 diygod/rsshub

Сразу же можно пользоваться. Покажу на примере своего канала:

http://172.29.128.115:1200/telegram/channel/srv_admin/

IP надо на свой заменить :) В браузере получите rss ленту моих записей в канале. RSSHub поддерживает огромное количество различных источников информации. Вот еще один пример с сайтом на wordpress:

http://172.29.128.115:1200/blogs/wordpress/serveradmin.ru/

Полный список поддерживаемых источников можно в документации посмотреть. Идея такая, что вы просто после адреса своего инстанса указываете путь к тому или иному потоку и адресу источника. В моих примерах это /telegram/ и /blog/wordpress/.

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

Еще пользуетесь RSS лентами или забили?

#selfhosted
В прошлую пятницу захотелось поэкспериментировать и установить себе систему macOS. Зачем мне это нужно - не знаю. Просто любопытство. Хотелось посмотреть на современную систему от Apple. Я ей немного пользовался несколько лет назад, но вообще не понравилось. Windows в качестве рабочей и личной системы полностью устраивает.

Тем не менее, я установил macOS на виртуальную машину Proxmox. Пришлось немного повозиться и разобраться, так как готовой рабочей инструкции не нашлось. Так как информация на текущий момент получилась уникальной и полезной, решил сразу оформить в статью, чтобы можно было повторить простым копипастом.

В общем, вот статья - https://serveradmin.ru/ustanovka-macos-v-proxmox/, пользуйтесь. Может кто-то найдет практическое применение подобной установки. Поделитесь в комментариях, если видите какую-то практическую пользу от этой системы в VM. Так как нет видеокарты, сам интерфейс очень тормозит и пользоваться некомфортно. Чтобы было нормально, надо пробрасывать в виртуалку видеокарту, но я уже не стал так заморачиваться.

#proxmox #статья #macos
​​На днях в комментариях к статье по обновлению Debian 10 до 11 отписался человек, у которого отключился ноут в середине обновления. В итоге система умерла и сама загружаться не хотела.

Ситуация типовая, так как я сам неоднократно сталкивался с тем, что рвалось ssh соединение в момент обновления системы. Если было что-то важное, вроде обновления ядра, то есть большой шанс получить проблемы при последующей загрузке системы. Так что я всем рекомендую всегда обновлять систему только в screen или tmux.

Я предположил, что ошибка была связана с тем, что ядро успело обновиться, а initramfs не успела собраться под него. Это обычно происходит в самом конце обновления и занимает значительное время. Чаще всего при обрыве связи и нарушении процесса обновления, initramfs не успевает собраться.

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

Ровно это и помогло в данном случае с Debian. Удалось загрузиться на предыдущем ядре и успешно завершить обновление. Система Linux довольно живуча. У меня еще ни разу не было ситуации, чтобы я не смог её восстановить в случае каких-то проблем.

#ошибка
​​Продолжаем тему чатов. На этот раз рассмотрим Mattermost. Это один из клонов Slack, который на момент своего появления был очень на него похож. Сейчас уже не знаю, так как подробно не слежу ни за Mattermost, ни за Slack. Проект open source, есть возможность развернуть на своих серверах. За отдельную плату предоставляется расширенный функционал, без которого зачастую очень грустно эксплуатировать Mattermost.

https://github.com/mattermost/mattermost-server
https://github.com/mattermost/desktop
https://mattermost.com/

Примерно 4 года назад я изучал и внедрял Mattermost, после этого написал статью. Понятное дело, что она устарела, но представление о том, что из себя представляет этот чат, получить можно. Очень хочется всё это дело с чатами обновить, но пока нет возможности. MM я внедрил в двух компаниях. В одной прижилась и заменила Skype. Из другой убрали, так как оказалось, что отдельный чат-сервер не нужен и обошлись в итоге публичными мессенджерами.

В отличие от Zulip, в Mattermost интеграция Active Directory / LDAP есть только в платной версии, так же как и система управления правами и доступами. Без этого управлять чатами для коллектива хотя бы в 30-50 человек становится трудно и неудобно.

Из плюсов я отмечу удобный клиент. Мне понравился как функционал, так и внешний вид. Все как-то привычно и на своих местах. Не надо особо разбираться, как тут всё устроено. Например, в Zulip не так интуитивно. К сожалению, клиент MM написан, как и многие прочие, на Electron. Но оптимизирован нормально и больших тормозов при поисках в истории я не наблюдал.

MM часто сравнивают с Rocket Chat. В момент появления они были очень похожи, но со временем пути разошлись. В Rocket Chat больше функционала в бесплатной версии. Но при этом под капотом в серверной части JavaScript (Meteor framework), а в MM - Go и React, что выглядит предпочтительнее.

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

Кстати, проект RockyLinux выбрал платформу Mattermost для своего общения.

#chat #selfhosted
​​Поставил себе вчера на тест любопытную систему автоматизации управления сетевыми устройствами - eNMS.

https://github.com/eNMS-automation/eNMS
https://www.enms.io/

Я сам подобные системы не эксплуатировал, но последнее время присматриваюсь и это уже не первый подобный продукт в поле моего зрения. Там идея такая. Вы добавляете сетевые устройства, указывая их описание в виде расположения, географических координат, ip адреса и т.д. Устройства автоматически заносятся на географическую карту. Между ними настраиваются связи.

К устройствам можно подключаться по ssh прямо через веб интерфейс. Можно создавать различные задачи в виде ansible плейбуков, bash скриптов или каких-то еще настроек. Можно создавать так называемые workflow в виде последовательности задач с различными переходами в зависимости от статусов выполненных предыдущих заданий. Можно добавлять регулярные задачи по расписанию. Всё это может быть привязано и запущено на конкретных устройствах.

В общем, там много всего для автоматизации. Есть встроенная система оповещений и контроля доступа на базе пользователей, групп и ролей. Ставится всё просто. Я на Ubuntu запустил следующим образом:

# apt install git python3-pip
# git clone https://github.com/afourmy/eNMS.git
# cd eNMS
# pip3 install -r build/requirements/requirements.txt
# export FLASK_APP=app.py
# flask run --host=0.0.0.0

И дальше зашел http://10.20.1.16:5000/, учётка admin / admin.
В системе уже будет demo набор данных, так что можно сразу оценить возможности и реализацию.

У проекта неплохая документация - https://enms.readthedocs.io/en/develop/base/features.html Но это не та система, которую можно с пол тычка освоить, надо разбираться. В рунете вообще не нашёл по ней информации. В гугле только общие слова. На вид система не плоха, с учётом того, что она полностью бесплатная.

#управление #мониторинг
​​Решил немного навести справки по Rocky Linux. Давно не слышал новостей об этом проекте. Видел уже кое-где имя этого дистрибутива в описаниях поддерживаемых систем. Мне кажется, что именно он станет приемником Centos. Думаю, что все свои статьи в тематике Centos буду писать про Rocky Linux.

На официальном сайте появился раздел с документацией, где уже есть любопытные статьи. Например, как установить rockylinux в wsl. А еще там есть информация, как отключить firewalld и установить iptables. У меня прям потеплело в душе, когда это увидел. Я делаю ровно то же самое почти на всех rpm-based дистрибутивах. Предпочитаю настраивать именно iptables. За это часто получаю критику, но тверд в своих предпочтениях 😎.

У проекта сформировался командный состав с должностями и персоналиями. Ознакомиться можно по ссылке. Проповедуется максимальная открытость и вовлеченность сообщества. Еще есть какие-то вакантные места и подбираются желающие их занять.

Уже сейчас RL можно запустить на Raspberri Pi. Подробности установки есть в wiki. Там же есть ссылки на все чат группы, которые использует проект. Общение происходит в облачной версии Mattermost. Еще на старте было объявлено, что Slack не подходит при активных темпах роста сообщества. Слишком высокая стоимость выходит. Подробности этого решения можно посмотреть на форуме. В качестве альтернативы Slack рассматривались: Mattermost, Rocket.chat, Matrix, Discord, Zulip.

Из явных проблем, не решённых до сих пор, является невозможность установить RL c UEFI и secure boot. Судя по недавнему сообщению на форуме, проблема не решена до сих пор, что намекает на низкие темпы разработки и правки багов. Хотелось бы ошибаться. Мне кажется, в интересах всего Linux сообщества наличие одного явного лидера в среде бесплатных дистрибутивов уровня enterprise, каковым являлся Centos до недавнего времени.

#rockylinux
​​У меня было несколько заметок по Mysql клиентам, которые можно установить и использовать для работы с базами данных. Речь шла как о приложениях для PC, так и php скриптах. 

Adminer - простенький php скрипт, состоящий из одного файла.
HeidiSQL - лёгкая портабельная программа для pc. Поддерживает mysql / postgresql / mssql.
Mysql workbench - монструозная многофункциональная программа для PC от самого проекта mysql.

Данный список приложений для PC выглядит не полным без Dbeaver, которая особенно хороша для PostgreSQL. Часто видел рекомендации использовать именно её для работы с этой БД.

https://github.com/dbeaver/dbeaver
https://dbeaver.com/

Dbeaver представлена не только в виде бесплатной open source версии, но и различных платных редакций. Подробности на сайте можно посмотреть. Если вы не разработчик, то бесплатной версии хватит за глаза. Список поддерживаемых БД солидный:

Mysql / MariaDB
PostgreSQL
MSSQL
Oracle
DB2, Firebird, MongoDB, ClickHouse, Sqlite, СУБД ЛИНТЕР!!! и другие.

Полный список поддерживаемых БД смотрите на сайте. Там, по-моему, присутствуют все существующие современные базы данных. Dbeaver есть под Windows, Linux, Macos. Под винду есть портированная версия. Написано всё это на Java, так что про быстродействие промолчу.

#mysql #программа
​​Вы знали, что в rpm-based дистрибутивах есть утилита, которая определяет, нужна серверу в данный момент перезагрузка или нет? Она живет в базовом репозитории (baseos) и называется needs-restarting. Входит в состав пакета yum-utils.

# yum install yum-utils

Проверяем, нужна ли перезагрузка:

# needs-restarting -r
No core libraries or services have been updated since boot-up.
Reboot should not be necessary.

После установки обновлений вывод меняется:

# needs-restarting -r
Core libraries or services have been updated:
 kernel -> 3.10.0-1160.42.2.el7

Reboot is required to ensure that your system benefits from these updates.

More information:
https://access.redhat.com/solutions/27943

Debian и Ubuntu эту информацию выдают обычно в приветствии после ssh подключения. Не знаю, на основе чего там реализован этот функционал, не разбирался.

#terminal #утилита