Найти тему
Игорь Сотников

Cockpit — веб-панель для управления Linux-сервером

Описание Cockpit

Часто при упоминании Linux-сервера представляется консоль. Действительно так — через терминал в большинстве случаев выполняется управление и администрирование *NIX систем. Нельзя сказать, что это по душе всем, особенно, новичкам. Тем не менее, у GUI есть ряд преимуществ — наглядность, простота в использовании, понятность и меньшая вероятность ошибки.

Довольно сложно выбрать веб-панель из большого ряда подобных проектов. Одним из самых функциональных и «проверенных» временем (около 16 лет проекту) является webmin, а с темой оформления Authentic (github.com/qooob/authentic-theme) выглядит уже совсем современно. Но вернемся ближе к теме: почему я выбрал Cockpit?

Плюсы и основные возможности Cockpit

Cockpit — веб-панель управления серверами с открытым исходным кодом, разрабатываемая компанией Red Hat. Это говорит об отличной совместимости с CentOS. Надстройка предназначена для контроля работы и состояния систем, развертывания услуг на базе контейнеров.

По большому счету молодым системным администраторам не рекомендуется использовать панели управления *NIX серверами, т.к. теряется ощущение системы, ее более глубокое понимание. Тем не менее с помощью понятного интерфейса Cockpit очень просто выполнить основные задачи администрирования

  • запуск и остановка служб (systemd),
  • настройка устройств хранения (настройка LVM, создание RAID) — в данный момент оставили только мониторинг производительности (Disk I/O),
  • конфигурация сети (bonding, VLAN, bridge),
  • управление учетными записями пользователей,
  • присоединение в домен,
  • управление пользовательскими SSH-ключами,
  • мониторинг нагрузки в реальном времени (сеть, дисковая подсистема, CPU и RAM),
  • проверка логов
  • одновременное использование терминала и веб-браузера,
  • работа с контейнерами Docker
  • управление несколькими серверами из одной веб-консоли.

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

Легкость надстройки, отзывчивый и лаконичный интерфейс, возможность быстрого получения информации по производительности и логам — основные критерии выбора данной панели управления для меня. Основные операции все же выполняются в консоли, но тем не менее веб-панель используется для оперативного мониторинга системы в реальном времени.

Теперь перейдем к небольшому обзору возможностей и особенностей данной системы. Если вы используете несколько серверов, их легко можно мониторить через одну единую веб-панель. Для этого к Dashboard можно подключить, как и отдельные сервера, так и панель управления кластерами Kubernetes или OpenShift v3. При этом, чтобы подключить новый сервер, достаточно выбрать Add Server, указать его имя или IP. Флажок «Log in with my current credential» позволит использовать текущие данные для входа.

Стоит обратить внимание на возможность использования для управления сервером одновременно терминала и веб-браузера. В отличие от остальных решений, в Cockpit такой подход работает корректно и не вызывает проблем. Поэтому можно отдавать команды в консоли, а отслеживать результат в Cockpit, или наоборот. Более того, сам Cockpit предоставляет терминал, поэтому управлять сервером можно полностью из браузера!

Особенностью Cockpit (и его единственным серьезным минусом) является использование сокета systemd. В дистрибутивах, использующих другой менеджер служб, будут работать не все функции. Хотя это не мешает собрать все серверы под один интерфейс для более удобного доступа к ним.

Установка Cockpit на CentOS 7

Установка Cockpit на CentOS 7 не вызывает никаких затруднений и состоит из двух частей — установки требуемых пакетов и зависимостей в автоматическом режиме, а также добавление правил в системный фаервол.

1sudo yum -y install cockpit

Если вам требуется установка и использование Doker контейнеров, то данный функционал добавляется в панель Cockpit отдельным модулем, который устанавливается аналогичным образом:

1sudo yum -y install cockpit-docker

Стартуем сервис:

1sudo systemctl start cockpit

Добавляем в автозагрузку:

1sudo systemctl enable cockpit.socket

После этого, открыв браузер на http ://IP_or_name_server:9090, и авторизовавшись, переходим к управлению системой. Если не можете зайти — стоит добавить правила для firewalld:

123sudo firewall-cmd --reloadsudo firewall-cmd --add-service=cockpitsudo firewall-cmd --add-service=cockpit --permanent

После входа пользователя встречает панель мониторинга, показывающая графики нагрузки CPU, памяти, сети и I/O дисковых операций. Ниже показан сервер, на котором установлен Cockpit; что- бы получить по нему данные, достаточно щелкнуть по ссылке. Все настройки разбиты в шесть меню, назначение которых интуитивно понятны.

Настройка работы самой панели Cockpit обычно не требуются, а при появлении затруднений — все вопросы по администрированию изложены в Cockpit Guidecockpit-project.org/guide/latest.