InfraGuard

サーバーパラメータのスナップショット

インスタンスの web/DB/カーネル/アプリケーション/その他の設定を読み取り専用でスナップショットし、AI チューニング質問の根拠として使います。

概要 — 何をする機能か

インスタンスカードの [param] ボタンは、各インスタンスの サーバーパラメータ(設定値)を infr_instance_param にスナップショットします。これは インスタンス変数(Tools のマッシュアップ用の秘密情報辞書)とは 別物 です — こちらは nginx.conf、my.cnf、sysctl、php.ini、haproxy.cfg といった 設定値 を、AI チューニング診断 の根拠となる参照スナップショットとして保持します。秘密情報ではありません。機微な値はプローブが (redacted) にマスクします。

画面構成

5つの領域パネル(--grid--5、5→3→1列にレスポンシブ)。

領域 エンジンの例
Web nginx · apache
データベース mysql · mariadb · postgres
カーネル linux (sysctl)
アプリケーション php · php-fpm · python (gunicorn/uwsgi) · java (JVM)
その他 haproxy · docker · kafka · elasticsearch · vsftpd

複数エンジンの共存 — engine は一意識別子の一部です(UNIQUE(instance_id, category, engine, name))。ホストが nginx+apache や mysql+postgres を同時に動かしていても、同名のパラメータ(例: max_connections)は エンジンごとに 保存され、混ざることはありません。UI は各領域パネルの中でエンジン別にサブグループ化して表示します。

使い方

更新経路は2つあります。

  1. 手動での追加・編集 — 各パネルのヘッダーにある [+]。
  2. JSON インポート — 対象ホストでプローブを実行し、その JSON を貼り付けます:
# インベントリ ▸ ツール にシードされたローカルプローブ(認証情報不要・外部呼び出しなし)
node infr_server_params_probe.cjs
# JSON を [param] ▸ JSON インポート に貼り付けると冪等に upsert されます

プローブは 5軸のホワイトリスト を使い、主要なチューニング値(メモリ・ワーカー・実行・タイムアウト)だけを取得します: web は nginx -T/apache の conf · DB は my.cnf/postgresql.conf のファイル解析(接続不要)· カーネルは sysctl · アプリケーションは php -i/pool.d/gunicorn・JVM ヒープ (ps) · その他は設定ファイル。秘密情報はマスクされます。

データソース

node を除外している理由 — pm2/Node のアプリは「1ホスト = エンジンごとに1つの正本設定」というモデルに合いません(1ホストに多数のアプリ、ecosystem.config.js はアプリのリポジトリに属する、デプロイのたびに変わる)。そのためアプリケーションの収集対象から外しています。python/java は、従来型のデプロイではホストあたり1つのアプリサーバー/単一 JVM に収束するため残しています。

アクセス権限

読み取りはレベル1以上、書き込み(保存・削除・インポート)はレベル2以上。

関連項目

카드의 [param] 버튼
카드의 [param] 버튼