SOCKET-MANAGER Framework をベースに構築された、クロスプラットフォーム対応のサービス管理ランチャーです。GUIモードとCLIモードの両方に対応し、柔軟な運用と高い可視性を提供します。
GUIモードではWebSocketサーバーを内蔵しており、ブラウザから直接接続可能。CLIモードでは軽量なランタイムライブラリを用いて、スクリプトや自動化にも適応します。
-
GUIモードとCLIモードの両対応
利用シーンに応じて切り替え可能。GUIはブラウザベース、CLIはコマンドライン操作に最適化 -
SOCKET-MANAGER Framework による実装
以下ライブラリの融合的な実装。
CLIモード:常駐型アプリ開発用の RuntimeManager ライブラリ
GUIモード:ネットワークサーバー開発用の SocketManager ライブラリ -
SOCKET-MANAGER Framework推奨構成への親和性
プロセスの絶対数によるマルチサーバー管理に最適化 -
軽量設計
最小限の依存関係でランチャー自身が負荷を及ぼさないよう配慮 -
CPUリソースの明示的な割り当て機能
論理CPUへの配置指定とプロセス状態の可視化
CPUの割り当てを適切に行う事によってサービス間の競合を抑制 -
ログ収集と運用透明性の両立
アクション単位での追跡・監視・記録機能を実装 -
サービス種別の柔軟な対応
コマンドライン起動型であれば Framework 製以外のサービスにも対応可能 -
グループ単位でのサービス管理
任意のサービス群に対して一括操作・監視が可能な柔軟なグルーピング機能を搭載 -
クロスプラットフォーム対応
Windows/Linux環境で共通の操作性と機能性を提供します。特にWindows環境ではWSLなどの仮想層に依存せず、ネイティブAPIを用いてCPU/メモリ/ディスクなどのリソースを直接管理・監視しています。これにより、USB接続のリムーバブルディスクの抜き差しなどにもリアルタイムで対応可能です。
-
WebSocketサーバー内蔵
Webサーバーや中継サーバーが不要で、ブラウザから直接ランチャーに接続可能 -
スケールアウト対応
複数の物理サーバーへ同時接続し、統合管理が可能 -
簡易サーバー監視機能
CPU・メモリ・ディスクの使用率をグラフで可視化
warn / alert / critical の3段階閾値で色分け・メール通知に対応
閾値やメール通知先は各リソースごとに設定ファイルで指定可能 -
サービス管理機能
単体 / 全体 / グループ単位でのボタンによる起動・停止制御
サービス単位で CPU / メモリ などのリソース使用率のリアルタイムな可視化
サービス制御ログの一覧表示
ブラウザ上でのサービス設定編集(追加・編集・削除)
編集内容の保存・JSON形式でのダウンロード -
設定ファイルのロード機能
編集前の状態に戻したい場合や、バックアップファイルの適用が可能 -
論理CPUの割り当て
論理CPU単位の稼働率グラフを見ながら負荷状況に応じた割り当てが可能 -
カスタムモニタリング機能
サービス側から任意のモニタリングデータをUDPで送信することで、GUIランチャー上にカスタムパーツとしてリアルタイム表示可能
ユーザー数や接続状況など、運用に合わせた独自指標を柔軟に可視化できます -
チャット機能
管理者間のコミュニケーションに対応。通常メッセージとプライベートメッセージをサポート -
レスポンシブデザイン
PC・タブレット・スマートフォンなど、画面サイズに応じて最適化
モバイル端末からの接続ではWebサーバーが必要になります(静的HTMLが解釈できないため) -
ログ追跡
ログレベル/アクション/オペレーター単位での複合フィルタリング機能
-
サービス管理機能
単体 / 全体 / グループ単位での起動・停止制御
サービス単位で status アクションによる CPU / メモリ などのリソース使用率の可視化
設定ファイルによるサービス設定編集(追加・編集・削除) -
論理CPUの割り当て
cpuinfo アクションで表示される論理CPU番号を使って設定ファイルにて割り当てが可能 -
自動再起動
サービス停止を検知した際に自動起動。設定ファイルでON/OFF制御可能 -
ログ保存
ログレベル/アクション単位などで追跡可能。設定ファイルで daily / monthly の保存形式を選択可能
以下のアクションはサービス設定ファイル(JSON形式)と連携して動作します。
GUIモード時は start/stop 系アクションのボタンを使って操作します。
-
start
"サービス名"、あるいは"group:サービス名"を指定して起動 -
startall
サービス設定ファイルで定義済みの全サービスを起動 -
stop
"サービス名"、あるいは"group:サービス名"を指定して停止 -
stopall
サービス設定ファイルで定義済みの全サービスを停止 -
status
"サービス名"、あるいは"group:サービス名"を指定して状態表示 -
statusall
サービス設定ファイルで定義済みの全サービスを状態表示 -
cpuinfo
稼働中物理サーバーのCPU構成を表示(論理CPU割当用の参照情報) -
shutdown
GUI モードや CLI モードに関係なく、foreground か background で動作中のランチャーを終了する
動作中のサービスには影響を及ぼしません
※ group の設定はサービス設定ファイル内で行います。GUIモード時は画面で設定できます。
以下の composer コマンドでインストールできます。
> composer create-project socket-manager/launcher <インストール先のディレクトリ名>
インストールが終わったらプロジェクトのルートディレクトリで php worker app:cli
コマンドを入力し、以下のように Usage が表示されれば正常にインストールされています。
> php worker app:cli
以下のいずれかを指定して下さい。
start <サービス名> or <group:グループ名>
startall
stop <サービス名> or <group:グループ名>
stopall
status <サービス名> or <group:グループ名>
statusall
cpuinfo
shutdown
GUI モードで確認する時は以下のコマンドを入力してください。
> php worker app:gui
コマンド実行後 app/client/launcher.html
のファイルをブラウザで開き、ランチャーを起動している「ホスト名(デフォルトはlocalhost)」や「ポート番号(デフォルトは5000ポート)」と「オペレータ名」を入力してから「接続」ボタンを押すと画面が表示されます。
※初期状態のサービス設定ファイル setting/service.json.sample
にはサンプルが定義されています。内容を定義後はファイル名をデフォルトの service.json
にしてからお使い下さい。ファイル名は設定ファイルで変更可能です。
バグ報告やご要望などはこちら
から受け付けております。
MIT, see LICENSE file.