Дополнение A, Обзор веб интерфейса Cockpit CentOS 8 (Глава 7 Всего сущего CentOS 8)

Это дополнение является переводом Главы 7 из вышедшей в 2019 году в издательстве Payload Media, Inc. книги Нэйла Смита "CentOS 8 Essentials" (ISBN-13: 978-1-951442-08-8).

Хотя она и поставляется с самыми последними графическими средами, CentOS 8 в основном серверная операционная система, а раз так, основные развёртывания будут относиться либо к удалённым физическим серверам, или же к экземплярам виртуальных машин, основанных на облачных решениях. Неизменно такие системы запускаются без клавиатуры, мыши и монитора, причём непосредственный доступ возможен лишь через командную строку поверх сетевого подключения. Это представляет собой непростую задачу в смысле администрирования такой системой из удалённых мест. Хотя большая часть может достигаться через удалённый доступ в командной строке или в средах абочего стола, это далеко от некого согласованного и связного решения для задач администрирования и отслеживания, которые требуется выполнять на повседневной основе на уровне корпоративных операционных систем, подобных CentOS 8.

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

Обзор Cockpit

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

Позади своей сцены Cockpit применяет для выполнения задач те же самые инструменты, которые обычно применяется при работе из командной строки, причём обновляются автоматически чтобы отражать происходящие где бы то ни было в системе изменения. Это позволяет применять Cockpit совместно с прочими инструментами и технологиями администрирования без риска того, что один подход перекрывается другим. К тому же Cockpit может настраиваться для доступа к более чем одному серверу, делая возможным одновременное администрирование и мониторинг множества серверов через единый сеанс браузера.

Cockpit по умолчанию устанавливается с широким диапазоном уже встроенных инструмент. Однако Cockpit допускает установку дополнительные подключаемые модули расширений по мере необходимости. Cockpit к тому же разработан с тем, что вы можете создавать свои собственные расширения применяя сочетание HTML и JavaScript для добавления упущенной или индивидуальной функциональности.

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

Установка и включение Cockpit

Cockpit обычно не устанавливается в CentOS 8 по умолчанию, но может быть установлен и включён в несколько простых шагов. Самый первый шаг состоит в установке необходимого пакета Cockpit следующим образом:


# dnf install cockpit
		

Затем необходимо разрешить службу сокета установленного Cockpit:


# systemctl enable --now cockpit.socket
		

Наконец, чтобы сделать доступным достижение подключение к Cockpit удалённого браузера в межсетевом экране сервера надлежит открыть необходимые порты:


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

{Прим. пер.: По умолчанию, сеанс ограничен 15 минутами отсутствия активности, по истечении которых он прекращается, вы можете изменить это значение или даже отключить этот таймаут следующей настройкой /etc/cockpit/cockpit.conf:}


# cat > /etc/cockpit/cockpit.conf 
[Session]
IdleTimeout=0
		

{Прим. пер.: При перегруженности каналов связи (например, при использовании cockpit через Интернет в рабочие часы в период COVID-19) могут возникать большие задержки при передаче пакетов, которые будут вызывать прекращение установки TLS соединения. Для увеличения значения таймаута при установке TLS соединения следует увеличить значение параметра --idle-timeout, по умолчанию имеющего значение 90 секунд в соответствующей строке /usr/lib/systemd/system/cockpit.socket, например: ExecStart=/usr/libexec/cockpit-tls --idle-timeout 180. Имейте в виду, что при установке изменений ПО эта настройка может перекрываться новой, поэтому для сохранения её постоянной следует выполнить drop-in этого изменения приводимым ниже способом, создав drop-in файл /etc/systemd/system/cockpit.service.d/CustomExecStart.conf. Обращаем ваше внимание на первую операцию обнуления параметра запуска ExecStart=, обусловленную багом. Подробнее об cockpit-tls.}


# cat > /etc/systemd/system/cockpit.service.d/CustomExecStart.conf
[Service]
ExecStart=
ExecStart=/usr/libexec/cockpit-tls --idle-timeout 180
		

Доступ к Cockpit

Если у вас имеется доступ к среде рабочего стола самого сервера, на котором был установлен Cockpit, откройте окно браузера и для доступа к окну регистрации Cockpit проследуйте в https://localhost:9090. С другой стороны, когда этот сервер является удалённым, просто перейдите к этому серверу, воспользовавшись его доменным именем или IP адресом (например, https://myserver.com:9090).

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

После подключения ваш браузер загрузит страницу регистрации, отображаемую ниже на Рисунке A-1:

 

Рисунок A-1



Зарегистрируйтесь в этом интерфейсе Cockpit либо с полномочиями учётной записи root, либо вашего пользователя. Обратите внимание, что когда вы зарегистрированы как некий пользователь, некоторые задачи внутри вашего интерфейса Cockpit будут урезаны по причине ограничений полномочий. После регистрации Cockpit отобразит экран системы.

Система

Экран Системы предоставляет некий обзор текущей системы, включая измерение производительности в реальном масштабе времени для ЦПУ, памяти, дискового ввода/ вывода и использования сети. Этот экран также содержит сведения относительно самой системы, включая всё лежащее в основе оборудование, название хоста, время системы и требует ли данная система обновлений. Также предоставляются возможности перезапуска и останова этой системы.

Рисунок A-2, к примеру, отображает страницу мониторинга системы в интерфейсе Cockpit:

 

Рисунок A-2



Журналы

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

 

Рисунок A-3



Хранилища

Для просмотра и управления хранилищами в вашей системе, включая диски, разделы и группы томов, монтирований NFS (Network File System) и хранилищ RAID выберите вариант Хранилища (Storage). Этот экран также делает возможным отслеживание в реальном масштабе времени активность ввода/ вывода дисков, а также перечисляет выводы регистрационных записей из службы udisksd данной системы для выполнения запросов к устройствам хранения и управления ими.

 

Рисунок A-4



Сетевая среда

Экран Сетевой среды (Networking) предоставляет сведения из широкого диапазона сетевой среды относительно настроек и служб, включая сетевые интерфейсы и установки межсетевого экрана, а также делает возможным изменения настроек, например, создание сетевых мостов или установку виртуальных сетей.

 

Рисунок A-5



Виртуальные машины

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

 

Рисунок A-6



Расширение Виртуальных машин не устанавливается по умолчанию и может добавляться в Cockpit дополнительно через запуск следующей команды:


# dnf install cockpit-machines 
		

Применение виртуализации CentOS 8 рассматривается начиная с Главы 8 исходной книги {Прим. пер.: или в главах книги, к которой выступает приложением эта глава.}

Учётные записи

Для просмотра настроены в вашей системе учётных записей текущих пользователей и создания новых выберите это вариант (Accounts). Вопросы управления пользователя будут рассмотрены позднее в соответствующей главе книги оригинала этой главы с названием “Managing CentOS 8 Users and Groups”.

 

Рисунок A-7



Для просмотра имеющихся учётных записей и внесения изменений кликните по ним. Эта страница подробностей учётной записи может также применяться для просмотра и добавления Общедоступных ключей SSH в учётные записи пользователя для удалённого доступа в соответствующий сервер, как это набросано в главе оригинала, озаглавленной “Confguring SSH Key-based Authentication on CentOS 8”.

Службы

Этот экран отображает перечень системных служб, запущенных в данном сервере и делает возможным добавление таких служб, их удаление, останов и запуск.

 

Рисунок A-8



Собственно тема служб подробно рассматривается в главе оригинала с названием “Confguring CentOS 8 systemd Units”.

Приложения

Как уже упоминалось ранее, дополнительные функциональные возможности могут добавляться в Cockpit в виде расширений. Это могут быть как самостоятельно разрабатываемые расширения, так и те, что производятся сторонними производителями. Экран Приложений (Applications) перечисляет расширения и делает возможным их добавление или удаление.

 

Рисунок A-9



Диагностические отчёты

Будучи выбранным, этот вариант (Diagnostic Reports) делает возможными диагностические отчёты для предоставления и выгрузки в вашу локальную систему для их последующего анализа. Такие вырабатываемые отчёты предоставляются в виде сжатого архивного файла, содержащего набор всех файлов журналов данной серверной системы.

 

Рисунок A-10



Дамп ядра

Этот экран просто отображает текущее состояние службы KDump и указывает где будет расположен файл дампа ядра в случае крушения ядра в этой системе. Это файл дампа затем может применяться для выявления причины такого крушения. Предоставляется некая кнопка для проверки дампа Ядра включением его крушения, хотя эта кнопка и не рекомендуется для применения в промышленно применяемой системе.

 

Рисунок A-11



SELinux

Будучи выбранной, эта категория SELinux указывает используется ли в настоящем политика SELinux и отображает вырабатываемые этой системой безопасности сигналы тревоги.

 

Рисунок A-12



Обновления программного обеспечения

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

 

Рисунок A-13



Терминал

Как и предполагает его название, этот экран Терминала предоставляет доступ к приглашению командной строки.

 

Рисунок A-14



Подключение ко множеству серверов

Cockpit может быть настроен для администрирования большого числа серверов из единого сеанса. Это требует установки инструментальной панели в вашей первичной системе (иными словами, в той системе, в которой был установлен первоначально сеанс Cockpit). Для установки пакета инструментальной панели Cockpit выполните такую команду:


# dnf install cockpit-dashboard
		

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

 

Рисунок A-15



Будучи выбранной, эта инструментальная панель отобразит графики производительности для своей текущей системы и предоставит перечень подключённых в данный момент систем:

 

Рисунок A-16



Для добавления другой системы, кликните по кнопке +, выделенной на предыдущем рисунке, введите необходимый IP адрес или имя хоста этой другой системы и выберите цвет, который отличит этот сервер от всех прочих, добавленных в Cockpit до вашего клика по кнопке добавления:

 

Рисунок A-17



Введите имя пользователя и пароль, применяемые при подключении к этой системе, а затем кликните по кнопке входа в систему. Теперь в вашей инструментальной панели Cockpit будет перечисляться и вновь добавленный сервер и он будет представлен графиками с ранее выбранным цветом:

 

Рисунок A-18



Для переключения между системами при использовании Cockpit просто применяйте ниспадающее меню, отображённое на следующем рисунке.

 

Рисунок A-19



Включение сохраняемых замеров

При стандартной установке Cockpit не удерживает никакие сведения показателей производительности помимо тех, что отображаются в непродолжительном временном окне, охватываемом имеющимися графиками. Для сохранения собранных Cockpit данных необходимо установить функциональную возможность сохранения измерений. Начните с установки пакета cockpit-pcp следующим образом:


# dnf install cockpit-pcp
		

Для включения замеров на постоянной основе отобразите экран System и кликните по ссылке Enable stored metrics..., которая выделена на следующем рисунке:

 

Рисунок A-20



После выбора этого варианта Cockpit запросит полномочия для установки пакетов cockpit-pcp, pcp-libs и pcp-selinux. После установки этих пакетов ссылка Enable persistent metrics будет заменена управлением с пометкой Store Metrics. При включении данного варианта, все графики производительности будут содержать дополнительное управление, позволяющее вам перемещаться вперёд и назад по времени для просмотра данных в их историческом порядке и изменять временной кадр сведений с диапазона от 1 часа до 1 недели:

 

Рисунок A-21



Выводы

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