Cockpit: веб-интерфейс управления сервером CentOS/RHEL

В этой статье мы рассмотрим, как установить и использовать веб-интерфейс управления сервером Cockpit Web Console в CentOS 8 (применимо для Red Hat, Fedora, Ubuntu, Debian, Arch). Мы рассмотрим базовые возможности данной консоли, и покажем, как через простой и удобный веб-интерфейс cockpit выполнять типовые задачи администрирования и мониторинга ваших серверов. Для тех, кто только начинает разбираться с CentOS, данная web-консоль станет незаменим помощником в администрировании сервера.

Основные возможности web-интерфейса управления сервером cockpit :

    • Управление учетными записями
    • Мониторинг системы
    • Обновление ПО
    • Просмотр лог-файлов
  • Сетевые настройки
  • Управление виртуальными машинами KVM

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

Перед установкой пакета cockpit нужно обновить все пакеты в системе:

# dnf update -y

После чего, можно установить непосредственно сам cockpit через менеджер пакетов :

# dnf install cockpit –y

В CentOS 8 cockpit устанавливается по умолчанию, кроме случаев с minimal core установкой.

При запуске команды, система предложит установить cockpit и все зависимости.

установка cockpit в centos

После установки, нужно запустить сервис cockpit и добавить его в автозагрузку :

# systemctl start cockpit.socket
# systemctl enable cockpit.socket

systemctl enable cockpit.socket включить службу

Для доступа к web-интерфейс нужно открыть на файерволле порт TCP 9090 . Для firewalld это выполняется через добавление сервиса в исключения:

# firewall-cmd --add-service=cockpit --permanent
# firewall-cmd --reload

Для iptables :

# iptables -A INPUT -m state --state NEW -p tcp --dport 9090 -j ACCEPT
# service iptables save && service iptables restart

Использование веб-интерфейса cockpit для управления CentOS

Откройте веб-консоль Cockpit в браузере, перейдя по адресу:

https://ip:9090

IP — адрес вашего сервера с cockpit

форма авторизации веб интерфейса cockpit

Для авторизации в Cockpit используются локальные учетные записи в CentOS. Можно авторизовать под root.

При авторизации в интерфейсе Cockpit, на главной странице вы можете увидеть монитор производительности сервера:

cockpit dasboard текущая нагрузка на сервер

В динамических графиках показывается текущая нагрузка на основные ресурсы вашего сервера:

  1. Загрузка CPU
  2. Использование памяти
  3. Нагрузка на дисковую подсистемы (не в IOPS , а в KiB/s)
  4. Cетевую активность

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

информация о системе и перезагрузка сервера в cockpit

С левой стороны панели, есть меню. Некоторые пункты мы рассмотрим подробно:

возможности cockpit

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

В разделе сеть, вы можете управлять сетевыми настройками и правилами файерволла:

настройка правил фаейрвола в cockpit

Как видите, у нас есть 3 правила, которые можно просмотреть или изменить, в панели вы так же можете добавить новые правила:

настройка собственного правила firewalld cockpit

Т.е. если вы неуверенно чувствуете себя в консоли, вы можете настроить правила файервола через web-интерфейс.

Помимо настроек файерволла, вы можете управлять настройками сетевых интерфейсов (изменить VLAN на сервере, файл конфигурации сети, добавить мост и т.д.):

Cockpit: веб-интерфейс управления сервером CentOS/RHEL

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

создать нового пользователя в cockpit

Можете через консоль убедиться, что пользователь создан:

[root@server ~]# cat /etc/passwd | grep tes

test:x:1000:1000:test:/home/test:/bin/bash

В разделе службы, вы можете настраивать и управлять сетевыми сервисами.

управление службами linux в cockpit

Если вы откроете любой сервис, можно увидеть все настройки:

остановить/перезапустить службу

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

Для веб-интерфейса cockpit по умолчанию используется самодопдписанный сертификат, который хранится в каталоге /etc/cockpit/ws-certs.d. Можете заменить его коммерческим SSL сертфикатом или использовать бесплатный Let’s Encrypt .

На вкладке “Программные обновления” можно включить управлять установкой обновлений CentOS и пакетов из подключенных репозиториев .

установка обновлений сервера в cockpit

Можно включить автоматическое обновление системы (выполняется через пакет dnf-automatic).

dnf-automatic

После установки которого, вы можете настроить вариант обновления вашей системы и задать время для автоматической установки обновлений.

настройка параметров автоматического обновления centos

Если вас не устраивает вариант с автоматическим обновлением, вы можете их устанавливать в ручную.

В консоли если удобный веб-терминал, для работы с сервером из привычного shell для запуска команд:

консоль cockpit

Если у вас используется SELinux , им также можно управлять через cockpit.

Если с главной страицы веб интерфейса щелкнуть по графику дисковой активности, появится веб интерфейс для управления дисками (Storage). где вы можете создать или перенастроить LVM разделы , настроить RAID группы или подключить iSCSI устройства.

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

В Cockpit можно управлять сразу множеством серверов CentOS/RHEL. Для этого нужно добавить необходимые сервера в Machines dashboard.

Cockpit: управление контейнерами через podman

Для работы с контейнерами на сервере, для cockpit существует отдельный плагин podman (в ранних релизах исопльзовался docker ). Установите пакет:

# dnf install cockpit-podman -y

После чего нужно загрузить нужные образы, например, CentOS 8:

# podman pull centos:8

Проверьте, что образ загрузился:

# podman images

podman

Перезапустите сервис cockpit:

# service cockpit restart

Вы увидите, что панели появится модуль Podman containers:

управление контейнерами podman в cockpit

В дальнейшем вся работа происходит, как и с docker-контейнерами.

Управление KVM через веб-интерфейс cockpit

Для работы KVM на сервере с установленным cockpit есть дополнительный плагин:

# dnf install cockpit-machines -y

После его установки в web-интерфейсе появится отдельная вкладка Virtual Machines:

cockpit управление kvm через libvirt плагин

После запуска libvirt , вы можете создавать виртуальные машины и управлять ими через уже интерфейс cockpit. Например, можно создать новую ВМ:

создать новую виртуальную машину KVM через cockpit

После чего у вас появится созданная машина и можно будет продолжить ее настройку:

управление ВМ KVM

Таким образом, для того, чтобы работать с KVM вам не требуется установка какой-то отдельной панели (типа virt-manager ) или выполнения команд virsh .

Теперь администрирование вашего сервера станет еще проще. Установите cockpit и используйте его возможности на максимум.

EnglishRussianUkrainian