0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

クロスプラットフォーム対応『GUI & CLI サービス管理ランチャー』を公開しました

Posted at

はじめに

SOCKET-MANAGER Frameworkをベースに構築したクロスプラットフォーム対応のサービス管理ランチャーです。GUIモードとCLIモードの両方に対応し、柔軟な運用と高い可視性を提供します。

  • GUIモード:WebSocketサーバー内蔵、ブラウザから直接接続可能
  • CLIモード:軽量ランタイムでスクリプトや自動化に最適
  • クロスプラットフォーム対応:Windows/Linuxで共通の操作性
  • ネイティブリソース監視:仮想層に依存せず、物理リソースを直接把握

設計方針と特徴(抜粋)

以下は本ランチャーの設計思想と主要機能の一部です。

モード切替対応

  • GUI:ブラウザベースで直感的な操作
  • CLI:GUI環境がない場面でも軽快に動作

CPUリソースの最適化

  • 論理CPU単位での割り当て
  • サービス間の競合を抑制

柔軟なサービス管理

  • グループ単位での一括操作
  • Framework製以外のサービスにも対応

リソース監視と可視化

  • CPU/メモリ/ディスク使用率をリアルタイム表示
  • 閾値設定とメール通知機能

GUI上での設定ファイル編集

  • サービス定義の追加・編集・削除
  • JSON形式での保存・ダウンロード

GUIモードの画面イメージ

GUI モード画面

GUIモードでは、サービスの起動・停止、リソース監視、設定編集などをブラウザ上で一括管理できます。

WebSocketサーバーを内蔵しているため、外部Webサーバー不要で直接接続可能です。

CLIモードの画面イメージ

CLI モード画面

CLIモードでは、コマンドラインからサービスの起動・停止、状態確認、CPU割り当てなどを制御できます。

スクリプトやcronとの連携にも適しており、GUI環境がない場面でも柔軟に運用可能です。

インストールと起動方法

# インストール
composer create-project socket-manager/launcher <任意のディレクトリ>

# CLIモード起動
php worker app:cli

# GUIモード起動
php worker app:gui

GUIモードでは app/client/launcher.html をブラウザで開き、ホスト名・ポート番号・オペレータ名を入力して接続します。

おわりに

複数の自作サーバーを効率的に運用・監視するため、プロセス単位でのスケール制御や論理CPUへの明示的な割り当てを可能にし、CPUリソースを最適化できるように設計しました。

また、SOCKET-MANAGER FrameworkのIPCモデルをベースとすることで、WebSocketサーバーとランチャーを統合し、ブラウザから直接操作できるようにしています。これにより、従来面倒だった設定ファイルの定義をGUI上で編集・保存・リロード・ダウンロードといった操作が可能となりました。

リソース監視の面では仮想層に依存しない設計を採用し、ネイティブAPIを用いてCPU、メモリ、ディスクなどの物理リソースを直接監視できるようにしています。これにより、Dockerなどの抽象化された環境では得られない、実機レベルでの正確なリソース把握を重視しています。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?