Cockpit導入

スポンサーリンク
RockyLinux
この記事は約12分で読めます。
ランキングに参加しています。応援よろしくお願いします。
ブログランキング・にほんブログ村へ 人気ブログランキングへ FC2ブログランキングへ
スポンサーリンク
この記事が気に入ったら
フォローしよう
最新情報をお届けします。

前回の「HTTPS(SSL/TLS)化」に続いて、Rocky Linux 9 サーバ構築手順次のステップは、「Cockpit導入編」についてセットアップを行います。

CockpitはRed Hat系Linux(RockyLinux含む)用のWebベースのシステム管理ツールです。Webブラウザを使用してサーバーのシステム管理、ネットワーク管理、ストレージ管理などをグラフィカルに実施できます。

免責事項:

本記事の内容は筆者の環境で動作確認したものですが、すべての環境での動作を保証するものではありません。本記事の手順を実施する際は、以下の点にご注意ください。

  • 必ず事前にバックアップを取得してください
  • 本番環境での作業前にテスト環境で十分に検証してください
  • 本記事の内容を参考に作業を行った結果生じた損害について、筆者は一切の責任を負いません
  • 各コマンドの実行は自己責任でお願いします

当ブログサイトを運用しているサーバは、「KAGOYA JAPAN」で提供されている「KAGOYA CLOUD VPS」を利用しています。

  • OS: Rocky Linux 9
  • Cockpitバージョン: 311.2以上
  • Webブラウザ: Chrome、Firefox、Safari など
  • ホスト名: marusrv.example.com

Cockpitのメニューは「システム」と「ツール」の2つの主要カテゴリに分かれています。

概要

サーバーの総合的なシステム情報を表示します。

  • ホスト名、OS情報、カーネルバージョンの表示
  • CPU使用率、メモリ使用率のリアルタイム監視
  • ディスク容量の使用状況
  • システムのアップタイムと負荷平均

ログ

システムジャーナルログの確認と検索が可能です。

  • エラー、警告、情報メッセージの表示
  • タイムスタンプ検索機能
  • サービス別のログフィルタリング
  • ログのリアルタイム更新

ストレージ

ディスクやストレージデバイスを管理します(cockpit-storagedインストール時)。

  • ディスクパーティションの確認
  • LVM(Logical Volume Manager)の管理
  • マウントポイント情報の表示
  • ストレージ容量の詳細表示

ネットワーキング

ネットワークインターフェースとファイアウォール設定を管理します。

  • IPアドレスの設定・変更
  • ネットワークインターフェースの有効/無効化
  • Firewalldのゾーン設定
  • 開放ポートの管理
  • ホストネームの変更

アカウント

ローカルユーザーアカウントを管理します。

  • ユーザーアカウントの作成・削除
  • グループの管理
  • パスワード変更
  • 管理者権限の付与・剥奪
  • ログインセッション情報の表示

サービス

システムサービスの状態確認と管理を行います。

  • サービスの起動・停止・再起動
  • サービスの有効化・無効化
  • サービス依存関係の表示
  • サービス状態のリアルタイム表示

Software updates

システムの更新管理を行います。

  • 利用可能なアップデートの確認
  • セキュリティ更新の優先表示
  • アップデートの一括適用
  • アップデート履歴の表示

アプリケーション

インストール済みのアプリケーションを管理します。

  • インストール済みアプリケーション一覧
  • アプリケーションのインストール・アンインストール
  • パッケージマネージャー(PackageKit)との統合

カーネルダンプ

システムクラッシュ時のダンプ情報を管理します。

  • ダンプファイルの確認
  • クラッシュ情報の表示
  • ダンプの保存設定

診断レポート

システムの問題診断に必要な情報を収集・作成します。

  • SOSレポートの自動生成
  • システム情報の詳細ログ収集
  • トラブルシューティング用の報告書作成

端末

Webブラウザ内でシステムコマンドを実行できます。

  • ブラウザ内でのシェル実行
  • コマンドライン操作
  • 管理者権限でのコマンド実行
  • セッション管理

まず、Cockpitの基本パッケージをインストールします。

sudo dnf install -y cockpit

'~ 中略 ~'

Installed:
  cockpit-311.2-1.el9_4.x86_64
  cockpit-bridge-311.2-1.el9_4.x86_64
  cockpit-packagekit-311.2-1.el9_4.noarch
  cockpit-system-311.2-1.el9_4.noarch
  cockpit-ws-311.2-1.el9_4.x86_64
  PackageKit-1.2.6-1.el9.x86_64
  PackageKit-glib-1.2.6-1.el9.x86_64
  python3-dasbus-1.4-5.el9.noarch
  python3-file-magic-5.39-16.el9.noarch
  python3-libxml2-2.9.13-6.el9_4.x86_64
  python3-pexpect-4.8.0-7.el9.noarch
  python3-psutil-5.8.0-12.el9.x86_64
  python3-ptyprocess-0.6.0-12.el9.noarch
  python3-tracer-1.1-2.el9.noarch
  rocky-logos-90.15-2.el9.x86_64
  setroubleshoot-plugins-3.3.14-4.el9.noarch
  setroubleshoot-server-3.3.32-1.el9.el9.noarch
  sos-4.7.2-3.el9.noarch
  sscg-3.0.0-7.el9.x86_64
  tracer-common-1.1-2.el9.noarch

Complete!

主要パッケージの説明

  • cockpit: Cockpitのメインパッケージ。他のコンポーネントをまとめるメタパッケージ
  • cockpit-ws: Cockpitのコアとなるブラウザインターフェース。WebSocketを使用してブラウザと通信し、リアルタイムでシステム情報を送受信
  • cockpit-bridge: ローカルシステムとの通信を担当するバックエンドサービス。システムコマンドの実行やファイル操作を仲介
  • cockpit-system: システム管理機能。概要、ログ、ネットワーク、アカウント、サービス等の管理画面を提供
  • cockpit-packagekit: パッケージ管理機能。アプリケーションのインストール・アンインストール・アップデートを管理

より詳細なシステムパフォーマンスの監視を行う場合は、以下をインストールします。

sudo dnf install -y cockpit-pcp

'~ 中略 ~'

Installed:
  cockpit-pcp-311.2-1.el9_4.x86_64
  pcp-6.2.0-5.el9_4.x86_64
  pcp-conf-6.2.0-5.el9_4.x86_64
  pcp-libs-6.2.0-5.el9_4.x86_64
  pcp-selinux-6.2.0-5.el9_4.x86_64

Complete!

パッケージの説明

  • cockpit-pcp: Performance Co-Pilot (PCP) との統合を提供し、より詳細なシステムパフォーマンスの監視が可能

ディスク管理やストレージ設定を行う場合は、以下をインストールします。

sudo dnf install -y cockpit-storaged

'~ 中略 ~'

Installed:
  cockpit-storaged-311.2-1.el9_4.noarch
  clevis-18-112.el9.x86_64
  clevis-luks-18-112.el9.x86_64
  cryptsetup-2.6.0-3.el9.x86_64
  device-mapper-event-9:1.02.197-2.el9.x86_64
  libaio-0.3.111-13.el9.x86_64
  libatasmart-0.19-22.el9.x86_64
  libblockdev-2.28-10.el9.x86_64
  libudisks2-2.9.4-9.el9.x86_64
  lvm2-9:2.03.23-2.el9.x86_64
  udisks2-2.9.4-9.el9.x86_64
  mdadm-4.2-14.el9_4.x86_64

Complete!

パッケージの説明

  • cockpit-storaged: ストレージデバイスの管理と監視機能を追加。ディスクパーティションの作成、フォーマット、マウントなどが可能

Cockpitサービスをシステム起動時に自動起動するように設定します。

sudo systemctl enable --now cockpit.socket

Created symlink /etc/systemd/system/sockets.target.wants/cockpit.socket → /usr/lib/systemd/system/cockpit.socket.

コマンド説明

  • enable --now: サービスを有効化して、即座に起動
sudo systemctl status cockpit.socket

正常に起動している場合、以下のような出力が表示されます。

● cockpit.socket - Cockpit Web Service Socket
     Loaded: loaded (/usr/lib/systemd/system/cockpit.socket; enabled; vendor preset: disabled)
     Active: active (listening) since ...

Cockpitのサービスがファイアウォールに登録されているか確認します。

sudo firewall-cmd --list-services

cockpit dhcpv6-client http https ssh

cockpitがリストに表示されていれば、設定は完了しています。

表示されない場合は、以下のコマンドで追加してください。

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

HTTPS化の記事で取得したSAN証明書をCockpitに設定します。

シンボリックリンクの作成

sudo ln -s /etc/letsencrypt/live/www.example.com/fullchain.pem /etc/cockpit/ws-certs.d/cockpit.crt
sudo ln -s /etc/letsencrypt/live/www.example.com/privkey.pem /etc/cockpit/ws-certs.d/cockpit.key

コマンド説明

  • /etc/letsencrypt/live/www.example.com/fullchain.pem: SAN証明書の公開鍵証明書ファイル
  • /etc/cockpit/ws-certs.d/cockpit.crt: Cockpitが使用する証明書の配置先
  • /etc/letsencrypt/live/www.example.com/privkey.pem: SAN証明書の秘密鍵ファイル
  • /etc/cockpit/ws-certs.d/cockpit.key: Cockpitが使用する秘密鍵の配置先

Cockpitの設定ファイルを編集し、TLSを有効化します。

sudo vi /etc/cockpit/cockpit.conf

TLSの有効化設定

[WebService]

UseTLS=true

設定のポイント

  • UseTLS=true: HTTPSでの通信を強制

設定を反映させるため、Cockpitサービスを再起動します。

sudo systemctl restart cockpit

サービスが正常に再起動されたか確認します。

sudo systemctl status cockpit
● cockpit.service - Cockpit Web Service
     Loaded: loaded (/usr/lib/systemd/system/cockpit.service; static)
     Active: active (running) since ...

Webブラウザで以下のURLにアクセスします。

https://marusrv.example.com:9090/

アクセスポイント

  • marusrv.example.com: サーバーのホスト名(FQDN)
  • 9090: Cockpitのデフォルトポート番号

HTTPSで接続されていることを確認した後、以下の情報でログインしてください。

ログイン情報

  • ユーザー名: サーバーの管理者ユーザー(例:maruuser
  • パスワード: 管理者ユーザーのパスワード

セキュリティ上の注意

  • Cockpitへのアクセスは、信頼できるネットワークからのみに制限することを推奨します
  • 本番環境では、ファイアウォールルールでアクセス元IPを制限してください
  • デフォルトのポート番号(9090)を変更することも検討してください

ログイン後、システム情報、CPU・メモリ・ディスク使用率、ネットワークトラフィックなどが表示されます。

確認項目

  • ホスト名の表示
  • CPUとメモリの使用率グラフ
  • ディスク容量の表示
  • ログの確認機能
  • ネットワーク設定へのアクセス

ネットワークアクセス制限

ファイアウォールでCockpitへのアクセスを特定のIPアドレスに制限します。

sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.0.2.100" port protocol="tcp" port="9090" accept'
sudo firewall-cmd --reload

ポート番号の変更

デフォルトのポート番号(9090)から変更する場合は、Cockpitの設定ファイルを編集します。

sudo vi /etc/cockpit/cockpit.conf
[WebService]
Port=9091
UseTLS=true

変更後、Cockpitサービスを再起動してください。

sudo systemctl restart cockpit

ポート番号の確認

Cockpitがポート9090でリッスンしているか確認します。

sudo ss -tulpn | grep 9090
tcp        0      0 :::9090                 :::*                    LISTEN      ...

ファイアウォール設定の確認

sudo firewall-cmd --list-ports
sudo firewall-cmd --list-services | grep cockpit

サービス状態の確認

sudo systemctl status cockpit.socket
sudo systemctl status cockpit.service

シンボリックリンクの確認

ls -la /etc/cockpit/ws-certs.d/

正常な場合、cockpit.crtcockpit.keyが表示されます。

証明書ファイルのパーミッション確認

sudo ls -la /etc/cockpit/ws-certs.d/

cockpit.crtcockpit.keyroot:rootで所有されていることを確認してください。

Cockpitサービスの再起動

sudo systemctl restart cockpit

本記事では、RockyLinux9サーバへのCockpit導入とセットアップについて説明しました。

Rocky Linux 9 サーバ構築手順一覧

実施内容

  • Cockpitおよび拡張パッケージのインストール
  • Cockpitサービスの有効化と起動
  • ファイアウォール設定の確認
  • SAN証明書によるHTTPS化
  • Webブラウザからのアクセス確認

得られるメリット

  • Webブラウザを使用した直感的なサーバー管理
  • リモートからの安全なシステム管理
  • リアルタイムのシステム監視
  • ログ管理と検索機能

次回は「phpMyAdmin導入編」として、MariaDBを管理するためのWebベースのツール「phpMyAdmin」の導入とセットアップについての手順を実施します。

コメント

タイトルとURLをコピーしました