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

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 d0b2d0b5d0b1 d0b8d0bdd182d0b5d180d184d0b5d0b9d181 d183d0bfd180d0b0d0b2d0bbd0b5d0bdd0b8d18f d181d0b5d180d0b2d0b5d180d0bed0bc centos 65d223a3d82e8

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

создать нового пользователя в 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 и используйте его возможности на максимум.

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