Cockpit (Linux サーバ管理ツール) について検証してみた

こんにちは。サイオステクノロジー OSS サポート担当 Y です。

今回は Linux サーバの管理ツールである Cockpit について検証してみました。(※以下の内容は CentOS 7.6/Cockpit 176 にて検証しています。)

■はじめに

Cockpit は、Web UI 上で Linux サーバの管理ができるツールです。こちらのページを見ると、Fedora/RHEL/CentOS/Debian/Ubuntu 等の Linux ディストリビューションに対応している様です。今回は CentOS 7.6 にこの Cockpit をインストールして、動作を検証してみました。

■インストール

まずはインストールです。プロジェクトの HP に記載してある CentOS でのインストール方法に沿ってインストールしてみます。

どうやら、CentOS のリポジトリ (extras) でパッケージが提供されているようですので、以下の様に yum コマンドでパッケージをインストールします。

上記の通り、yum コマンド 1つで簡単にインストールすることができました。

次に、サーバ起動時の自動起動設定を実施します。

最後に、Firewalld で Cockpit の通信を許可する設定を実施します。

これで Cockpit のインストール作業は完了です。かなりシンプルな手順でインストールできるようです。

■Web UI への接続

先程紹介したこちらのページを見ると、Cockpit の Web UI は “https://ip-address-of-machine:9090” でアクセスできるようです。

CLI 上で確認してみると、実際に systemd が 9090 port で LISTEN していることが確認できます。

今回検証で利用しているサーバの IP を確認し、ブラウザからアクセスしてみます。

すると、以下の様なログイン画面が表示されました。

001-01_cockpit_login

ユーザ/パスワード情報 (OS 上のユーザ/パスワード) を入力してログインすると、以下の様な画面が表示されます。

002-01_cockpit_after_login

■Web UI での操作

それでは、実際に Web UI の各画面を見てみます。

ログイン直後に表示されている “システム” タブでは、サーバの基本的な情報や CPU 使用率, Memory 使用量, Disk I/O, Network Traffic 等の情報を参照することが可能です。

また、”電源オプション” でサーバの停止や再起動を実行することも可能です。

002-02_cockpit_system

“ログ” タブでは、OS のシステムログを参照することが可能であり、プライオリティや期間等の条件でログをフィルタリングすることも可能です。

003-01_cockpit_log

“ネットワーキング” タブでは、送受信それぞれの Traffic の情報や各インターフェースの IP アドレス、ネットワーク関連のログ等を参照することが可能です。

また、Firewalld や bonding 等の設定を参照/変更することも可能となっています。

004-01_cockpit_network

“アカウント” タブでは、OS 上のユーザの情報を確認することが可能です。

005-01_cockpit_account

また、新規ユーザ追加やパスワード変更、ユーザ削除等も実施することができます。

005-02_cockpit_useradd

005-03_cockpit_useradd_done

005-04_cockpit_user_detail

“サービス” タブでは、systemd で管理されているサービスやソケット等 (*.service や *.socket の様な Unit ファイル等) の情報を参照することが可能です。

006-01_cockpit_service

また、各サービスの停止/再起動/再読み込み等の操作や、サーバ起動時の自動起動有無の設定変更等も実施することが可能です。

006-02_cockpit_service_unit_file

“Diagnostic Reports” タブでは、sosreport を取得することが可能です。

007-01_cockpit_diagnostic_report

“レポートの作成” ボタンを押すと、sosreport の取得が開始されます。

007-02_cockpit_sos

なお、上記レポートの生成画面の状態で CLI 上で確認すると、以下の様に sosreport コマンドが実行されていることが確認できます。

生成された sosreport は、Web UI から直接ダウンロードすることが可能です。

007-03_cockpit_sos_done

また、実際の sosreport は以下の様に /var/tmp 配下に出力されているため、こちらから別途取得することも可能です。

“SELinux” タブでは、SELinux の一時的な有効/無効の設定変更を実施することが可能です。

008-01_cockpit_selinux

上記画像の様に “ポリシーの適用” がオンになっている場合は、以下の様に SELinux が “Enforcing” になっています。

この “ポリシーの適用” をオフにすると以下の様に SELinux が “Permissive” になりますが、Web UI にも表示されている通り、これは一時的な設定変更 (setenforce 0 コマンド実行と同じ) であるため、永続的な設定変更にはならない (サーバ再起動で設定が元に戻る) ことに注意が必要です。

008-02_cockpit_selinux_off

また、この “SELinux” タブでは、SELinux の監査ログの内容を参照することや、対処方法 (監査ログに出力されている処理を許可するために必要な設定変更の内容) 等を確認することも可能です。

008-03_cockpit_selinux_log

“カーネルダンプ” タブでは、kdump の有効/無効 (kdump.serivce の起動/停止) や、vmcore ファイルの出力先ディレクトリの確認/設定変更が可能です。

009-01_cockpit_kdump

また、”設定テスト” ボタンにて kdump の動作確認 (vmcore を取得可能か否か等) を確認することが可能です。

※実際に kernel が PANIC (サーバが停止) するため、実行には注意が必要です。

009-02_cockpit_kdump_test_run

この kdump のテストを実行すると、サーバ停止に伴い Cockpit も停止するため、以下の様な画面が表示されます。サーバ起動後に “再接続” ボタンを押すことで再接続することが可能です。(ログイン画面が表示されるため、再度ログインする必要があります。)

009-03_cockpit_kdump_after_run

009-04_cockpit_kdump_after_run_login

テスト実施後には、以下の様に vmcore ファイルが出力されていることが確認できます。

最後に “端末” タブです。

“端末” タブでは、Web UI 上から端末に接続して CLI 操作 (コマンド実行) が可能です。

Web UI 上では実施できないような操作が必要になった場合であっても、別途ターミナルソフト等で接続する必要は無く、Cockpit の Web UI 上から直接コマンドを実行することが可能です。

010-01_cockpit_terminal

■最後に

今回は Linux サーバの管理ツールである Cockpit について検証してみました。

CLI で実施できる操作を全て Web UI (GUI) 上で実施できる訳ではありませんが、基本的なサーバ管理操作は Web UI 上で実施できる印象でした。

また、CLI からでないと操作できないような場合でも、Web UI 上から端末に接続しコマンドを実行することが可能であるため、管理ツールとしての利便性は高いのではないでしょうか。

次回は、Cockpit を利用して複数サーバを管理する方法を検証してみようと思います。

>> 雑誌等の執筆依頼を受付しております。
   ご希望の方はお気軽にお問い合わせください!

ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

1人がこの投稿は役に立ったと言っています。

コメント投稿

メールアドレスは表示されません。


*