【ランチャーのサービス設定】

はじめに

SOCKET-MANAGER Framework のランチャーでは、setting/services.json に定義されたサービス設定ファイルを基に、各サービスの起動・停止・監視を行います。
初期状態では services.json.sample が用意されており、これを編集して services.json にリネームすることで利用可能になります。
このファイルは、サービスの実行パスやコマンド、CPUコアの割り当て、グループ名などを定義する、運用の中核となる設定ファイルです。

本記事では、サービス設定ファイルの基本構造、各項目の意味、GUI/CLIでのメンテナンス方法を解説し、実運用でのポイントを整理します。

サンプル構造と必須項目

初期状態のサンプルファイルは以下のような構造になっています。
{
    "cores": null,
    "name": "サービス名1",
    "group": "グループ名",
    "path": "実行パス1(絶対 or 相対)",
    "command": "コマンド文1"
},
{
    "cores": [0,1,2],
    "name": "サービス名2",
    "group": null,
    "path": "実行パス2(絶対 or 相対)",
    "command": "コマンド文2"
}
                    

  • 必須項目name, path, command
  • 任意項目cores, group

各項目の解説

  • cores
    • null を指定すると自動割り当て
    • 配列形式で指定すると、特定の CPU コアに固定可能
    • CLI の cpuinfo アクションで利用可能なコア番号を確認可能
    • 負荷状況を見ながら割り当てたい場合は GUI での確認を推奨

  • name
    • サービス名(ユニークである必要あり)
    • CLI/GUI の操作対象として利用されるため、識別しやすい名前を推奨

  • group
    • null または空文字でグループなし
    • グループ名を設定すると CLI/GUI でグループ単位の操作が可能

  • path
    • 実行パス(絶対パスまたは相対パス)

  • command
    • 実行するコマンド文を記述

CLI/GUIでの活用

  • CLIモード
    • cpuinfo アクションで CPU コア番号を確認し、cores に反映可能
    • status / statusall でサービスの状態を確認
cpuinfo アクションの実行
cpuinfo アクションの実行
status アクションの実行
status アクションの実行
statusall アクションの実行
statusall アクションの実行
  • GUIモード
    • CPUリソースやメモリ使用率を可視化しながら設定可能
    • グループ単位での操作やリソース割当の調整が直感的に行える
論理CPU稼働率を確認しながら割り当てが可能
論理CPU稼働率を確認しながら割り当てが可能

GUIによるメンテナンス機能

保存/設定/ダウンロードの各ボタン
保存/設定/ダウンロードの各ボタン
GUI では、サービス設定ファイルを直接編集せずに以下の操作が可能です。
  • 保存機能
    • 初回表示時は空の状態からサービスを追加・編集・削除し、「設定保存」で services.json が生成される
    • 既存ファイルがある場合は読み込まれ、編集後に「設定保存」で反映

  • ロード機能
    • 編集後に元に戻したい場合、「設定ロード」で直近の services.json を読み込み
    • バックアップファイルを配置して「設定ロード」することで、過去の設定を復元可能

  • ダウンロード機能
    • 「JSONダウンロード」で編集中の内容を保存可能
    • 一時保存やバックアップ用途に便利

実運用での注意点

  • サービス名の重複禁止:ユニークでなければ CLI/GUI 操作時に混乱を招く

  • グループ設定の活用:関連サービスをまとめて操作でき、運用効率が向上

  • CPUコア割当の最適化:高負荷サービスは専用コアに割り当てると安定性が増す

  • バックアップ運用:GUI のダウンロード機能を活用し、定期的に設定を保存しておくと安全

おわりに

services.json は、SOCKET-MANAGER Framework のサービス管理を支える重要な設定ファイルです。
  • 必須項目(name, path, command)と 任意項目(cores, group)を理解する

  • CLI では cpuinfostatus と組み合わせて運用

  • GUI では保存・ロード・ダウンロード機能を活用して安全に編集

  • 運用環境に合わせて CPU 割当やグループ設定を最適化することで、効率的かつ安定したサービス管理が実現できます。