Вчера решил обновить один из серверов Zabbix до свежей версии 7.4. Выбор пал на сервер версии 7.0, установленный на Oracle Linux Server 8.10. Остался с давних времён. Работает нормально, обновляется, так что я особо не тревожу его.
Обновление прошло предсказуемо, но не могу сказать, что очень просто. Конкретно я все вопросы быстро порешал, но затруднения возникли.
1️⃣ Изменился путь для веб интерфейса. Вместо
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
Обновление прошло предсказуемо, но не могу сказать, что очень просто. Конкретно я все вопросы быстро порешал, но затруднения возникли.
/usr/share/zabbix он теперь /usr/share/zabbix/ui. Надо поменять в настройках виртуального хоста. Если этого не сделать, то увидите ошибку с инструкцией по исправлению, вместо веб интерфейса. Меня часто спрашивают, буду ли я писать статью по обновлению 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
Вспомнилось одно старенькое видео на тему общения заказчика и исполнителя IT услуг. Причём вспомнилось не в контексте IT, а стройки. Тут всё то же самое, но только в разы запущеннее и сложнее. Когда окунулся в роли заказчика всей этой движухи, просто офигел от сложностей, халтуры, контроля за исполнением и т.д.
В IT на мой взгляд попроще. Там хоть крыша на голову не упадёт в прямом смысле слова. Я у себя в доме крышу переделывал полностью. Нужно было нарастить прочность стропильной системы. А для этого надо было всё разобрать, добавить стропил и снова собрать. Иначе крыша реально могла бы рухнуть. Первоначальные строители, как оказалось, были никакими. Как и я в роли заказчика. Крышу, к слову, потом пришлось частично разобрать ещё раз изнутри, чтобы исправить ошибки утепления. И это после чистовой отделки.
Вышел из стройки уже другим человеком. После того, как у меня сгорела варочная панель на первом этаже из-за того, что её по ошибке подключили на 380, а не 220, электрику второго этажа делал сам в компании другого электрика, чтобы самому всё освоить и не переживать потом. В итоге освоил. Теперь хоть понимаю базу, необходимую для жилого строения.
Возвращаюсь к видео. Это ролик коллектива MЁD, который одно время выпускал прикольные скетчи. Мне больше всего понравился упомянутый ниже, так как близка тема. Я одно время очень активно фрилансил и постоянно вёл общение с заказчиками.
▶️ Неадекватные заказчики
Особенно вот это актуально. Я довольно быстро стал называть стоимость выше рынка, так как мог себе такое позволить:
- В соседней конторе в два раза дешевле!
- Так закажите у них.
- Они некачественно делают.
Много раз слышал, почему так дорого. Тут же всё просто, вон, даже у вас в статьях всё расписано. Я говорю, так чего вы ко мне обращаетесь, делайте сами, раз статьи написаны и там всё просто.
- Это займет где-то месяц, полтора.
- А экстренно за неделю сможете сделать?
- Если очень постараться, но это будет стоить в 2 раза дороже.
- А чё дороже то? Вы же меньше времени тратите!
Ну и так далее. Видео прикольное. Кстати, заходил на стройку с ощущением, что там все обманывают и раздувают смету. Надо торговаться и по возможности снижать смету. Быстро понял, что это провальная тактика и всегда говорил, когда кого-то нанимал, что я не экономлю и делаю максимально качественно. По факту это дешевле обходится, нежели потом переделывать.
В IT всё то же самое. Сэкономишь, потом будешь переделывать, зачастую полностью. Сколько раз такое видел. Один раз заказчику вообще пришлось полностью бросить проект, сменить команду и писать с нуля с новыми программистами, которым платили в 2 раза больше. Предыдущие просто не могли закончить проект хоть на каком-то приемлемом уровне. По факту потратили кучу лишних денег и времени.
#юмор
В IT на мой взгляд попроще. Там хоть крыша на голову не упадёт в прямом смысле слова. Я у себя в доме крышу переделывал полностью. Нужно было нарастить прочность стропильной системы. А для этого надо было всё разобрать, добавить стропил и снова собрать. Иначе крыша реально могла бы рухнуть. Первоначальные строители, как оказалось, были никакими. Как и я в роли заказчика. Крышу, к слову, потом пришлось частично разобрать ещё раз изнутри, чтобы исправить ошибки утепления. И это после чистовой отделки.
Вышел из стройки уже другим человеком. После того, как у меня сгорела варочная панель на первом этаже из-за того, что её по ошибке подключили на 380, а не 220, электрику второго этажа делал сам в компании другого электрика, чтобы самому всё освоить и не переживать потом. В итоге освоил. Теперь хоть понимаю базу, необходимую для жилого строения.
Возвращаюсь к видео. Это ролик коллектива MЁD, который одно время выпускал прикольные скетчи. Мне больше всего понравился упомянутый ниже, так как близка тема. Я одно время очень активно фрилансил и постоянно вёл общение с заказчиками.
Особенно вот это актуально. Я довольно быстро стал называть стоимость выше рынка, так как мог себе такое позволить:
- В соседней конторе в два раза дешевле!
- Так закажите у них.
- Они некачественно делают.
Много раз слышал, почему так дорого. Тут же всё просто, вон, даже у вас в статьях всё расписано. Я говорю, так чего вы ко мне обращаетесь, делайте сами, раз статьи написаны и там всё просто.
- Это займет где-то месяц, полтора.
- А экстренно за неделю сможете сделать?
- Если очень постараться, но это будет стоить в 2 раза дороже.
- А чё дороже то? Вы же меньше времени тратите!
Ну и так далее. Видео прикольное. Кстати, заходил на стройку с ощущением, что там все обманывают и раздувают смету. Надо торговаться и по возможности снижать смету. Быстро понял, что это провальная тактика и всегда говорил, когда кого-то нанимал, что я не экономлю и делаю максимально качественно. По факту это дешевле обходится, нежели потом переделывать.
В IT всё то же самое. Сэкономишь, потом будешь переделывать, зачастую полностью. Сколько раз такое видел. Один раз заказчику вообще пришлось полностью бросить проект, сменить команду и писать с нуля с новыми программистами, которым платили в 2 раза больше. Предыдущие просто не могли закончить проект хоть на каком-то приемлемом уровне. По факту потратили кучу лишних денег и времени.
#юмор
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Неадекватные заказчики
У предпринимателя бывают разные проблемы...
И если, например, бухгалтерию легко вести с помощью сервиса "Моё дело" https://goo.gl/wZOX3R и даже быть бухгалтером для этого вовсе не обязательно, то как решать проблемы с неадекватными заказчиками? И какие они…
И если, например, бухгалтерию легко вести с помощью сервиса "Моё дело" https://goo.gl/wZOX3R и даже быть бухгалтером для этого вовсе не обязательно, то как решать проблемы с неадекватными заказчиками? И какие они…
1👍83👎3
На днях поступил вопрос на тему освоения мониторинга Zabbix. С чего начать, какие материалы изучить. Я неплохо и давно знаю Zabbix, плюс сам учил его с нуля, так что мне есть что посоветовать. То, что я опишу ниже, подойдёт для любого нового продукта, который вы захотите изучать.
Я бы начал с того, что просто развернул систему и попробовал начать ею пользоваться. Для этого хватит любой тематической статьи в интернете, документации или обзорного видео. Для Zabbix их существует в избытке. Он не так сильно меняется от релиза к релизу в плане начальной установки и настройки, так что подойдут любые материалы за последние 2-3 года.
Далее я бы попользовался некоторое время. Появится какое-то понимание, как всё это работает, удобно ли пользоваться, подходит ли под текущие задачи. Если всё нормально, то стал бы разворачивать дальше на большее число хостов и решал бы попутно возникающие проблемы и задачи.
Если опять всё идёт нормально и принято решение внедрять и изучать систему более глубоко, то тут уже бы стал смотреть какие-то обучающие материалы. Если не горит, и никто не торопит с внедрением, то можно обойтись вообще без обучения. По Zabbix очень много материалов в открытом доступе. Этого достаточно, чтобы его освоить. Каких-то вещей, которые непременно надо знать на старте, чтобы не наделать фатальных ошибок, у Zabbix нет. Всё можно исправить или улучшить по мере эксплуатации.
Для старта хватит и бесплатных курсов. Вот пример некоторых из них со Степика:
▪️Демо курс Zabbix 6. Мониторинг IT инфраструктуры предприятия
Это бесплатный урок от большого платного курса про Zabbix. В демо курсе разбирается установка и настройка сервера, плюс подключение к нему различных агентов. То есть как раз база для новичка. Если курс понравится, а Zabbix в итоге зайдёт и будет внедряться, можно купить полный курс.
▪️Zabbix - система мониторинга статусов
Немного сумбурный курс с упором на сбор метрик по SNMP, но для бесплатного ознакомления сойдёт. Особенно, если у вас много сетевых устройств, которые как раз по SNMP и мониторятся.
▪️Monitoring IT (базовый)
Небольшой обзорный курс по различным системам мониторинга. Разобраны самые популярные и функциональные продукты: Zabbix, Prometheus, Nagios/Icinga, VictoriaMetrics. Имеет смысл ознакомиться, если у вас вообще нет системы мониторинга и вы не знаете с чего начать и что внедрять.
По Zabbix есть очень хорошая книга на русском языке:
📔 Zabbix 7: мониторинг ИТ-инфраструктуры
Она довольно дорогая для книги (~3000р). Мне в своё время предлагали её бесплатно, чтобы я прочитал и сделал обзор. Отказался, так как нет столько времени, чтобы изучать книгу, когда особой надобности в этом нет. Но если бы было нужно, купил бы, несмотря на то, что можно скачать бесплатно. Если все будут качать бесплатно, то никто книги писать и переводить не будет. У любимых авторов всегда покупаю бумажные книги, хоть и читаю электронные. Но они, к сожалению, не приносят авторам денег. Зарабатывают они только с бумаги.
Я лично изучил Zabbix полностью самостоятельно. Просто внедрил и начал пользоваться каждый день. Старался всё, что нужно мониторить, заводить в Zabbix. В итоге довольно быстро всё освоил. Главное не лениться и постоянно изучать что-то новое.
Отдельно отмечу, когда бы я рекомендовал сходу записаться на платный курс и пройти его как можно быстрее. Если вы уверенный специалист в своей области, у вас хороший доход и стоимость курсов не обременяет вас. Тогда имеет смысл не тянуть резину, а сходу пройти платный курс, чтобы понять, подходит вам продукт или нет. Если подходит, то сразу начнёте внедрение с уверенными знаниями. А если нет, то сэкономите себе в итоге время, не тратя его на самостоятельное изучение того, что вам не нужно в данный момент. Но знания всё равно пойдут вам в копилку и могут где-то пригодиться в будущем.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#обучение
Я бы начал с того, что просто развернул систему и попробовал начать ею пользоваться. Для этого хватит любой тематической статьи в интернете, документации или обзорного видео. Для Zabbix их существует в избытке. Он не так сильно меняется от релиза к релизу в плане начальной установки и настройки, так что подойдут любые материалы за последние 2-3 года.
Далее я бы попользовался некоторое время. Появится какое-то понимание, как всё это работает, удобно ли пользоваться, подходит ли под текущие задачи. Если всё нормально, то стал бы разворачивать дальше на большее число хостов и решал бы попутно возникающие проблемы и задачи.
Если опять всё идёт нормально и принято решение внедрять и изучать систему более глубоко, то тут уже бы стал смотреть какие-то обучающие материалы. Если не горит, и никто не торопит с внедрением, то можно обойтись вообще без обучения. По Zabbix очень много материалов в открытом доступе. Этого достаточно, чтобы его освоить. Каких-то вещей, которые непременно надо знать на старте, чтобы не наделать фатальных ошибок, у Zabbix нет. Всё можно исправить или улучшить по мере эксплуатации.
Для старта хватит и бесплатных курсов. Вот пример некоторых из них со Степика:
▪️Демо курс Zabbix 6. Мониторинг IT инфраструктуры предприятия
Это бесплатный урок от большого платного курса про Zabbix. В демо курсе разбирается установка и настройка сервера, плюс подключение к нему различных агентов. То есть как раз база для новичка. Если курс понравится, а Zabbix в итоге зайдёт и будет внедряться, можно купить полный курс.
▪️Zabbix - система мониторинга статусов
Немного сумбурный курс с упором на сбор метрик по SNMP, но для бесплатного ознакомления сойдёт. Особенно, если у вас много сетевых устройств, которые как раз по SNMP и мониторятся.
▪️Monitoring IT (базовый)
Небольшой обзорный курс по различным системам мониторинга. Разобраны самые популярные и функциональные продукты: Zabbix, Prometheus, Nagios/Icinga, VictoriaMetrics. Имеет смысл ознакомиться, если у вас вообще нет системы мониторинга и вы не знаете с чего начать и что внедрять.
По Zabbix есть очень хорошая книга на русском языке:
📔 Zabbix 7: мониторинг ИТ-инфраструктуры
Она довольно дорогая для книги (~3000р). Мне в своё время предлагали её бесплатно, чтобы я прочитал и сделал обзор. Отказался, так как нет столько времени, чтобы изучать книгу, когда особой надобности в этом нет. Но если бы было нужно, купил бы, несмотря на то, что можно скачать бесплатно. Если все будут качать бесплатно, то никто книги писать и переводить не будет. У любимых авторов всегда покупаю бумажные книги, хоть и читаю электронные. Но они, к сожалению, не приносят авторам денег. Зарабатывают они только с бумаги.
Я лично изучил Zabbix полностью самостоятельно. Просто внедрил и начал пользоваться каждый день. Старался всё, что нужно мониторить, заводить в Zabbix. В итоге довольно быстро всё освоил. Главное не лениться и постоянно изучать что-то новое.
Отдельно отмечу, когда бы я рекомендовал сходу записаться на платный курс и пройти его как можно быстрее. Если вы уверенный специалист в своей области, у вас хороший доход и стоимость курсов не обременяет вас. Тогда имеет смысл не тянуть резину, а сходу пройти платный курс, чтобы понять, подходит вам продукт или нет. Если подходит, то сразу начнёте внедрение с уверенными знаниями. А если нет, то сэкономите себе в итоге время, не тратя его на самостоятельное изучение того, что вам не нужно в данный момент. Но знания всё равно пойдут вам в копилку и могут где-то пригодиться в будущем.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#обучение
Stepik: online education
Демо курс Zabbix 6. Мониторинг IT инфраструктуры предприятия
Этот курс демонстрирует основные возможности Zabbix и предоставляет базовые навыки для эффективной работы с системой. Несмотря на выход Zabbix 7, материал курса сохраняет свою актуальность и будет полезен еще долгие годы. Данный демо курс является частью…
7👍156👎4
Коротенькая, но мне кажется полезная заметка на тему одного небольшого сервиса, который поможет тем, кто пишет свои bash скрипты. Речь пойдёт вот про этот сервис:
⇨ https://www.strfti.me
С его помощью можно быстро подобрать формат даты для консольной утилиты
Например, почти всегда для имени файла с бэкапом использую конструкцию
Получим файл с дампом базы данных
Я подобные вещи проверяю сразу в консоли, а наиболее популярные форматы у меня просто в шпаргалке записаны. На сайте можно быстро получить код для любого формата и там же описание всех параметров, чтобы подобрать свой. Быстро и удобно. Быстрее, чем где-то искать или читать man.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#bash #terminal
⇨ https://www.strfti.me
С его помощью можно быстро подобрать формат даты для консольной утилиты
date. Я её почти всегда использую в скриптах, чтобы зафиксировать дату, например, в имени файла или директории. Даже если на канале пройтись по моим скриптам, в каждом втором, если не первом она будет.Например, почти всегда для имени файла с бэкапом использую конструкцию
date +"%Y-%m-%d_%H-%M-%S", что запишет дату в виде 2025-08-24_17-52-06. Удобно и для быстрой сортировки по имени, и для визуального восприятия. Если кто-то не понял, о чём идёт речь, то вот простой пример готовой команды с использованием date:/usr/bin/pg_dump -U postgres db01 | pigz > /var/lib/pgpro/backup/`date +"%Y-%m-%d_%H-%M"`-db01.sql.gzПолучим файл с дампом базы данных
2025-08-24_17-52-06-db01.sql.gz.Я подобные вещи проверяю сразу в консоли, а наиболее популярные форматы у меня просто в шпаргалке записаны. На сайте можно быстро получить код для любого формата и там же описание всех параметров, чтобы подобрать свой. Быстро и удобно. Быстрее, чем где-то искать или читать man.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#bash #terminal
1👍148👎2
Я привык для установки python приложений использовать либо пакетный менеджер системы apt, либо пакетный менеджер самого python – pip. Это устаревший подход, который имеет много недостатков. Через пакетный менеджер обычно доступны только наиболее популярные приложения. Их список ограничен. А через pip напрямую ставить неудобно, так как это ломает совместимость с приложениями, установленными через apt. Если уж хочется использовать pip, то надо запускать его в изолированном окружении, что тоже создаёт некоторые неудобства в дальнейшем использовании приложений.
Решил разобраться с этой темой. В настоящий момент в deb системах, в частности, Debian и Ubuntu, для установки python приложений лучше использовать pipx. Он позволяет автоматически устанавливать приложения в изолированном окружении, которые вызываются нативно из командной строки, но при этом не конфликтуют с системными пакетами. Сам pipx живёт в базовом репозитории:
Далее его можно использовать для установки приложений. Покажу на недавнем примере с ansible-cmdb. Он получится показательным для раскрытия темы. Его можно поставить через pipx:
Но работать установленный таким образом ansible-cmdb не будет. Это связано с тем, что собранный пакет очень старый и не умеет работать в виртуальном окружении, которое создаёт pipx. Последний создаёт символьные ссылки с именем приложения, а сами приложения размещает отдельно в виртуальном окружении. А ansible-cmdb ищет свои ресурсы по жёстко привязанным путям к тому месту, откуда его запустили. С современным приложениями такой проблемы не будет.
В связи с этим нам понадобится ещё одно приложение для работы с пакетами и виртуальными окружениями python – uv. Он, как и pipx, работает в изолированном окружении и не пересекается с системными пакетами. Если pipx используют для установки готовых приложений, то uv для установки зависимостей и создания виртуальных окружений.
Сам uv ставим через pipx:
Пример установки зависимостей через uv:
А теперь возвращаемся к ansible-cmdb и запускаем его в виртуальном окружении через uv:
Проверяем:
Теперь ansible-cmdb будет нормально работать напрямую из консоли. Принципиальной разницы в эксплуатации не будет с тем, что я предложил в своей заметке через:
Если это всё используется в отдельной виртуалке или контейнере. Но в целом правильно запускать именно так, как я описал в текущей заметке. Это не будет ломать совместимость с системными пакетами и другими python приложениями.
📌 Резюмирую:
◽️pipx используем для установки современных python приложений;
◽️uv для установки зависимостей, библиотек и создания виртуальных окружений в том числе для запуска старых приложений.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#debian #python
Решил разобраться с этой темой. В настоящий момент в deb системах, в частности, Debian и Ubuntu, для установки python приложений лучше использовать pipx. Он позволяет автоматически устанавливать приложения в изолированном окружении, которые вызываются нативно из командной строки, но при этом не конфликтуют с системными пакетами. Сам pipx живёт в базовом репозитории:
# apt install pipx# pipx ensurepath# source ~/.profileДалее его можно использовать для установки приложений. Покажу на недавнем примере с ansible-cmdb. Он получится показательным для раскрытия темы. Его можно поставить через pipx:
# pipx install ansible-cmdbНо работать установленный таким образом ansible-cmdb не будет. Это связано с тем, что собранный пакет очень старый и не умеет работать в виртуальном окружении, которое создаёт pipx. Последний создаёт символьные ссылки с именем приложения, а сами приложения размещает отдельно в виртуальном окружении. А ansible-cmdb ищет свои ресурсы по жёстко привязанным путям к тому месту, откуда его запустили. С современным приложениями такой проблемы не будет.
В связи с этим нам понадобится ещё одно приложение для работы с пакетами и виртуальными окружениями python – uv. Он, как и pipx, работает в изолированном окружении и не пересекается с системными пакетами. Если pipx используют для установки готовых приложений, то uv для установки зависимостей и создания виртуальных окружений.
Сам uv ставим через pipx:
# pipx install uvПример установки зависимостей через uv:
# uv pip install -r requirements.txtА теперь возвращаемся к ansible-cmdb и запускаем его в виртуальном окружении через uv:
# uv venv .venv# source .venv/bin/activate# uv pip install ansible-cmdbПроверяем:
# ansible-cmdb --helpТеперь ansible-cmdb будет нормально работать напрямую из консоли. Принципиальной разницы в эксплуатации не будет с тем, что я предложил в своей заметке через:
# pip install ansible-cmdb --break-system-packagesЕсли это всё используется в отдельной виртуалке или контейнере. Но в целом правильно запускать именно так, как я описал в текущей заметке. Это не будет ломать совместимость с системными пакетами и другими python приложениями.
📌 Резюмирую:
◽️pipx используем для установки современных python приложений;
◽️uv для установки зависимостей, библиотек и создания виртуальных окружений в том числе для запуска старых приложений.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#debian #python
2👍181👎9
📊 Делал недавно опрос на тему использования гипервизоров и чуть не забыл подвести итоги. Вопрос звучал так:
Какую систему виртуализации вы используете в рабочих системах?
Понятно, что тут можно придраться к формулировке и вариантам ответов. И были те, кто обоснованно это сделал. Есть чисто гипервизоры, есть системы виртуализации, есть платформы на базе систем виртуализации, а я всё это смешал в одном опросе. Я просто взял наиболее употребимые названия, чтобы получить наглядную картинку.
К примеру, VMware ESXi – это гипервизор, а платформа виртуализации на его основе – VMware vSphere. Для точности формулировок нужно было бы отдельно гипервизоры сравнивать, отдельно платформы. Но тогда пришлось бы сравнивать VMware ESXi с KVM, а мне хотелось увидеть результаты по Proxmox и другим платформам на базе KVM, а не чистом KVM. На его основе много платформ, а на базе VMware ESXi только одна. Поэтому сделал, как сделал. Результаты такие:
Telegram (доступно 12 вариантов ответов):
◽️Proxmox — 54%
◽️VMware ESXi — 39%
◽️Hyper-V — 28%
◽️Другую иностранную на базе QEMU-KVM — 6%
◽️Другую на базе отечественной системы — 3%
◽️zVirt — 3%
◽️OpenStack — 3%
◽️Альт Сервер Виртуализация — 2%
◽️РЕД Виртуализация — 1%
◽️Другую на базе Xen — 1%
◽️ПК СВ «Брест» — 1%
◽️OpenNebula — 0%
VK (доступно 10 вариантов ответов):
◽️Proxmox — 46%
◽️VMware ESXi — 38%
◽️Hyper-V — 33%
◽️Другую на базе отечественной системы — 7%
◽️Другую иностранную на базе QEMU-KVM — 5%
◽️Альт Сервер Виртуализация — 4%
◽️OpenStack — 3%
◽️Другую на базе Xen — 2%
◽️ПК СВ «Брест» — 1%
◽️OpenNebula — 1%
По тройке лидеров всё ожидаемо. Я плюс-минус такое распределение и представлял. Предполагал, что Proxmox будет в лидерах, потом ESXi и за ним Hyper-V. Лет 5 назад в этой тройке, думаю, что Proxmox был бы замыкающим, а ESXi в лидерах.
Думал, что у ПК СВ «Брест» будет побольше %%. Всё же его много где принудительно внедряют, а доля Астры, судя по прошлым опросам обычных систем, велика. Ожидал, что прицепом потянет за собой остальные продукты, но видимо нет. Либо тут совсем неподходящая аудитория под эту систему.
А в целом, судя по опросу, с импортозамещением виртуализации процесс идёт очень медленно. Доля российских продуктов в районе 10%. И то, это относительная цифра, потому что доступны несколько вариантов ответов.
#опрос
Какую систему виртуализации вы используете в рабочих системах?
Понятно, что тут можно придраться к формулировке и вариантам ответов. И были те, кто обоснованно это сделал. Есть чисто гипервизоры, есть системы виртуализации, есть платформы на базе систем виртуализации, а я всё это смешал в одном опросе. Я просто взял наиболее употребимые названия, чтобы получить наглядную картинку.
К примеру, VMware ESXi – это гипервизор, а платформа виртуализации на его основе – VMware vSphere. Для точности формулировок нужно было бы отдельно гипервизоры сравнивать, отдельно платформы. Но тогда пришлось бы сравнивать VMware ESXi с KVM, а мне хотелось увидеть результаты по Proxmox и другим платформам на базе KVM, а не чистом KVM. На его основе много платформ, а на базе VMware ESXi только одна. Поэтому сделал, как сделал. Результаты такие:
Telegram (доступно 12 вариантов ответов):
◽️Proxmox — 54%
◽️VMware ESXi — 39%
◽️Hyper-V — 28%
◽️Другую иностранную на базе QEMU-KVM — 6%
◽️Другую на базе отечественной системы — 3%
◽️zVirt — 3%
◽️OpenStack — 3%
◽️Альт Сервер Виртуализация — 2%
◽️РЕД Виртуализация — 1%
◽️Другую на базе Xen — 1%
◽️ПК СВ «Брест» — 1%
◽️OpenNebula — 0%
VK (доступно 10 вариантов ответов):
◽️Proxmox — 46%
◽️VMware ESXi — 38%
◽️Hyper-V — 33%
◽️Другую на базе отечественной системы — 7%
◽️Другую иностранную на базе QEMU-KVM — 5%
◽️Альт Сервер Виртуализация — 4%
◽️OpenStack — 3%
◽️Другую на базе Xen — 2%
◽️ПК СВ «Брест» — 1%
◽️OpenNebula — 1%
По тройке лидеров всё ожидаемо. Я плюс-минус такое распределение и представлял. Предполагал, что Proxmox будет в лидерах, потом ESXi и за ним Hyper-V. Лет 5 назад в этой тройке, думаю, что Proxmox был бы замыкающим, а ESXi в лидерах.
Думал, что у ПК СВ «Брест» будет побольше %%. Всё же его много где принудительно внедряют, а доля Астры, судя по прошлым опросам обычных систем, велика. Ожидал, что прицепом потянет за собой остальные продукты, но видимо нет. Либо тут совсем неподходящая аудитория под эту систему.
А в целом, судя по опросу, с импортозамещением виртуализации процесс идёт очень медленно. Доля российских продуктов в районе 10%. И то, это относительная цифра, потому что доступны несколько вариантов ответов.
#опрос
2👍97👎2
За время ведения канала накопилось некоторое количество сервисов, которые будут полезны тем, кто всё ещё сам пишет bash скрипты. Остались такие уникумы или все делегировали эту рутину ИИ?
Решил собрать эти сервисы в подборку. Сам уже и не помню, когда что-то новое писал. Всё уже давно написано и сохранено в git. Вроде стремительно развиваются (или это только кажется?) технологии, но вся скриптовая база одна и та же: проверить, перезапустить, скопировать, грепнуть, отправить в мониторинг, записать в лог и т.д.
🔥ShellCheck – проверка синтаксиса shell скриптов
◽️Explainshell – наглядное объяснение сложных и составных консольных команд
◽️Cmdgenerator – помощник по выбору ключей к популярным консольным утилитам
◽️Конструктор команд для linux утилиты find
◽️Проверка различных форматов даты и времени в утилиты date
Отдельно обращаю внимание на сервис ShellCheck. Стараюсь проверять им свои скрипты, если не забываю. Чаще всего даёт рекомендации по делу, которые имеет смысл принять к сведению.
Explainshell пришёл к нам из давних времён, когда ещё не было ИИ. То есть там под капотом не ИИ, а обработанные man страницы используемых утилит. Хотя стоит признать, что ИИ конкретно эти задачи решает неплохо, так как в основе лежит точная справочная информация. Тем не менее,
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#bash #подборка
Решил собрать эти сервисы в подборку. Сам уже и не помню, когда что-то новое писал. Всё уже давно написано и сохранено в git. Вроде стремительно развиваются (или это только кажется?) технологии, но вся скриптовая база одна и та же: проверить, перезапустить, скопировать, грепнуть, отправить в мониторинг, записать в лог и т.д.
🔥ShellCheck – проверка синтаксиса shell скриптов
◽️Explainshell – наглядное объяснение сложных и составных консольных команд
◽️Cmdgenerator – помощник по выбору ключей к популярным консольным утилитам
◽️Конструктор команд для linux утилиты find
◽️Проверка различных форматов даты и времени в утилиты date
Отдельно обращаю внимание на сервис ShellCheck. Стараюсь проверять им свои скрипты, если не забываю. Чаще всего даёт рекомендации по делу, которые имеет смысл принять к сведению.
Explainshell пришёл к нам из давних времён, когда ещё не было ИИ. То есть там под капотом не ИИ, а обработанные man страницы используемых утилит. Хотя стоит признать, что ИИ конкретно эти задачи решает неплохо, так как в основе лежит точная справочная информация. Тем не менее,
man никто не отменял, особенно, когда нужно строгое описание.❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#bash #подборка
4👍132👎3
Вспомнил про одну необычную утилиту из мира консоли Linux. Сначала даже не был уверен, что не писал о ней ранее. Оказалось, что реально не писал, только пару упоминаний мельком сделал. Речь пойдёт о faketime. Вспомнил, когда скрипты пересматривал к утренней публикации. Искал что-то для примера в прикреплённой картинке.
Во время отладки скриптов или мониторинга иногда нужно подставить какое-то другое системное время. Можно менять время непосредственно в тестовой системе, а можно воспользоваться
Приложение скомпилировано на базе библиотеки libfaketime. Оно перехватывает системные вызовы для приложения и заменяет в них время на указанное. Работает примерно так:
Передали утилите
Я чаще всего утилиту использую, когда с помощью
Покажу наглядный пример, где можно ошибиться и где я лично ошибался не раз. Простая конструкция:
◽️mtime – время последнего изменения файла
◽️+1 - n*24 часа, в данном случае n=1, то есть 24 часа
Это информация из
Создали файл 28 августа в 14:39, а в 29 августа в 14:40 ничего не находит, хотя мы взяли время более 24 часов вперёд.
Уехали на 48 часов и 1 минуту вперёд и нашли файл. У find есть особенность, и в данном случае +1 это не 24 часа, а 48. А чтобы было именно 24 часа, надо использовать +0:
Faketime позволяет проверить работу своих скриптов, заглянув в будущее.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#linux #terminal
Во время отладки скриптов или мониторинга иногда нужно подставить какое-то другое системное время. Можно менять время непосредственно в тестовой системе, а можно воспользоваться
faketime. Причём сделать это очень просто, потому что утилита с незапамятных времён живёт в базовых репах:# apt install faketimeПриложение скомпилировано на базе библиотеки libfaketime. Оно перехватывает системные вызовы для приложения и заменяет в них время на указанное. Работает примерно так:
# faketime '2025-12-31 23:59:59' dateWed Dec 31 23:59:59 MSK 2025Передали утилите
date указанное время, и она его вывела.Я чаще всего утилиту использую, когда с помощью
find удаляю что-то по меткам времени. Удобно запустить через faketime без удаления, просто чтобы проверить, как отработает поиск. Вообще всё, что связано с удалением, предварительно проверяю и только потом ставлю на исполнение. Иногда в скриптах комментирую строки с удалением, чтобы дождаться полного наполнения данными, чтобы потом прийти, вручную всё отладить и только потом включить ключ с удалением. Иначе рано или поздно из-за ошибки или невнимательности можно наделать дел.Покажу наглядный пример, где можно ошибиться и где я лично ошибался не раз. Простая конструкция:
# find . -type f -mtime +1◽️mtime – время последнего изменения файла
◽️+1 - n*24 часа, в данном случае n=1, то есть 24 часа
Это информация из
man find. Ты ожидаешь, что будут найдены все файлы с датой модификации более суток назад. Проверяем:# touch filename.tar# ls -l-rw-r--r-- 1 root root 0 Aug 28 14:39 filename.tar# faketime '2025-08-29 14:40:00' find . -type f -mtime +1Создали файл 28 августа в 14:39, а в 29 августа в 14:40 ничего не находит, хотя мы взяли время более 24 часов вперёд.
# faketime '2025-08-30 14:40:00' find . -type f -mtime +1./filename.tarУехали на 48 часов и 1 минуту вперёд и нашли файл. У find есть особенность, и в данном случае +1 это не 24 часа, а 48. А чтобы было именно 24 часа, надо использовать +0:
# faketime '2025-08-29 14:40:00' find . -type f -mtime +0./filename.tarFaketime позволяет проверить работу своих скриптов, заглянув в будущее.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#linux #terminal
2👍167👎3
Я неоднократно рассказывал про бесплатную реализацию своего сервера для S3 хранилища на базе MinIO. Это наиболее популярный и чуть ли не единственный массовый сервер для этих задач. Я других таких же простых даже и не знаю. Если для каких-то больших многосерверных систем есть реализации кластера типа Ceph и его Object Gateway, или аналогов, то для одиночного сервера или небольшого кластера я ничего другого ни разу не видел и не слышал. Все ставили по умолчанию MinIO.
Разработчики решили эту популярность монетизировать и из бесплатной версии убрали веб интерфейс для управления сервером. Можно только объекты смотреть. Для управления остались только консольные команды. В целом, ничего особенного в этом нет. Стандартный подход для двух редакций: бесплатная и платная. Но так как изначально этот веб интерфейс был доступен, стало немного обидно и неудобно.
Последняя версия, где есть полнофункциональный веб интерфейс - от 22 апреля. Скачать и запустить можно так:
Дальше идём на порт сервера 9000 и всё настраиваем через веб интерфейс, используя учётку minioadmin / minioadmin. Всё максимально быстро и просто. MinIO используется во множестве сборок программных продуктов, где нужна функциональность S3.
В целом, ничего критичного не произошло. Если вы нечасто меняете настройки, то можно и через CLI это делать. Для этого нужно воспользоваться MinIO Console, которая запускается командой mc. Неудобно, так как пересекается с Midnight Commander. Консоль придётся поставить отдельно. По ссылкам есть инструкция для установки.
❓Какие есть альтернативы новой урезанной версии:
1️⃣ OpenMaxIO - форк урезанного официального веб интерфейса, который теперь называется object-browser. В него вернули все удалённые возможности официального UI. Этот форк сделан энтузиастами и к команде MinIO никакого отношения не имеет.
2️⃣ RustFS - новый альтернативный сервер, аналог MinIO, реализующий ту же функциональность. Проект стартовал в июле, вскоре после новостей MinIO. В настоящий момент доступна только альфа версия, но проект активно развивается. Уже было 48 промежуточных релизов. Пилят, судя по китайскому языку на сайте, китайцы. Я пока не пробовал его, не знаю, что у них получилось. Обещают такую же простоту настройки, но более производительный сервер. Посмотрим. Если кто-то уже пробовал, дайте, пожалуйста, боратную связь.
Дополнительно рекомендую посмотреть интересное выступление на тему кластера MinIO:
⇨ Свой распределённый S3 на базе MinIO — практический опыт наступания на грабли / Алексей Плетнёв
#S3
Разработчики решили эту популярность монетизировать и из бесплатной версии убрали веб интерфейс для управления сервером. Можно только объекты смотреть. Для управления остались только консольные команды. В целом, ничего особенного в этом нет. Стандартный подход для двух редакций: бесплатная и платная. Но так как изначально этот веб интерфейс был доступен, стало немного обидно и неудобно.
Последняя версия, где есть полнофункциональный веб интерфейс - от 22 апреля. Скачать и запустить можно так:
# wget -O minio https://dl.min.io/server/minio/release/linux-amd64/archive/minio.RELEASE.2025-04-22T22-12-26Z# chmod +x minio# mkdir /mnt/data# ./minio server /mnt/dataДальше идём на порт сервера 9000 и всё настраиваем через веб интерфейс, используя учётку minioadmin / minioadmin. Всё максимально быстро и просто. MinIO используется во множестве сборок программных продуктов, где нужна функциональность S3.
В целом, ничего критичного не произошло. Если вы нечасто меняете настройки, то можно и через CLI это делать. Для этого нужно воспользоваться MinIO Console, которая запускается командой mc. Неудобно, так как пересекается с Midnight Commander. Консоль придётся поставить отдельно. По ссылкам есть инструкция для установки.
❓Какие есть альтернативы новой урезанной версии:
Дополнительно рекомендую посмотреть интересное выступление на тему кластера MinIO:
⇨ Свой распределённый S3 на базе MinIO — практический опыт наступания на грабли / Алексей Плетнёв
#S3
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍94👎2
⇨ Бункер для админки: как спрятать точки управления от злоумышленников
Длинный вебинар, который я весь прослушал. Полезная структурированная информация. Первая половина - теория на тему деления локальной сети на различные сегменты, вторая на тему защиты AD, ну и в конце разные прикладные штуки. Полезно даже просто для общего образования.
⇨ Григорий Кошелев — Комбо-факапы, или Эффект бабочки-факапницы
Это видео на тему падений инфраструктур в крупных компаниях с теорией и конкретными примерами. Можно просто послушать на прогулке или в машине. Ничего полезного для себя не вынес, но мне было интересно послушать.
⇨ Как установить и настроить Keycloak | Полный гайд для начинающих
Подробная инструкция по настройке популярного и непростого продукта для управления централизованной аутентификацией на базе Keycloak.
⇨ Zabbix Handy Tips: Nested Low-Level Discovery
Коротенькое видео с примером вложенного автообнаружения, которое появилось в недавнем релизе Zabbix Server 7.4. Как говорится, вместо тысячи слов лучше один раз увидеть в видео на 3,5 мин.
⇨ Zabbix Handy Tips: Bulk Template Import
Ещё одно короткое видео с демонстрацией нововведения в версии 7.4 - массовое добавление или обновление шаблонов. Теперь всё разом можно обновить, а не вручную десятки шаблонов, как раньше.
⇨ ITTools - The tools you need for homelab and IT Needs!
Обзор набора утилит из проекта it-tools.tech. Впервые о нём услышал. Полезная штука, о которой стоит сделать отдельную заметку. Чего там только нет. Навскидку, есть всё, что может понадобиться админу или девопсу из такого рода генераторов и конвертеров.
⇨ Как устроены proxmox ve helper-scripts? Безопасно ли использовать скрипты помощники?
Если вам интересен этот проект, то можете посмотреть видео. Знаю, что некоторые пользуются. Я лично их не использую. Не вижу для себя в них пользы.
⇨ Stop Struggling with Docker Compose – Use These 10 Tricks Instead!
Автор рассказал, как он работает с проектами на Docker Compose и дал несколько советов. В целом, советы базовые, типа структуры каталогов, хранения параметров в .env файлах, метки, проверки и т.д. Если постоянно работает с этим, то скорее всего всё это и так знаете. Если нет - то будет полезно. Всегда интересно посмотреть на опыт другого человека и взять что-то к себе.
⇨ Тестирую 19 ЛУЧШИХ нейросетей для программирования в августе 2025.
Я смотрел предыдущие видео автора на эту же тему, так что лично мне уже не интересно и не очень актуально. Но если вы ещё не смотрели, то для общего образования будет полезно посмотреть на что способны современные ИИ и чем они отличаются.
⇨ Proxmox Backup Server 4 Upgrade. Обзор. Что нового? Как обновить
Обзор продукта и некоторая информация по обновлению и новой версии. Ничего особенного в видео нет, дана базовая информация. Подойдёт тем, кто не знаком с продуктом и хочет посмотреть на него.
#видео
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Бункер для админки: как спрятать точки управления от злоумышленников
Подробнее о вебинаре: https://getnet.pro/bunker-dlya-adminki
Конференция GetNet: https://getnet.pro/
Анонс:
Расскажем о том, как минимизировать последствия и не допустить полного коллапса ИТ инфраструктуры, когда злоумышленник уже проник в корпоративную…
Конференция GetNet: https://getnet.pro/
Анонс:
Расскажем о том, как минимизировать последствия и не допустить полного коллапса ИТ инфраструктуры, когда злоумышленник уже проник в корпоративную…
1👍77👎2
🔝 ТОП постов за прошедший месяц. Все самые популярные публикации по месяцам можно почитать со соответствующему хэштэгу #топ. Отдельно можно посмотреть ТОП за прошлые года: 2023 и 2024.
Пользуясь случаем, хочу попросить проголосовать за мой канал, так как это открывает некоторые дополнительные возможности по настройке: https://xn--r1a.website/boost/srv_admin.
📌 Больше всего пересылок:
◽️Синхронизация бэкапов VM между двумя серверами PBS (412)
◽️Мониторинг аутентификаций по SSH с помощью Zabbix (374)
◽️Рекомендации по изучению Zabbix с нуля (349)
📌 Больше всего комментариев:
◽️Результаты опроса на тему гипервизоров (155)
◽️Использование Proxmox Mail Gateway (126)
◽️Рекомендации по изучению Zabbix с нуля (116)
📌 Больше всего реакций:
◽️Синхронизация бэкапов VM между двумя серверами PBS (240)
◽️Современная установка Python приложений в Debian (169)
◽️Восстановление случайно удалённых файлов на примере диска VM (156)
📌 Больше всего просмотров:
◽️ Консольная игра GameShell (11423)
◽️ MX записи у разделегированного домена (10553)
◽️Восстановление случайно удалённых файлов на примере диска VM (10486)
#топ
Пользуясь случаем, хочу попросить проголосовать за мой канал, так как это открывает некоторые дополнительные возможности по настройке: https://xn--r1a.website/boost/srv_admin.
📌 Больше всего пересылок:
◽️Синхронизация бэкапов VM между двумя серверами PBS (412)
◽️Мониторинг аутентификаций по SSH с помощью Zabbix (374)
◽️Рекомендации по изучению Zabbix с нуля (349)
📌 Больше всего комментариев:
◽️Результаты опроса на тему гипервизоров (155)
◽️Использование Proxmox Mail Gateway (126)
◽️Рекомендации по изучению Zabbix с нуля (116)
📌 Больше всего реакций:
◽️Синхронизация бэкапов VM между двумя серверами PBS (240)
◽️Современная установка Python приложений в Debian (169)
◽️Восстановление случайно удалённых файлов на примере диска VM (156)
📌 Больше всего просмотров:
◽️ Консольная игра GameShell (11423)
◽️ MX записи у разделегированного домена (10553)
◽️Восстановление случайно удалённых файлов на примере диска VM (10486)
#топ
Telegram
ServerAdmin.ru
🎄🔝 Под конец года имеет смысл подвести некоторые итоги. В повседневной жизни я не привык это делать. Обычно только доходы/расходы анализирую. А вот в разрезе канала было интересно посмотреть итоги.
Я подготовил ТОП публикаций за прошедший год. Это было…
Я подготовил ТОП публикаций за прошедший год. Это было…
👍33👎1
🎓 Ну что, отцы, студенты и школьники, если таковые имеются. Поздравляю вас с днём знаний. У меня два школьника сегодня в школу пошли, два ещё на подходе, не доросли. Решил в честь такого знаменательного (дети с этим не согласны) дня сделать подборку с бесплатными обучающими материалами, которые были у меня на канале. Хороший повод всё это систематизировать.
Материала получилось очень много, так что в одну публикацию подборка не уместилась, будет две. Ссылки даю на свои заметки по упомянутой теме, так как там более подробное описание. Если отдельной тематической публикации не было, то даю сразу ссылку на материал.
📌Базовое администрирование Linux:
▪️Основы GNU/Linux и подготовка к RHCSA — автор в качестве хобби создаёт хорошие курсы для новичков. Причём как в текстовом виде, так и в виде записанных уроков. Качество материала высокое.
▪️Базовое администрирование Linux-серверов — бесплатный курс по основам от Слёрм.
▪️Введение в Linux — большой и масштабный бесплатный курс по Linux на платформе Stepik.
▪️Администрирование Linux — совместный курс в виде лекций на youtube от команды VK Team на базе МФТИ.
▪️Администрирование базового уровня (LPIC-1) — курс на youtube от известного Семаева Кирилла, который к сожалению больше не в состоянии записывать курсы.
▪️Полный курс из 15-ти лекций по администрированию GNU/Linux от преподавателя ИТМО: Администрирование в ОС GNU/Linux.
▪️Learn the ways of Linux-fu, for free — серия хорошо оформленных и структурированных курсов по основам Linux в виде уроков с заданиями, ответы на которые проверяются автоматически.
📌Сети:
▪️Сети для самых маленьких — очень качественный, структурированный материал по сетям от самых основ до более сложных вещей.
▪️Компьютерные сети, Климанов М.М., Компьютерные сети, учебный курс, Созыкин Андрей — база по сетям от преподавателей МФТИ.
▪️Записи курса компьютерных сетей, который читается для студентов третьего года обучения программы «Прикладная математика и информатика» факультета ИТиП университета ИТМО в шестом семестре. Лектор: Сергей Мельников [s6 | 2023] Компьютерные сети, ✍️ Конспект лекций.
▪️Лекции Артема Береснева по курсу Компьютерные сети в университете ИТМО.
▪️Основы документирования сетей — серия уроков на youtube по документированию сетей.
📌Базы данных:
▪️Бесплатные курсы по СУБД PostgreSQL от компании Postgres Professional. Очень качественный материал.
▪️Введение в базы данных — бесплатный курс на Stepik.
▪️Интерактивный тренажер по SQL — тоже курс на Stepik.
▪️Основы SQL – курс от Созыкина Андрея.
▪️Бесплатные курсы от Selectel: PostgreSQL для новичков и MySQL для новичков.
📌Zabbix:
▪️Демо курс Zabbix 6. Мониторинг IT инфраструктуры предприятия — бесплатный урок от большого платного курса про Zabbix. В демо курсе разбирается установка и настройка сервера, плюс подключение к нему различных агентов.
▪️Zabbix - система мониторинга статусов — немного сумбурный курс с упором на сбор метрик по SNMP, но для бесплатного ознакомления сойдёт. Особенно, если у вас много сетевых устройств, которые как раз по SNMP и мониторятся.
▪️Monitoring IT (базовый) — Небольшой обзорный курс по различным системам мониторинга. Разобраны самые популярные и функциональные продукты: Zabbix, Prometheus, Nagios/Icinga, VictoriaMetrics.
▪️Текстовый курс по Zabbix от практикующего специалиста и преподавателя.
Продолжение 👇👇👇
#подборка #обучение
Материала получилось очень много, так что в одну публикацию подборка не уместилась, будет две. Ссылки даю на свои заметки по упомянутой теме, так как там более подробное описание. Если отдельной тематической публикации не было, то даю сразу ссылку на материал.
📌Базовое администрирование Linux:
▪️Основы GNU/Linux и подготовка к RHCSA — автор в качестве хобби создаёт хорошие курсы для новичков. Причём как в текстовом виде, так и в виде записанных уроков. Качество материала высокое.
▪️Базовое администрирование Linux-серверов — бесплатный курс по основам от Слёрм.
▪️Введение в Linux — большой и масштабный бесплатный курс по Linux на платформе Stepik.
▪️Администрирование Linux — совместный курс в виде лекций на youtube от команды VK Team на базе МФТИ.
▪️Администрирование базового уровня (LPIC-1) — курс на youtube от известного Семаева Кирилла, который к сожалению больше не в состоянии записывать курсы.
▪️Полный курс из 15-ти лекций по администрированию GNU/Linux от преподавателя ИТМО: Администрирование в ОС GNU/Linux.
▪️Learn the ways of Linux-fu, for free — серия хорошо оформленных и структурированных курсов по основам Linux в виде уроков с заданиями, ответы на которые проверяются автоматически.
📌Сети:
▪️Сети для самых маленьких — очень качественный, структурированный материал по сетям от самых основ до более сложных вещей.
▪️Компьютерные сети, Климанов М.М., Компьютерные сети, учебный курс, Созыкин Андрей — база по сетям от преподавателей МФТИ.
▪️Записи курса компьютерных сетей, который читается для студентов третьего года обучения программы «Прикладная математика и информатика» факультета ИТиП университета ИТМО в шестом семестре. Лектор: Сергей Мельников [s6 | 2023] Компьютерные сети, ✍️ Конспект лекций.
▪️Лекции Артема Береснева по курсу Компьютерные сети в университете ИТМО.
▪️Основы документирования сетей — серия уроков на youtube по документированию сетей.
📌Базы данных:
▪️Бесплатные курсы по СУБД PostgreSQL от компании Postgres Professional. Очень качественный материал.
▪️Введение в базы данных — бесплатный курс на Stepik.
▪️Интерактивный тренажер по SQL — тоже курс на Stepik.
▪️Основы SQL – курс от Созыкина Андрея.
▪️Бесплатные курсы от Selectel: PostgreSQL для новичков и MySQL для новичков.
📌Zabbix:
▪️Демо курс Zabbix 6. Мониторинг IT инфраструктуры предприятия — бесплатный урок от большого платного курса про Zabbix. В демо курсе разбирается установка и настройка сервера, плюс подключение к нему различных агентов.
▪️Zabbix - система мониторинга статусов — немного сумбурный курс с упором на сбор метрик по SNMP, но для бесплатного ознакомления сойдёт. Особенно, если у вас много сетевых устройств, которые как раз по SNMP и мониторятся.
▪️Monitoring IT (базовый) — Небольшой обзорный курс по различным системам мониторинга. Разобраны самые популярные и функциональные продукты: Zabbix, Prometheus, Nagios/Icinga, VictoriaMetrics.
▪️Текстовый курс по Zabbix от практикующего специалиста и преподавателя.
Продолжение 👇👇👇
#подборка #обучение
Telegram
ServerAdmin.ru
Для тех, кто захочет позаниматься на выходных и подтянуть свой навык в администрировании Linux в преддверие начала учебного года, предлагаю шикарную ссылку на обучающий материал по теме RHCSA (Red Hat Certified System Administrator).
Поясню тем, кто не…
Поясню тем, кто не…
👍139👎2
Начало 👆👆👆
📌DevOps:
▪️90DaysOfDevOps — сборник из 90 шагов, разбитых на 90 дней для развития в области DevOps. Язык материала - английский.
▪️Как стать DevOps Инженером с Нуля, что учить и в каком порядке —интересное видео от человека, который вкатился в DevOps в 30+ лет. Рассказывает свой опыт.
▪️Онлайн тренажёры от RedHat — интерактивные уроки, где воспроизводят полностью рабочую среду разработчика или devops инженера.
▪️Опытный сисадмин захотел в DevOps? / Техсобес на позицию Junior DevOps Engineer / Mock interview — максимально приближённое к реальности подробное собеседование сисадмина на позицию DevOps Junior.
📌Git:
▪️ Базовый курс по Git — обучающий курс по базам с уроками по 5-7 минут.
▪️Обзорное видео по GIT от авторского ютуб канала Артема Матяшова - Git. Большой практический выпуск. Автор очень хорошо объясняет. Если прям ничего про GIT не знаете, рекомендую начать с него. Хороший монтаж, подача, оформление. Я почти все его видео с удовольствием смотрел. У него их немного.
▪️Очень прикольная визуальная обучалка по основам GIT - LearnGitBranching. Она поддерживается, регулярно обновляется. Качественно сделана. Есть русский язык.
▪️Бесплатный курс по основам от Слёрм — Git для начинающих.
▪️Бесплатные курсы по основам GIT на Stepik: Основы работы с Git и Самоучитель по GIT.
▪️ Более продвинутый курс с погружением в нюансы, ориентированный на разработчиков — Git курс от сообщества javascript.ru.
▪️ Бесплатная книга на русском языке — Pro Git book.
📌Docker:
▪️Основы Docker — хорошее обучающее видео по Docker для новичков.
▪️Play-with-docker — онлайн тренажер для изучения Docker.
📌Kubernetes:
▪️ Полный видеокурс по Kubernetes из 22 обучающих уроков — там вообще всё от нуля до мониторинга и деплоя приложений.
▪️ Play-with-k8s — онлайн платформа для изучения Kubernetes.
📌Ansible:
▪️Ansible На Русском Языке от небезызвестного Дениса Астахова, автора канала ADV-IT. Зная другие материалы этого автора, предполагаю, что это качественный материал.
▪️ИТМО: Инфраструктура как код — курс от известного сообщества DeusOps.
▪️Ansible для начинающих + практический опыт — курс знакомит любого абсолютного новичка в DevOps с основными моментами Ansible с помощью простых практических упражнений.
▪️Небольшой курс из двух уроков от автора канала Unix way. Я уже не раз упоминал его на канале. Уровень материала у него хороший. Да и отзывы к урокам говорят о том, что уроки сделаны качественно.
📌Машинное обучение:
▪️ Введение в машинное обучение
▪️ Прикладное машинное обучение
Это очень качественные в плане подаваемой информации материалы на основе лекций ФПМИ (Физтех-школа прикладной математики и информатики на базе МФТИ).
📌Регулярные выражения:
▪️regexlearn.com — качественный интерактивный тренажёр для изучения регулярных выражений. Он переведён на многие языки, в том числе русский.
#подборка #обучение
📌DevOps:
▪️90DaysOfDevOps — сборник из 90 шагов, разбитых на 90 дней для развития в области DevOps. Язык материала - английский.
▪️Как стать DevOps Инженером с Нуля, что учить и в каком порядке —интересное видео от человека, который вкатился в DevOps в 30+ лет. Рассказывает свой опыт.
▪️Онлайн тренажёры от RedHat — интерактивные уроки, где воспроизводят полностью рабочую среду разработчика или devops инженера.
▪️Опытный сисадмин захотел в DevOps? / Техсобес на позицию Junior DevOps Engineer / Mock interview — максимально приближённое к реальности подробное собеседование сисадмина на позицию DevOps Junior.
📌Git:
▪️ Базовый курс по Git — обучающий курс по базам с уроками по 5-7 минут.
▪️Обзорное видео по GIT от авторского ютуб канала Артема Матяшова - Git. Большой практический выпуск. Автор очень хорошо объясняет. Если прям ничего про GIT не знаете, рекомендую начать с него. Хороший монтаж, подача, оформление. Я почти все его видео с удовольствием смотрел. У него их немного.
▪️Очень прикольная визуальная обучалка по основам GIT - LearnGitBranching. Она поддерживается, регулярно обновляется. Качественно сделана. Есть русский язык.
▪️Бесплатный курс по основам от Слёрм — Git для начинающих.
▪️Бесплатные курсы по основам GIT на Stepik: Основы работы с Git и Самоучитель по GIT.
▪️ Более продвинутый курс с погружением в нюансы, ориентированный на разработчиков — Git курс от сообщества javascript.ru.
▪️ Бесплатная книга на русском языке — Pro Git book.
📌Docker:
▪️Основы Docker — хорошее обучающее видео по Docker для новичков.
▪️Play-with-docker — онлайн тренажер для изучения Docker.
📌Kubernetes:
▪️ Полный видеокурс по Kubernetes из 22 обучающих уроков — там вообще всё от нуля до мониторинга и деплоя приложений.
▪️ Play-with-k8s — онлайн платформа для изучения Kubernetes.
📌Ansible:
▪️Ansible На Русском Языке от небезызвестного Дениса Астахова, автора канала ADV-IT. Зная другие материалы этого автора, предполагаю, что это качественный материал.
▪️ИТМО: Инфраструктура как код — курс от известного сообщества DeusOps.
▪️Ansible для начинающих + практический опыт — курс знакомит любого абсолютного новичка в DevOps с основными моментами Ansible с помощью простых практических упражнений.
▪️Небольшой курс из двух уроков от автора канала Unix way. Я уже не раз упоминал его на канале. Уровень материала у него хороший. Да и отзывы к урокам говорят о том, что уроки сделаны качественно.
📌Машинное обучение:
▪️ Введение в машинное обучение
▪️ Прикладное машинное обучение
Это очень качественные в плане подаваемой информации материалы на основе лекций ФПМИ (Физтех-школа прикладной математики и информатики на базе МФТИ).
📌Регулярные выражения:
▪️regexlearn.com — качественный интерактивный тренажёр для изучения регулярных выражений. Он переведён на многие языки, в том числе русский.
#подборка #обучение
Telegram
ServerAdmin.ru
🎓 Делюсь с вами интересными и полезным проектом для самообразования в сфере DevOps. Возможно вы уже о нём слышали, так как репозиторий 90DaysOfDevOps довольно известный. Это сборник из 90 шагов, разбитых на 90 дней для развития в области DevOps. Язык материала…
👍142👎2
На днях настраивал у себя в доме с нуля Mikrotik. Как это обычно бывает, времени свободного не было, надо было быстро сделать доступ в интернет. Для этого достаточно добавить правило для NAT и в принципе всё. Я ещё DNS сервер сразу включил и разрешил запросы к нему.
Это было новое подключение к провайдеру по PPPOE. Сразу оставил заявку на подключение мне статического внешнего IP адреса. Заявку на удивление быстро обработали, и я увидел у себя на pppoe интерфейсе внешний IP адрес.
Надо было сразу ограничить доступ извне к Mikrotik. Насколько я помню, у него по умолчанию нормально открытый файрвол, то есть всё разрешено. Не долго думая, просто добавил новое и пока единственное правило по блокировке всех входящих соединений:
Счётчик пакетов на правиле начал бодро расти. Проверяю у себя на ноуте интернет, не работает. Сходу не понял, почему, так как не часто приходится с нуля настраивать файрволы. Обычно беру шаблон правил и там по месту что-то меняю. Трафик в цепочке forward вроде разрешён. Должно всё работать.
У меня есть универсальный подход при настройке файрволов – если что-то не работает, то включаю лог на правилах блокировки. По записям лога обычно сразу видно, какое направление из тех, что тебе нужны, блокируется.
Сразу увидел заблокированные входящие запросы от настроенного на Микротике DNS сервера. Последнее время использую DNS от msk-ix.ru:
В общем, сразу понял, что надо добавить правило для уже установленных соединений, чтобы DNS запросы обратно возвращались на роутер:
В таком виде интернет в локальной сети нормально заработал, а все запросы извне были заблокированы. На том и завершил пока настройку. То есть в минимальной настройке достаточно всего трёх правил для работы интернета в локальной сети с использованием DNS сервера на самом Микротике:
В данном случае 1.2.3.4 - статический IP адрес на WAN интерфейсе. Если он не статический, то правило должно быть с masquerade.
В чём разница между masquerade и src-nat, можно посмотреть в переведённой мной презентации с одного из выступлений на микротиковской конференции. Для дома или небольшого офиса принципиальной разницы нет, то для общего образования знать полезно.
Кстати, случился любопытный разговор с монтажником провайдера. Он, когда увидел Mikrotik, сказал, что они его не настраивают. Я успокоил, сказал, что настрою сам. Потом он уточнил, что в принципе, он знает, как настроить PPPOE соединение, роутер подключается к сети и получает IP адрес, но у пользователей в локальной сети интернет всё равно не работает. Я сразу понял, что он не знает о том, что нужно самому настроить NAT. В других домашних роутерах этого делать не надо. Там NAT по умолчанию настроен.
В связи с этим я знакомым или родственникам никогда не рекомендую покупать домой Микротики, если они не умеют сами их настраивать. Это создаёт всем ненужные проблемы. Самому пользователю неудобно, что он не может настроить сам или обратиться к провайдеру. Провайдеру неудобно, что клиент жалуется, а реально проверить на месте монтажник не может, так как не умеет настраивать Микротики.
#mikrotik
Это было новое подключение к провайдеру по PPPOE. Сразу оставил заявку на подключение мне статического внешнего IP адреса. Заявку на удивление быстро обработали, и я увидел у себя на pppoe интерфейсе внешний IP адрес.
Надо было сразу ограничить доступ извне к Mikrotik. Насколько я помню, у него по умолчанию нормально открытый файрвол, то есть всё разрешено. Не долго думая, просто добавил новое и пока единственное правило по блокировке всех входящих соединений:
add action=drop chain=input in-interface=pppoe-out1Счётчик пакетов на правиле начал бодро расти. Проверяю у себя на ноуте интернет, не работает. Сходу не понял, почему, так как не часто приходится с нуля настраивать файрволы. Обычно беру шаблон правил и там по месту что-то меняю. Трафик в цепочке forward вроде разрешён. Должно всё работать.
У меня есть универсальный подход при настройке файрволов – если что-то не работает, то включаю лог на правилах блокировки. По записям лога обычно сразу видно, какое направление из тех, что тебе нужны, блокируется.
Сразу увидел заблокированные входящие запросы от настроенного на Микротике DNS сервера. Последнее время использую DNS от msk-ix.ru:
62.76.76.62 и 62.76.62.76. На всякий случай проверил доступность внешних ресурсов по IP адресам, а не DNS именам. По IP доступ был. В общем, сразу понял, что надо добавить правило для уже установленных соединений, чтобы DNS запросы обратно возвращались на роутер:
add action=accept chain=input connection-state=established in-interface=pppoe-out1В таком виде интернет в локальной сети нормально заработал, а все запросы извне были заблокированы. На том и завершил пока настройку. То есть в минимальной настройке достаточно всего трёх правил для работы интернета в локальной сети с использованием DNS сервера на самом Микротике:
add action=accept chain=input connection-state=established in-interface=pppoe-out1add action=drop chain=input in-interface=pppoe-out1add action=src-nat chain=srcnat out-interface=pppoe-out1 to-addresses=1.2.3.4В данном случае 1.2.3.4 - статический IP адрес на WAN интерфейсе. Если он не статический, то правило должно быть с masquerade.
add action=masquerade chain=srcnat out-interface=pppoe-out1В чём разница между masquerade и src-nat, можно посмотреть в переведённой мной презентации с одного из выступлений на микротиковской конференции. Для дома или небольшого офиса принципиальной разницы нет, то для общего образования знать полезно.
Кстати, случился любопытный разговор с монтажником провайдера. Он, когда увидел Mikrotik, сказал, что они его не настраивают. Я успокоил, сказал, что настрою сам. Потом он уточнил, что в принципе, он знает, как настроить PPPOE соединение, роутер подключается к сети и получает IP адрес, но у пользователей в локальной сети интернет всё равно не работает. Я сразу понял, что он не знает о том, что нужно самому настроить NAT. В других домашних роутерах этого делать не надо. Там NAT по умолчанию настроен.
В связи с этим я знакомым или родственникам никогда не рекомендую покупать домой Микротики, если они не умеют сами их настраивать. Это создаёт всем ненужные проблемы. Самому пользователю неудобно, что он не может настроить сам или обратиться к провайдеру. Провайдеру неудобно, что клиент жалуется, а реально проверить на месте монтажник не может, так как не умеет настраивать Микротики.
#mikrotik
51👍186👎11
На канале в разное время было много упоминаний про консольную утилиту для бэкапа restic. Она популярна в последнее время, много статей и роликов видел с её участием. Не буду много про неё рассказывать, перечислю только основные плюсы. А далее покажу один практический пример.
▪️Есть под все популярные системы, состоит из одного бинарника на go, есть в базовых репозиториях.
▪️Все данные по умолчанию шифруются.
▪️Формат хранения данных в виде снепшотов с дедупликацией.
▪️Поддерживает хранилища: локальная директория, SFTP, S3, свой сервер rest с доступом по HTTP и некоторые другие.
▪️Встроенная проверка целостности данных.
▪️Все параметры можно передавать ключами и переменными.
Я покажу далее, как забэкапить данные с помощью restic в S3 бакет на примере хостера Selectel. Настройка будет плюс-минус идентичной для любого облачного провайдера. У меня S3 бэкапы лежат там, поэтому показываю на данном примере. У хостеров может быть немного запутанной схема предоставления доступа к бакетам, так что иногда приходится повозиться немного, если делаешь впервые.
1️⃣ Создаю бакет у провайдера. В данном случае иду в раздел Инфраструктура ⇨ S3 ⇨ Бакеты. Создаю новый:
◽️Тип бакета: Приватный
◽️Класс хранения: Холодное хранение
◽️Версионирование: отключено (restic сам будет заниматься версионированием)
◽️Тип адресации: vHosted
Далее в разделе Аккаунт ⇨ Сервисные пользователи добавляю нового пользователя, роль - Пользователь S3, Проект - выбранный проект, где создан бакет. Тут же перехожу во вкладку Доступ и создаю S3-ключи. Нужно записать Access key и Secret key. Они нам понадобятся при настройке Restic.
Возвращаюсь в настройки бакета, перехожу на вкладку Политика доступа, создаю политику, где выбираю полный доступ для только что созданного пользователя.
Бакет сделали, доступ настроили. Я получил следующие данные:
S3_HOST=https://s3.ru-1.storage.selcloud.ru
S3_BUCKET=restic55
ACCESS_KEY_ID=XXXXXXXXXX
SECRET_ACCESS_KEY=YYYYYYYYYY
2️⃣ Идём на сервер и устанавливаем Restic:
Параметры доступа к S3 и сам пароль от бэкапов задаются переменными окружения. Введём их, а перед этим отключим сохранение history, чтобы они там не осели:
Пароль
Теперь туда можно бэкапить:
Проверяем список бэкапов. В терминологии restic это snapshots:
У нас только один snapshot. Восстановим его:
В директории
Restic может автоматически ротировать снепшоты. Для этого у него есть набор ключей с гибкими настройками. Например:
🔹
🔹
🔹
И так далее для разных временных отрезков. Наглядный типовой пример политики хранения:
Храним 7 дневных бэкапов, 4 недельных, 12 месячных.
Вы можете написать свои bash костыли для Restic, а можете взять что-то готовое. Например, вот репозиторий, где есть скрипт для бэкапа в S3 с логированием, с некоторыми проверками, с хранением параметров и пароля доступа в отдельных файлах.
⇨ 🌐 Сайт / Исходники / Документация
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#backup #restic #s3
▪️Есть под все популярные системы, состоит из одного бинарника на go, есть в базовых репозиториях.
▪️Все данные по умолчанию шифруются.
▪️Формат хранения данных в виде снепшотов с дедупликацией.
▪️Поддерживает хранилища: локальная директория, SFTP, S3, свой сервер rest с доступом по HTTP и некоторые другие.
▪️Встроенная проверка целостности данных.
▪️Все параметры можно передавать ключами и переменными.
Я покажу далее, как забэкапить данные с помощью restic в S3 бакет на примере хостера Selectel. Настройка будет плюс-минус идентичной для любого облачного провайдера. У меня S3 бэкапы лежат там, поэтому показываю на данном примере. У хостеров может быть немного запутанной схема предоставления доступа к бакетам, так что иногда приходится повозиться немного, если делаешь впервые.
◽️Тип бакета: Приватный
◽️Класс хранения: Холодное хранение
◽️Версионирование: отключено (restic сам будет заниматься версионированием)
◽️Тип адресации: vHosted
Далее в разделе Аккаунт ⇨ Сервисные пользователи добавляю нового пользователя, роль - Пользователь S3, Проект - выбранный проект, где создан бакет. Тут же перехожу во вкладку Доступ и создаю S3-ключи. Нужно записать Access key и Secret key. Они нам понадобятся при настройке Restic.
Возвращаюсь в настройки бакета, перехожу на вкладку Политика доступа, создаю политику, где выбираю полный доступ для только что созданного пользователя.
Бакет сделали, доступ настроили. Я получил следующие данные:
S3_HOST=https://s3.ru-1.storage.selcloud.ru
S3_BUCKET=restic55
ACCESS_KEY_ID=XXXXXXXXXX
SECRET_ACCESS_KEY=YYYYYYYYYY
# apt install resticПараметры доступа к S3 и сам пароль от бэкапов задаются переменными окружения. Введём их, а перед этим отключим сохранение history, чтобы они там не осели:
# unset HISTFILE# export AWS_ACCESS_KEY_ID=XXXXXXXXXX# export AWS_SECRET_ACCESS_KEY=YYYYYYYYYY# export RESTIC_PASSWORD="ZZZZZZZZZZ"Пароль
RESTIC_PASSWORD нужно обязательно сохранить. Без него бэкапы не расшифровать, доступа к ним не будет. Инициализируем репозиторий:# restic init -r s3:https://s3.ru-1.storage.selcloud.ru/restic55Теперь туда можно бэкапить:
# restic backup -r s3:https://s3.ru-1.storage.selcloud.ru/restic55 /var/wwwПроверяем список бэкапов. В терминологии restic это snapshots:
# restic snapshots -r s3:https://s3.ru-1.storage.selcloud.ru/restic55....18eba378 2025-09-01 18:59:24 debian12-vm /var/www....У нас только один snapshot. Восстановим его:
# mkdir /tmp/restore# restic restore 18eba378 -r s3:https://s3.ru-1.storage.selcloud.ru/restic55 --target /tmp/restoreВ директории
/tmp/restore будут файлы этого снепшота. Restic может автоматически ротировать снепшоты. Для этого у него есть набор ключей с гибкими настройками. Например:
🔹
--keep-last N – последние N бэкапов🔹
--keep-daily N – для последних N дней, в которых есть один или несколько снимков, сохранять только самый последний снимок за каждый день🔹
--keep-within-daily duration – сохранять по одному последнему снимку, сделанному в течение указанного duration.И так далее для разных временных отрезков. Наглядный типовой пример политики хранения:
--keep-within-daily 7d --keep-within-weekly 1m --keep-within-monthly 1yХраним 7 дневных бэкапов, 4 недельных, 12 месячных.
Вы можете написать свои bash костыли для Restic, а можете взять что-то готовое. Например, вот репозиторий, где есть скрипт для бэкапа в S3 с логированием, с некоторыми проверками, с хранением параметров и пароля доступа в отдельных файлах.
⇨ 🌐 Сайт / Исходники / Документация
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#backup #restic #s3
Please open Telegram to view this post
VIEW IN TELEGRAM
👍127👎4
Не смог пропустить знаменательное событие сегодняшнего дня. Не забыли о нём? Сделаем так, чтобы на нашем сервере костры рябин горели вечно. Кстати, купил на днях в питомнике 3 рябины. Так что у меня скоро будут гореть реальные костры рябин.
Я уже раньше подобное делал с помощью cron. Пришло время применить systemd timers.
Итак, настроим на сервере вечное 3-е сентября. Для этого первым делом надо отключить синхронизацию времени, в зависимости от того, как она настроена. В современных серверах скорее всего это сделает команда:
Далее нам нужно установить дату на 3-е сентября и добавить в планировщик. Можно сделать это в лоб вот так:
Но тогда устанавливается время на 00:00. Можно сделать аккуратнее и менять только день, не трогая часы. Для этого создадим очень простой скрипт:
Берём текущее время, текущий год и выставляем третье сентября текущего года с неизменным временем. Сохраняем скрипт в
Создаём systemd сервис -
Делаем таймер для службы
Перечитываем конфигурацию и запускаем таймер со службой:
Теперь у вас постоянно переворачивается календарь и каждый день 3-е сентября. Подобную заготовку можно использовать под любой свой скрипт.
#юмор #systemd
Я уже раньше подобное делал с помощью cron. Пришло время применить systemd timers.
Итак, настроим на сервере вечное 3-е сентября. Для этого первым делом надо отключить синхронизацию времени, в зависимости от того, как она настроена. В современных серверах скорее всего это сделает команда:
# timedatectl set-ntp falseДалее нам нужно установить дату на 3-е сентября и добавить в планировщик. Можно сделать это в лоб вот так:
# date -s "2025-09-03 00:00:00"Но тогда устанавливается время на 00:00. Можно сделать аккуратнее и менять только день, не трогая часы. Для этого создадим очень простой скрипт:
#!/bin/bash
now_date=$(date +%H:%M:%S)
now_year=$(date +%Y)
date -s "$now_year-09-03 $now_date"
Берём текущее время, текущий год и выставляем третье сентября текущего года с неизменным временем. Сохраняем скрипт в
/usr/local/bin/3sep.sh и делаем исполняемым:# chmod +x /usr/local/bin/3sep.shСоздаём systemd сервис -
/etc/systemd/system/3sep.service:[Unit]
Description=Set system date to September 3rd, po zavetam Shafutinskogo
[Service]
Type=oneshot
ExecStart=/usr/local/bin/3sep.sh
[Install]
WantedBy=multi-user.target
Делаем таймер для службы
/etc/systemd/system/3sep.timer:[Unit]
Description=Turn over the calendar every minute
[Timer]
OnCalendar=*:0/1
Unit=3sep.service
Persistent=false
[Install]
WantedBy=timers.target
Перечитываем конфигурацию и запускаем таймер со службой:
# systemctl daemon-reload# systemctl enable --now 3sep.serviceТеперь у вас постоянно переворачивается календарь и каждый день 3-е сентября. Подобную заготовку можно использовать под любой свой скрипт.
#юмор #systemd
3👍107👎14
Недавно увидел в видео обзор сервиса с огромным набором всевозможных конвертеров, линтеров, обработчиков и т.д. Показалось, что там есть вообще всё, что может пригодится в разработке и эксплуатации в плане ручных преобразований. Раньше этот сервис не видел. Речь идёт о:
⇨ https://it-tools.tech
Всё это изобилие написано на JavaScript и может быть развёрнуто локально:
Из того, что может пригодиться по нашей теме, отмечу:
▪️IPv4 subnet calculator – калькулятор IP адресов для различных масок подсетей.
▪️MAC address lookup – узнать по MAC адресу производителя. Кстати, часто подобными проверками пользуюсь.
▪️Hash text – проверка хэшей SHA1, SHA256 и т.д.
▪️RSA key pair generator – создание public и private ключей. Сюда бы ещё добавить протокол Ed25519, он более актуален в наши дни.
▪️Password strength analyser – оценка стойкости пароля. Любопытно посмотреть, как добавление двух спецсимволов из очень простого пароля делает практически не перебираемый.
▪️Date-time converter – просмотр времени в различных форматах.
▪️YAML to JSON converter – и все подобные конвертеры и линтеры для YAML, JSON, TOML, XML.
▪️Crontab generator – будет актуально, если не знаете синтаксис cron.
▪️Chmod calculator – то же самое для chmod, если не помните синтаксис.
▪️Docker run to Docker compose converter – полезно выполнять запуск контейнеров в формате docker compose, чтобы потом не вспоминать, как ты запускал контейнер, а просто посмотреть в файле.
▪️Regex cheatsheet – подсказки по regex, чтобы быстро посмотреть, если забыл, что значат \t, \n, ^, $ и т.д.
Вам может быть актуально что-то ещё. Тут явно не хватает JSONPath. Постоянно им пользуюсь – jsonpath.com.
Добавил себе этот сервис на панель закладок браузера.
⇨ 🌐 Сайт / Исходники
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#сервис
⇨ https://it-tools.tech
Всё это изобилие написано на JavaScript и может быть развёрнуто локально:
# docker run -d --name it-tools --restart unless-stopped -p 8080:80 corentinth/it-tools:latestИз того, что может пригодиться по нашей теме, отмечу:
▪️IPv4 subnet calculator – калькулятор IP адресов для различных масок подсетей.
▪️MAC address lookup – узнать по MAC адресу производителя. Кстати, часто подобными проверками пользуюсь.
▪️Hash text – проверка хэшей SHA1, SHA256 и т.д.
▪️RSA key pair generator – создание public и private ключей. Сюда бы ещё добавить протокол Ed25519, он более актуален в наши дни.
▪️Password strength analyser – оценка стойкости пароля. Любопытно посмотреть, как добавление двух спецсимволов из очень простого пароля делает практически не перебираемый.
▪️Date-time converter – просмотр времени в различных форматах.
▪️YAML to JSON converter – и все подобные конвертеры и линтеры для YAML, JSON, TOML, XML.
▪️Crontab generator – будет актуально, если не знаете синтаксис cron.
▪️Chmod calculator – то же самое для chmod, если не помните синтаксис.
▪️Docker run to Docker compose converter – полезно выполнять запуск контейнеров в формате docker compose, чтобы потом не вспоминать, как ты запускал контейнер, а просто посмотреть в файле.
▪️Regex cheatsheet – подсказки по regex, чтобы быстро посмотреть, если забыл, что значат \t, \n, ^, $ и т.д.
Вам может быть актуально что-то ещё. Тут явно не хватает JSONPath. Постоянно им пользуюсь – jsonpath.com.
Добавил себе этот сервис на панель закладок браузера.
⇨ 🌐 Сайт / Исходники
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#сервис
6👍143👎3
☝️ Всё новое – хорошо забытое старое.
Не люблю делать повторы своих старых публикаций, потому что это странно выглядит для тех, кто их уже читал. При этом формат Telegram каналов таков, что к старой информации, если её не сохранили специально, редко кто обращается. Поэтому, чтобы не терять полезную уже написанную информацию, я её оформляю время от времени в подборки для того, чтобы новые читатели тоже имели возможность с ней познакомиться.
В эту подборку я объединил способы решения типовых задач в консоли Linux, которые практически не теряют актуальность со временем. Все заметки написаны лично мной и чаще всего с конкретными практическими примерами. Их имеет смысл сохранить, чтобы потом в нужный момент открыть и выполнить предложенные действия. Я сам таким образом использую эти заметки.
Система в целом:
🔥Профилирование нагрузки в Linux
▪️Краткий список действий, чтобы понять, из-за чего тормозит сервер
▪️Временная нагрузка на сервер с помощью системных утилит для проверки мониторинга
▪️Анализ производительности системы под нагрузкой с помощью sysbench
▪️Прикладные примеры использования lsof для различных задач
Диск:
🔥 Анализ дисковой активности в Linux с помощью btrace, iostat, iotop, pidstat, fatrace, strace
▪️Анализируем нагрузку на диск с помощью perf-tools
▪️Расследование фантомных чтений с диска
▪️Отличный скрипт, который позволит быстро разобраться, кто и чем занял свободное место на сервере
▪️Снижение задержек в SSD дисках
▪️Файл удалили, а место не освободилось
▪️Шпаргалка с командами, если у вас закончилось место на диске
Сеть:
🔥Подборка утилит для просмотра статистики сетевых интерфейсов
▪️Анализ направлений трафика с реальными скоростями с iftop
▪️Анализ сетевой активности с помощью утилит из пакета netsniff-ng
▪️Запись дампа трафика конкретного приложения
Память:
🔥Просмотр использования памяти процессами с помощью pmap
▪️Кто и как использует swap
▪️Уменьшение или увеличение ram на ходу
▪️Удобный скрипт для просмотра использования оперативной памяти программами (не процессами!)
Разное:
▪️Расследование тормозов MySQL сервера
▪️Трассировка медленных запросов в php-fpm
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#подборка #linux #perfomance
Не люблю делать повторы своих старых публикаций, потому что это странно выглядит для тех, кто их уже читал. При этом формат Telegram каналов таков, что к старой информации, если её не сохранили специально, редко кто обращается. Поэтому, чтобы не терять полезную уже написанную информацию, я её оформляю время от времени в подборки для того, чтобы новые читатели тоже имели возможность с ней познакомиться.
В эту подборку я объединил способы решения типовых задач в консоли Linux, которые практически не теряют актуальность со временем. Все заметки написаны лично мной и чаще всего с конкретными практическими примерами. Их имеет смысл сохранить, чтобы потом в нужный момент открыть и выполнить предложенные действия. Я сам таким образом использую эти заметки.
Система в целом:
🔥Профилирование нагрузки в Linux
▪️Краткий список действий, чтобы понять, из-за чего тормозит сервер
▪️Временная нагрузка на сервер с помощью системных утилит для проверки мониторинга
▪️Анализ производительности системы под нагрузкой с помощью sysbench
▪️Прикладные примеры использования lsof для различных задач
Диск:
🔥 Анализ дисковой активности в Linux с помощью btrace, iostat, iotop, pidstat, fatrace, strace
▪️Анализируем нагрузку на диск с помощью perf-tools
▪️Расследование фантомных чтений с диска
▪️Отличный скрипт, который позволит быстро разобраться, кто и чем занял свободное место на сервере
▪️Снижение задержек в SSD дисках
▪️Файл удалили, а место не освободилось
▪️Шпаргалка с командами, если у вас закончилось место на диске
Сеть:
🔥Подборка утилит для просмотра статистики сетевых интерфейсов
▪️Анализ направлений трафика с реальными скоростями с iftop
▪️Анализ сетевой активности с помощью утилит из пакета netsniff-ng
▪️Запись дампа трафика конкретного приложения
Память:
🔥Просмотр использования памяти процессами с помощью pmap
▪️Кто и как использует swap
▪️Уменьшение или увеличение ram на ходу
▪️Удобный скрипт для просмотра использования оперативной памяти программами (не процессами!)
Разное:
▪️Расследование тормозов MySQL сервера
▪️Трассировка медленных запросов в php-fpm
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#подборка #linux #perfomance
Telegram
ServerAdmin.ru
Как и обещал, подготовил заметку по профилированию нагрузки в Linux. Первое, что нужно понимать — для диагностики нужна методика. Хаотичное использование различных инструментов только в самом простом случае даст положительный результат.
Наиболее известные…
Наиболее известные…
1👍185👎2
Изучил и протестировал необычную систему по контролю за временем, проведённым за компьютером. Задумался на днях над тем, как ограничить время, проведённое детьми за компьютером. С малых лет покупаю им компьютеры, чтобы привыкали и учились за ними работать. Но оставлять их с ним бесконтрольно нельзя.
Ещё даже искать ничего не начал на эту тему, как случайно где-то в комментариях накануне увидел упоминание системы Libki. Записал себе в заметки, а теперь пришло время посмотреть на неё. А это оказалось как раз то, что мне было надо.
Сразу скажу, что система не особо понравилось, но так как я её развернул и протестировал, плюс, на русском языке о ней вообще нет ни то, что руководств, даже упоминаний, решил написать заметку. Да и в целом она работает, но есть нюансы. Расскажу по порядку.
Libki – это open source платформа, состоящая из серверной части и клиентов. Клиенты устанавливаются на конечные системы (Linux и Windows), соединяются с сервером и от него получают разрешение на время, проведённое за компьютером определённым пользователем. То есть клиент управляет доступом к компьютеру.
С помощью Libki можно:
◽️Создавать пользователей и указывать, сколько каждый из них может провести времени за компьютером.
◽️Указывать интервалы времени, в которое доступ разрешён или заблокирован. Это как раз то, что мне нужно. Я могу запретить использование компьютера после 22:00.
◽️Ограничивать не только максимальное время за компьютером, но и интервал непрерывного пользования. То есть можно установить, что компьютером можно пользоваться 2 часа в день, но при этом не дольше, чем одним интервалом в час с обязательным перерывом в 2 часа.
◽️Указывать системных пользователей, для которых действуют ограничения, но при этом оставлять тех, на кого они не распространяются. Например, для детей есть ограничения, для родителей – нет.
◽️Отправлять уведомления при аутентификации пользователя за компьютером.
◽️Управлять ограничениями с печатью на принтере. Не тестировал и не разбирался с этой функциональностью.
◽️Настраивать гостевой доступ для пользователей компьютера без своей учётной записи.
То есть это решение подойдёт, как я рассказал, для семейного пользования компьютерами детьми, а так же для каких-то публичных мест, где требуется ограничить время пользования компьютером. Например, какие-то учебные классы, игровые компьютеры и т.д.
Набор возможностей невелик, но и решение некоммерческое. Так что грех жаловаться. Теперь перечислю, что не понравилось:
1️⃣ Debian 11 – самая свежая версия, которая поддерживается автоматическим скриптом установки. На 12-й у меня не заработал скрипт. Написал, что версия не поддерживается. Может его можно отредактировать, поставить вручную или в Docker. Не проверял. Развернул быстро в LXC контейнере с Debian 11:
Как я уже сказал, можно установить и вручную, если не доверяете скрипту. Если инструкция в документации.
2️⃣ Продукт старый. Раньше развивался активнее. Сейчас гораздо меньше. Последний релиз сервера был в 2022 году, клиент посвежее. На Windows 11 нормально встал.
3️⃣ У меня глючно работал веб интерфейс управления. Некоторое время не мог добавить нового пользователя. Кнопка просто не работала. Пробовал разные браузеры. Не понял, что в итоге помогло. В какой-то момент перезагрузил контейнер и всё нормально заработало. Так что смог проверить работу системы.
В целом, всё работает. Установил сервер однострочником, зашёл в веб интерфейс, добавил пользователя. Потом установил на Windows 11 клиент, связал его с сервером, указал пользователя (себя), для которого нет ограничения. Остальные пользователи, когда входят в систему, видят интерфейс клиента, куда надо ввести учётные данные пользователя, созданного на сервере. Пока не введешь, доступа к системе нет.
Как я сказал, программа работает, но выглядит так себе. Если кто-то знает бесплатные аналоги, буду рад рекомендациям.
⇨ 🌐 Сайт / Исходники / Документация
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#управление
Ещё даже искать ничего не начал на эту тему, как случайно где-то в комментариях накануне увидел упоминание системы Libki. Записал себе в заметки, а теперь пришло время посмотреть на неё. А это оказалось как раз то, что мне было надо.
Сразу скажу, что система не особо понравилось, но так как я её развернул и протестировал, плюс, на русском языке о ней вообще нет ни то, что руководств, даже упоминаний, решил написать заметку. Да и в целом она работает, но есть нюансы. Расскажу по порядку.
Libki – это open source платформа, состоящая из серверной части и клиентов. Клиенты устанавливаются на конечные системы (Linux и Windows), соединяются с сервером и от него получают разрешение на время, проведённое за компьютером определённым пользователем. То есть клиент управляет доступом к компьютеру.
С помощью Libki можно:
◽️Создавать пользователей и указывать, сколько каждый из них может провести времени за компьютером.
◽️Указывать интервалы времени, в которое доступ разрешён или заблокирован. Это как раз то, что мне нужно. Я могу запретить использование компьютера после 22:00.
◽️Ограничивать не только максимальное время за компьютером, но и интервал непрерывного пользования. То есть можно установить, что компьютером можно пользоваться 2 часа в день, но при этом не дольше, чем одним интервалом в час с обязательным перерывом в 2 часа.
◽️Указывать системных пользователей, для которых действуют ограничения, но при этом оставлять тех, на кого они не распространяются. Например, для детей есть ограничения, для родителей – нет.
◽️Отправлять уведомления при аутентификации пользователя за компьютером.
◽️Управлять ограничениями с печатью на принтере. Не тестировал и не разбирался с этой функциональностью.
◽️Настраивать гостевой доступ для пользователей компьютера без своей учётной записи.
То есть это решение подойдёт, как я рассказал, для семейного пользования компьютерами детьми, а так же для каких-то публичных мест, где требуется ограничить время пользования компьютером. Например, какие-то учебные классы, игровые компьютеры и т.д.
Набор возможностей невелик, но и решение некоммерческое. Так что грех жаловаться. Теперь перечислю, что не понравилось:
# wget -O- install.libki.org | bashКак я уже сказал, можно установить и вручную, если не доверяете скрипту. Если инструкция в документации.
В целом, всё работает. Установил сервер однострочником, зашёл в веб интерфейс, добавил пользователя. Потом установил на Windows 11 клиент, связал его с сервером, указал пользователя (себя), для которого нет ограничения. Остальные пользователи, когда входят в систему, видят интерфейс клиента, куда надо ввести учётные данные пользователя, созданного на сервере. Пока не введешь, доступа к системе нет.
Как я сказал, программа работает, но выглядит так себе. Если кто-то знает бесплатные аналоги, буду рад рекомендациям.
⇨ 🌐 Сайт / Исходники / Документация
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#управление
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍97👎5