Сообщество - GNU/Linux

GNU/Linux

1 172 поста 15 636 подписчиков

Популярные теги в сообществе:

44

HAProxy, Nginx и Docker: как это сделано в Roxy-WI

Продолжаем цикл статей о возможностях Roxy-WI. Сегодня мы поговорим ещё об одном важном наборе функций, связанных с управлением сервисами (а именно ― HAproxy и Nginx) в docker-контейнерах. Мы старались сделать эту функцию максимально простой и удобной в использовании. О том, что у нас получилось, и пойдёт речь ниже.

HAProxy, Nginx и Docker: как это сделано в Roxy-WI

Зачем запускать сервисы в контейнере?


Контейнеризация ― это актуальный тренд на протяжении вот уже многих лет (первая версия Docker вышла в 2013 году).  Самое главное преимущество контейнеров заключается в сведении к минимуму возни с установкой и запуском. Все проблемы с зависимости снимаются раз и навсегда. В контейнере мы получаем готовое приложение, которое достаточно просто загрузить на хост и запустить. Собственно, контейнеризованное приложение не будет установлено в систему в буквальном смысле слова: оно будет запущено в изолированном окружении и может быть в любой момент убрано из системы.



Зачем управлять контейнерами через графический интерфейс?


Вопрос, вынесенный в название параграфа, может возникнуть у многих читателей: управлять Docker-контейнерами через командную строку несложно; в свободном доступе опубликованы тысячи, если не сотни тысяч, руководств и обучающих материалов. Тем не менее, за 8 лет существования Docker было создано немало решений для работы с контейнерами через веб-интерфейс.  Какие преимущества даёт веб-интерфейс?


Первое преимущество ― это наглядность. Пользователь может видеть, какие приложения работают в контейнерах и как контейнеры взаимосвязаны между собой. Это актуально, например, для больших (десятки и сотни контейнеров) инсталляций Docker.


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


Третье преимущество заключается в упрощении многих операций, что полезно как для начинающих, так и для опытных (особенно при работе с большими инсталляциями) пользователей. Управлять через GUI сетями, томами, образами значительно проще, чем через командную строку.


Четвертое преимущество заключается в наличии дополнительных функций и возможностей: например, управление правами и списками доступа (разным пользователям могут быть доступны разные контейнеры; кроме того, для всех пользователей можно задавать индивидуальные права на выполнение тех или иных операций).  Настраивать всё это через графический интерфейс получается значительно проще и быстрее, чем устанавливать дополнительные инструменты, а затем прописывать необходимые  настройки в конфигурационном файле.



Как это сделано в Roxy-WI


В Roxy-WI мы стремились сделать работу с контейнерами максимально простой и удобной: по сути управление сервисом в контейнере не должно ничем отличаться от управлением тем же сервисом в неконтейнеризованном виде.


Для экземпляров сервисов, работающих в контейнерах, у нас предусмотрена визуализация: на странице HAProxy => Overview (или Nginx => Overview) они помечены значком “коробки”, то есть контейнер. Для них доступны те же функции, что и для всех обычных сервисов.


Начиная с текущей версии (5.3.0)  могут установить HAProxy и Nginx в контейнерах непосредственно через Roxy-WI. Всё очень просто: идём на страницу Servers page и нажимаем на кнопку Proxy installation.  В открывшемся окне выбираем чекбокс Install as a Docker container. После этого всё, начнётся установка.


По умолчанию контейнеры получают имена haproxy и nginx.  Если эти имена требуется изменить, нужно перейти на страницу Settings и отредактировать значения параметров haproxy_container_name и/или nginx_container_name


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



Заключение


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


https://roxy-wi.org  - официальный сайт и документация проекта;


https://github.com/hap-wi/roxy-wi - репозиторий проекта (можно не только высказывать своё мнение, но и присылать пулл-реквесты);


https://t.me/haproxy_wi  - наш телеграм-канал; подписывайтесь и будьте в курсе всех новостей.

Показать полностью
159

Изучаем GNU/Linux часть 61. Глоббинг и регулярные выражения

Продолжаем изучать GNU/Linux и готовиться к сертификации от Red Hat (RHCSA).

Для тех, кто видит мои посты впервые - я стараюсь очень лёгким языком с нуля научить вас работать с операционной системой GNU/Linux. Зачем? Потому что - Стоит ли делать курс по RHCSA?


Предыдущие темы:

Глава 3: pikabu.ru/@doatta/saved/1495320

Глава 2: pikabu.ru/@doatta/saved/1399947

Глава 1: pikabu.ru/@doatta/saved/1399945


Про глоббинг, регулярные выражения, grep, sed и awk.

P.S. Текстовой вариант по ссылке - https://glr.doatta.cloud/

16

Нужна помощь по transmission

Нужна помощь по transmission

Приветствую! Под влиянием обстоятельств установил в домашней сети сервер на основе одноплатного компьютера Opi PC, на нём запущены самба, плекс и трансмишн. Всё работает без замечаний, кроме трансмишена - при запуске скачивания начинаются отвалы Remote Gui и Web Gui, будто идёт лютый кач на все 10 из 10, но на самом деле загрузка может занимать не больше 10% канала (что на актуальных торрентах тоже странно, т.е. иногда не разгоняется). Перегрева, нагрузки на проц, память или диск нет никакой, всё пристойно. В /var/log/syslog от трансмишена ничего, толкько старт стоп когда я его перезапускал.


Было у кого-нибудь такое? Где ещё посмотреть? Как побороть?

Спасибо.

Показать полностью
208

Изучаем GNU/Linux часть 60. Веб-интерфейс - Cockpit

Продолжаем изучать GNU/Linux и готовиться к сертификации от Red Hat (RHCSA).

Для тех, кто видит мои посты впервые - я стараюсь очень лёгким языком с нуля научить вас работать с операционной системой GNU/Linux. Зачем? Потому что - Стоит ли делать курс по RHCSA?



Предыдущие темы:

Глава 3: pikabu.ru/@doatta/saved/1495320

Глава 2: pikabu.ru/@doatta/saved/1399947

Глава 1: pikabu.ru/@doatta/saved/1399945


Научимся работать с Cockpit

P.S. Текстовой вариант по ссылке - https://glr.doatta.cloud/

Показать полностью 1
182

Изучаем GNU/Linux часть 59. Автоматическое монтирование - Autofs

Продолжаем изучать GNU/Linux и готовиться к сертификации от Red Hat (RHCSA).

Для тех, кто видит мои посты впервые - я стараюсь очень лёгким языком с нуля научить вас работать с операционной системой GNU/Linux. Зачем? Потому что - Стоит ли делать курс по RHCSA?


Предыдущие темы:

Изучаем GNU/Linux часть 58. Сетевые файловые системы - SMB

Изучаем GNU/Linux часть 57. Сетевые файловые системы - NFS

Глава 3: pikabu.ru/@doatta/saved/1495320

Глава 2: pikabu.ru/@doatta/saved/1399947

Глава 1: pikabu.ru/@doatta/saved/1399945


Настроим freeipa клиент и autofs

P.S. Текстовой вариант по ссылке - https://glr.doatta.cloud/

Показать полностью 1
28

What does the Checker check, или как организовать удобный мониторинг через веб-интерфейс =)

Продолжаем серию публикаций о нашем веб-интерфейс для HAProxy. Сегодня мы поговорим о специализированном сервис под названием Checker, предназначенном для мониторинга сервисов HAProxy и Nginx, а также бэкендов HAProxy. Если один из сервисов падает, то Checker рассылает уведомления через Telegram или Slack.

Это очень удобно: не нужно "прикручивать" сторонний инструмент мониторинга, да и умеет Checker (причём из коробки) гораздо больше. Впрочем, обо всём по порядку.

Структура и функции


Сервис Cheсker состоит из управляющего компонента (Master Checker в терминологии Roxy-WI) и рабочих компонентов (Worker Checkers в терминологии Roxy-WI)

Рабочие компоненты на текущий момент имеются для HAProxy и Nginx.C функциями управляющего компонента всё понятно - он отвечает за функционирование рабочих компонентов.


Рассмотрим их функции более подробно. Рабочий компонент для HAProxy умеет проверять статус сервиса HAProxy, а также статус бэкендов, а также рассылать уведомления в Теlegram, Slack или в оба мессенджера одновременно. Важный момент: ещё он умеет проверять, приближается ли число установленных соединений к заданному лимиту, и отправлять соответствующие уведомления. При использовании сторонних инструментов мониторинга это возможно, но всё сложнее: для того же Prometheus надо прописывать отдельные правила. У нас же никаких дополнительных настроек не нужно.Рабочий компонент для Nginx умеет проверять статус сервиса Nginx, и рассылать уведомления, если статус изменился. В планах — создание рабочего компонента для Keepalived. Он будет проверять состояние сервиса, а также отправлять уведомления при каждом переключении между мастером и бэкапом.


Установка


Дисклеймер: для выполнения всех описанных ниже действий у вас уже должен быть установлен Roxy-WI. Если вы его ещё не установили, читайте здесь, как это сделать.


Установить Checker можно с помощью стандартного менеджера пакетов:


#yum
$ sudo yum install roxy-wi-checker
#apt
$ sudo apt-get install roxy-wi-checker

После установки нужно запустить Checker. Для этого в главном меню выбираем пункт Admin Area => Services, находим в списке roxy-wi-checker (он там идёт первым) и нажимаем на значок "Play"


Затем потребуется включить Checker для серверов, для которых мы планируем получать уведомоления. Выбираем в главном меню пункт HAProxy => Overview или Nginx => Overview. На экране мы увидим список серверов, в котором каждый сервер будет представлен в виде отдельной карточки, например:

Здесь всё просто: выбираем соответствующий чекбокс — и Checker включен. Уведомления обо всех событиях будут приходить прямо в браузере и сопровождаться звуковым сигналом —’это удобно, например, для дежурных системных администраторов и сотрудников служб технической поддержки.


Информация обо всех событиях, которые регистрирует Checker, сохраняется в истории (Monitoring => Checker history в главном меню):

Она может оказаться полезной при диагностике и устранении неисправностей.Состояние как управляющего (Master), так и рабочих (Worker) компонентов Checker можно отследить на главной странице Roxy-WI в разделе Services status:

Практический кейс: настраиваем уведомления через Telegram


Рассмотрим возможности Checker более подробно. Попробуем сделать так, чтобы сервис рассылал сообщения об изменения состояния сервисов через Telegram.


Для этого потребуется:


1. создать Telegram-бота;

2. создать Telegram-канал;

3. предоставить боту права администратора канала;

4. активировать Checker для серверов, информацию о которых вы планируете получать


Краткая инструкция по созданию бота опубликована на сайте Roxy-WI. По завершению всей процедуры BotFather (служебный бот, который управляет всеми ботами в Telegram) выдаст токен. Скопируем токен и выберем в главном меню Admin Area => Services.


Интерфейс для управления Telegram-уведомлениями выглядит так:

Вставляем Token в соответствующее поле, в поле Channel name вводим имя канала (обязательно со знаком @). Далее нужно будет выбрать группу, для которой будут рассылаться тестовые уведомления. В нашем случае это группа dev.


Вообще серверы на группы можно делить на любых основаниях, и создавать неограниченное количество групп (пункт Admin Area => Groups в главном меню).Заполнив все поля, нажимаем на кнопку test — в канал будет отправлено тестовое уведомление.


Заключение


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


Наш репозиторий — https://github.com/hap-wi/roxy-wi

Наш Telegram-канал — https://t.me/haproxy-wi

Показать полностью 5
5

Сабж виндузятник, но любит боль

Сегодня ставил на старичка с убунтой Robot Operation System и внезапно напоролся при настройке на фигню которая имхо выглядит как-будто искомая мной утилита стоит, но на команду не отзывается.

Сабж виндузятник, но любит боль

У меня тут винтики за шестерёночки зашли или я правильно понял?
В винде фиксил это через переменную окружения PATH, а тут как подобное решается?


бейте нежно

Показать полностью
238

Изучаем GNU/Linux часть 58. Сетевые файловые системы - SMB

Продолжаем изучать GNU/Linux и готовиться к сертификации от Red Hat (RHCSA).

Для тех, кто видит мои посты впервые - я стараюсь очень лёгким языком с нуля научить вас работать с операционной системой GNU/Linux. Зачем? Потому что - Стоит ли делать курс по RHCSA?


Предыдущие темы:

Изучаем GNU/Linux часть 57. Сетевые файловые системы - NFS

Изучаем GNU/Linux часть 56. Передача файлов по сети

Глава 3: pikabu.ru/@doatta/saved/1495320

Глава 2: pikabu.ru/@doatta/saved/1399947

Глава 1: pikabu.ru/@doatta/saved/1399945


Научимся работать с SMB

P.S. Текстовой вариант по ссылке - https://glr.doatta.cloud/

Показать полностью 1
Отличная работа, все прочитано!