В этой статье я расскажу про возможности инструмента Cockpit. Cockpit создан с целью облегчения администрирования ОС Linux. Если говорить кратко, то он позволяет выполнять наиболее типичные задачи администратора Linux через приятный веб-интерфейс. Возможности Cockpit: установка и проверка обновление для системы и включение автообновления (процесс патчинга), управление пользователями (создание\удаление\смена паролей\блокировка\выдача прав суперпользователя), управление дисками (создание\редактирование lvm, создание\монтирования файловых систем), настройка сети (team, bonding, ip managing и т. д.), управление systemd-юнитами\таймерами.

Интерес к Cockpit обусловлен выходом Centos 8, где Cockpit уже встроен в систему и требуется его лишь активировать командой «systemctl enable --now cockpit.socket». На других дистрибутивах потребуется ручная установка из пакетного репозитория. Рассматривать тут установку мы не будем, смотрите официальное руководство.
После установки нам необходимо в браузере перейти на 9090 порт сервера, на котором установлен Cockpit (т. е. ip-сервера:9090). Например, 192.168.1.56:9090
Вводим обычный логин\пароль от локального аккаунта и ставим галочку «Reuse my password for privileged tasks», чтобы была возможность запускать некоторые команды от и��ени привилегированного пользователя (root). Естественно, ваш аккаунт должен обладать возможностью выполнять команды через sudo.
После входа вы увидите красивый и понятный веб-интерфейс. Первым делом переключите язык интерфейса на английский, поскольку перевод выполнен просто ужасно.

Интерфейс выглядит очень понятным и логичным, слева вы увидите навигационную панель:

Стартовый раздел называется «system», где вы можете увидеть информацию по утилизации ресурсов сервера (CPU, RAM, Network, Disks):

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

Тут же можете создать lvm:

Выберите имя для vg-группы и диски, которые хотите использовать:

Задайте имя для lv и выберите размер:

И, наконец, создайте файловую систему:

Обратите внимание, что Cockpit сам пропишет нужную строку в fstab и смонтируем устройство. Также можно прописывать специфичные опции монтирования:

Вот это выглядит в системе:

Тут же можно расширять\сжимать файловые системы, добавлять новые устройства в vg-группу и т.д.
В разделе «Networking» можно не просто менять типичные сетевые настройки (ip, dns, маску, шлюз), но и создавать более сложные конфигурации, такие как bonding или teaming:

Вот так готовая конфигурация выглядит в системе:

Согласитесь, что настраивать через vi\nano было бы чуть дольше и сложнее. Особенно для новичков.
В «services» можно управлять systemd юнитами и таймерами: останавливать их, перезапускать, убирать из автозагрузки. Так же очень быстро создать свой таймер:


Единственное, что сделано плохо: не понятно, с какой периодичностью запускается таймер. Можно лишь посмотреть, когда он запускался в последний раз и когда запустится вновь.
В «Software updates», как не сложно догадаться, можно посмотреть все доступные обновления и установить их:

Система оповестит нас, если потребуется перезагрузка:

Тут же можно включить автоматическое обновление системы и кастомизировать время установки обновлений:

Так же в Cockpit можно управлять SeLinux, создавать sosreport (полезно при общении с вендорами при решении технических проблем):


Управление пользователями реализовано максимально просто и понятно:


Кстати, можно добавлять ssh-ключи.
И, наконец, можно читать системные логи и сортировать по важности:

Мы прошлись по всем основным разделам программы.
Вот такой краткий обзор возможностей. Использовать Cockpit или нет решать только вам. На мой взгляд, Cockpit может решить несколько проблем и удешевить обслуживание серверов.
Основные преимущества:
Недостатки, обнаруженные мною:
Как мы видим, у утилиты очень хороший потенциал. Если расширить функционал, то выполнение многих задач может стать ещё быстрее и проще.
upd: также имеется возможность управлять множеством серверов с одного веб-интерфейса путём добавления нужных серверов в «Machines dashboard». Функционал, например, может быть полезен при массовом обновлении сразу нескольких серверов. Подробнее читайте в официальной документации.

Интерес к Cockpit обусловлен выходом Centos 8, где Cockpit уже встроен в систему и требуется его лишь активировать командой «systemctl enable --now cockpit.socket». На других дистрибутивах потребуется ручная установка из пакетного репозитория. Рассматривать тут установку мы не будем, смотрите официальное руководство.
После установки нам необходимо в браузере перейти на 9090 порт сервера, на котором установлен Cockpit (т. е. ip-сервера:9090). Например, 192.168.1.56:9090
Вводим обычный логин\пароль от локального аккаунта и ставим галочку «Reuse my password for privileged tasks», чтобы была возможность запускать некоторые команды от и��ени привилегированного пользователя (root). Естественно, ваш аккаунт должен обладать возможностью выполнять команды через sudo.
После входа вы увидите красивый и понятный веб-интерфейс. Первым делом переключите язык интерфейса на английский, поскольку перевод выполнен просто ужасно.

Интерфейс выглядит очень понятным и логичным, слева вы увидите навигационную панель:

Стартовый раздел называется «system», где вы можете увидеть информацию по утилизации ресурсов сервера (CPU, RAM, Network, Disks):

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

Тут же можете создать lvm:

Выберите имя для vg-группы и диски, которые хотите использовать:

Задайте имя для lv и выберите размер:

И, наконец, создайте файловую систему:

Обратите внимание, что Cockpit сам пропишет нужную строку в fstab и смонтируем устройство. Также можно прописывать специфичные опции монтирования:

Вот это выглядит в системе:

Тут же можно расширять\сжимать файловые системы, добавлять новые устройства в vg-группу и т.д.
В разделе «Networking» можно не просто менять типичные сетевые настройки (ip, dns, маску, шлюз), но и создавать более сложные конфигурации, такие как bonding или teaming:

Вот так готовая конфигурация выглядит в системе:

Согласитесь, что настраивать через vi\nano было бы чуть дольше и сложнее. Особенно для новичков.
В «services» можно управлять systemd юнитами и таймерами: останавливать их, перезапускать, убирать из автозагрузки. Так же очень быстро создать свой таймер:


Единственное, что сделано плохо: не понятно, с какой периодичностью запускается таймер. Можно лишь посмотреть, когда он запускался в последний раз и когда запустится вновь.
В «Software updates», как не сложно догадаться, можно посмотреть все доступные обновления и установить их:

Система оповестит нас, если потребуется перезагрузка:

Тут же можно включить автоматическое обновление системы и кастомизировать время установки обновлений:

Так же в Cockpit можно управлять SeLinux, создавать sosreport (полезно при общении с вендорами при решении технических проблем):


Управление пользователями реализовано максимально просто и понятно:


Кстати, можно добавлять ssh-ключи.
И, наконец, можно читать системные логи и сортировать по важности:

Мы прошлись по всем основным разделам программы.
Вот такой краткий обзор возможностей. Использовать Cockpit или нет решать только вам. На мой взгляд, Cockpit может решить несколько проблем и удешевить обслуживание серверов.
Основные преимущества:
- Порог вхождение в администрирование ОС Linux существенно снижается благодаря таким инструментам. Выполнять стандартные и базовые действия может практически любой человек. Администрирование можно частично делегировать разработчикам или аналитикам для удешевления производства и ускорения работы. Ведь теперь не надо набирать в консоли pvcreate, vgcreate, lvcreate, mkfs.xfs, создать точку монтирования, редактировать fstab и, наконец, набрать mount -a, достаточно кликнуть мышью пару раз
- Можно разгрузить администраторов Linux и избавить их от рутины, чтобы они фокусировались на более сложных задачах
- Можно уменьшить количество человеческих ошибок. Согласитесь, что через веб-интерфейс сделать ошибку сложнее, чем через консоль
Недостатки, обнаруженные мною:
- Ограниченность утилиты. Можно делать лишь базовые операции. Нельзя, например, сразу расширить lvm после увеличения диска со стороны виртуализации, необходимо в консоли набрать pvresize и лишь потом продолжить работу через веб-интерфейс. Нельзя добавить пользователя в определённую группу, нельзя поменять права у директорий, проанализировать используемое место. Хотелось бы более обширный функционал
- Раздел «Applications» не работал корректно
- Нельзя поменять цвет консоли. Я, например, могу комфортно работать лишь на светлом фоне с тёмным шрифтом:

Как мы видим, у утилиты очень хороший потенциал. Если расширить функционал, то выполнение многих задач может стать ещё быстрее и проще.
upd: также имеется возможность управлять множеством серверов с одного веб-интерфейса путём добавления нужных серверов в «Machines dashboard». Функционал, например, может быть полезен при массовом обновлении сразу нескольких серверов. Подробнее читайте в официальной документации.
