====== コマンドセンター(メタコンソール) ======
{{indexmenu_n>4}}
[[:ja:documentation:start|Pandora FMS ドキュメント一覧に戻る]]
===== コマンドセンター =====
Pandora FMS バージョン 756 から、中央管理モードの環境における同期システムを一から再設計し、これまでの手動同期を必要とせずに変更がノードに自動的に複製されるようになったため、より高速で効率的になりました。
この変更により、以前のシステムは古いシステムと見なされるため、それが有効だった環境では、新しい中央管理システムを利用しかつ **データの整合性を保証できるように** するために、以前のシステムを自動マージするシステムを利用する必要があります。
更新時に、すでに中央管理化されているすべてのコマンドセンター環境は、再び正しく中央管理できるように、**中央管理(Centralised management)** の新たな **マージツール(Merging tool)** を通るように強制されます。
マージ処理では、コマンドセンターで構成済みの、**無効になっていない** ノードのみが考慮されます。
マージツールは、ノードデータベースとコマンドセンター (コマンドセンターから管理されるもの) のさまざまな要素を次のようにマージします。**コマンドセンターに登録されているノード間で優先順位が確立され、最も優先度の高い項目がリストの先頭に、最も優先度の低い項目が末尾に配置されます**。
例:
{{ :wiki:04_nodes_priority_order.png }}
この優先順位リストは、**同じ要素**が異なるノードに存在するが、**設定が異なる**場合に使用されます。
監視ポリシーの場合、ポリシーのモジュール、アラート、その他の要素は、ポリシーの個別の独立した要素と見なされますが、同様にマージされます。
**モジュールのみの場合**の例:
{{ :wiki:07_tree_view_merged_comparation.png }}
==== マージツールによって一元化される要素 ====
次の要素は、新しいマージツールから一元化される要素です。
* **ユーザ**: コマンドセンターからのみ管理されます。ノード管理は無効になります。マージツールから統合することにより、**同じID **を持つユーザは**同じユーザ**と見なされます(前述の優先ルールに従います)。
* **ユーザプロファイル**: それらはコマンドセンターからのみ管理されます。ノード管理は無効になります。マージツールから統合することにより、**同じ名前**を持つユーザは**同じユーザ**と見なされます(前述の優先ルールに従います)。
* **エージェントグループ**: それらはコマンドセンターからのみ管理されます。ノード管理は無効になります。
* マージツールから統合することにより、**同じ名前**を持つものは**同じグループ**からのものと見なされます(前述の優先ルールに従います)。
* **ファイルコレクション**: それらはコマンドセンターからのみ管理されます。ノード管理は無効になります。マージツールから統合することにより、**同じ短い名前**を持つものは**同じコレクション**と見なされます(前述の優先ルールに従います)。
* **アラートテンプレート**: それらはコマンドセンターからのみ管理されます。ノード管理は無効になります。マージツールから統合することにより、**同じ名前**を持つものは**同じテンプレート**と見なされます(前述の優先ルールに従います)。
* **アラートコマンド**: それらはコマンドセンターからのみ管理されます。ノード管理は無効になります。マージツールから統合することにより、**同じ名前**を持つものは**同じコマンド**と見なされます(前述の優先ルールに従います)。
* **アラートアクション**: それらはコマンドセンターからのみ管理されます。ノード管理は無効になります。マージツールから統合することにより、**同じ名前**を持つものは**同じアクション**と見なされます(前述の優先ルールに従います)。
* **//サーバプラグイン//** : それらはコマンドセンターからのみ管理されます。ノード管理は無効になります。マージツールから統合することにより、**同じ名前と実行ファイル**を持つものは**同じプラグイン**と見なされます(前述の優先ルールに従います)。
* **OS**: それらはコマンドセンターからのみ管理されます。ノード管理は無効になります。マージツールから統合することにより、**同じ名前**を持つものは**同じOS **と見なされます(前述の優先ルールに従います)。
* **モジュールタグ**: それらはコマンドセンターからのみ管理されます。ノード管理は無効になります。 マージツールから統合することにより、**同じ名前**を持つものは**同じタグ**と見なされます(前述の優先ルールに従います)。
* **モジュールカテゴリ**: それらはコマンドセンターからのみ管理されます。ノード管理は無効になります。 マージツールから統合することにより、**同じ名前**を持つものは**同じカテゴリ**と見なされます(前述の優先ルールに従います)。
* **モジュールグループ**: それらはコマンドセンターからのみ管理されます。ノード管理は無効になります。 マージツールから統合することにより、**同じ名前**を持つものは**同じグループ**と見なされます(前述の優先ルールに従います)。
* **コンポーネントグループ**: それらはコマンドセンターからのみ管理されます。ノード管理は無効になります。 マージツールから統合することにより、**同じ名前**を持つものは**同じグループ**と見なされます(前述の優先ルールに従います)。
* **ネットワークコンポーネント**: それらはコマンドセンターからのみ管理されます。ノード管理は無効になります。 マージツールから統合することにより、**同じ名前とOS **を持つものは**同じコンポーネント**と見なされます(前述の優先ルールに従います)。
* **ローカルコンポーネント**: それらはコマンドセンターからのみ管理されます。ノード管理は無効になります。マージツールから統合することにより、**同じ名前とOS **を持つものは**同じコンポーネント**と見なされます(前述の優先ルールに従います)。
* **コンポーネントテンプレート**: それらはコマンドセンターからのみ管理されます。ノード管理は無効になります。マージツールから統合することにより、**同じ名前**を持つものは**同じテンプレート**と見なされます(前述の優先ルールに従います)。
* **インベントリモジュール**: それらはコマンドセンターからのみ管理されます。ノード管理は無効になります。 マージツールから統合することにより、**同じ名前とOS **を持つものは**同じモジュール**と見なされます(前述の優先ルールに従います)。
* **監視ポリシー**: それらはコマンドセンターからのみ管理されます。ノード管理は無効になります。マージツールから統合することにより、**同じ名前**を持つものは**同じポリシー**と見なされます(前述の優先ルールに従います)。
* **ポリシーモジュール**: それらはコマンドセンターからのみ管理されます。ノード管理は無効になります。マージツールから統合することにより、**同じ名前のポリシー内で同じ名前のモジュール**を持つものは**同じモジュール**と見なされます(前述の優先ルールに従います)。
* **ポリシーインベントリモジュール**: それらはコマンドセンターからのみ管理されます。ノード管理は無効になります。 マージツールから統合することにより、**同じ名前のポリシー内で同じ名前のモジュールと OS** を持つものは**同じモジュール**と見なされます(前述の優先ルールに従います)。
* **//ポリシープラグイン//** : それらはコマンドセンターからのみ管理されます。ノード管理は無効になります。 マージツールから統合することにより、**同じ名前のポリシー内で同じ実行ファイル**を持つものは**同じプラグイン**と見なされます(前述の優先ルールに従います)。
* **ポリシーコレクション**: それらはコマンドセンターからのみ管理されます。ノード管理は無効になります。マージツールから統合することにより、**同じ名前のポリシー内で同じ短い名前**を持つものは**同じコレクション**と見なされます(前述の優先ルールに従います)。
* **アラートとポリシー外部アラート**: それらはコマンドセンターからのみ管理されます。ノード管理は無効になります。マージツールから統合することにより、**同じ名前のポリシー内の同じモジュール名に同じテンプレート**を持つものは**同じアラート**と見なされます(前述の優先ルールに従います)。
* **アラートおよびポリシー外部アラートのアクション**: れらはコマンドセンターからのみ管理されます。ノード管理は無効になります。マージツールから統合することにより、**同じ名前のポリシー内の同じモジュール名の同じテンプレート上の同じ名前**を持つものは、**同じアクション**と見なされます(前述の優先ルールに従います)。
* **ポリシー内エージェント**: それらはコマンドセンターからのみ管理されます。ノード管理は無効になります。マージツールからら統合することにより、同じ名前のポリシー内の同じ名前のエージェントは、**同じポリシー内のエージェント**と見なされます。(アプリケーションの動作に関わる)コマンドセンターポリシー内のエージェントログは破棄され、ノードログは考慮されません。
* **エージェント**: コマンドセンターから実行する必要がある削除を除いて、ノードでのエージェント管理が許可されます。
マージツールから統合した後、サーバ設定ファイル ''pandora_server.conf'' のパラメーター ''autocreate_group'' を有効なグループIDで調整してください。
**//上記すべてをまとめたもの://**
以下の要素は、上記の [[#ks1|優先順位ルール]] に従って、マージツールを使用してコマンドセンターによって集中管理されます。
| **要素** | **ID** | **プロファイル** | **名前** | **グループ** | **Ex.**((実行)) | **OS** |
| ユーザ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| ユーザプロファイル | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ |
| エージェントグループ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ |
| ファイルコレクション | ❌ | ❌ | ✅ ((Short name.)) | ❌ | ❌ | ❌ |
| アラートテンプレート | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ |
| アラートコマンド | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ |
| 警告アクション | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ |
| サーバプラグイン | ❌ | ❌ | ✅ | ❌ | ✅ | ❌ |
| OS | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ |
| モジュールラベル | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ |
| モジュールカテゴリ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ |
| モジュールグループ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ |
| コンポーネントグループ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ |
| ネットワークコンポーネント | ❌ | ❌ | ✅ | ❌ | ❌ | ✅ |
| ローカルコンポーネント | ❌ | ❌ | ✅ | ❌ | ❌ | ✅ |
| コンポーネントテンプレート | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ |
| インベントリモジュール | ❌ | ❌ | ✅ | ❌ | ❌ | ✅ |
| 監視ポリシー | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ |
| ポリシーモジュール | ❌ | ❌ | ✅ ((同じ名前のポリシー内)) | ❌ | ❌ | ❌ |
| インベントリモジュール \\ ポリシー | ❌ | ❌ | ✅ ((同じ名前のポリシー内)) | ❌ | ❌ | ✅ |
| ポリシープラグイン | ❌ | ❌ | ✅ ((同じ名前のポリシー内)) | ❌ | ✅ ((同じ名前のポリシー内)) | ❌ |
| ポリシーコレクション | ❌ | ❌ | ✅ ((同じ名前のポリシー内)) | ❌ | ❌ | ❌ |
| アラートと外部アラート \\ ポリシーアラート | ❌ | ❌ | ✅ ((同じ名前のポリシー内で同じモジュール名)) | ❌ | ❌ | ❌ |
| アラートの**アクション** \\ および外部アラート| ❌ | ❌ | ✅ ((同じ名前のポリシー内の同じモジュール名の同じテンプレート内)) | ❌ | ❌ | ❌ |
| ポリシー内の \\ エージェント | ❌ | ❌ | ✅ ((同じ名前のポリシー内、コマンドセンターポリシー内のエージェントレコードは破棄され、ノード レコードのみが考慮されます。)) | ❌ | ❌ | ❌ |
| エージェント ((ノード管理, コマンドセンター内で削除)) | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
これらの要素が中央管理されているセクションは、コマンドセンターからのみ管理できます。ノードからこれらの要素にアクセスする場合、リスト表示のみが可能で、**編集および作成オプションは表示されません**。環境が中央管理モードであることを示す警告も表示され、管理者がこれらの要素を設定するための対応するコマンドセンターセクションへのリンクがあります。
{{ :wiki:07_policies_centralised.png }}
=== マージツールで使われているデータベーステーブル ===
次の[[:ja:documentation:pandorafms:complex_environments_and_optimization:09_pandorafms_engineering#データベースのメインテーブル|テーブル]]は、マージツールにおいてコマンドセンターとノード間で同期されます。
\\
* tgroup
* tcollection
* tplugin
* tconfig_os
* ttag
* tcategory
* tmodule_group
* tnetwork_component_group
* tnetwork_component
* tlocal_component
* tnetwork_profile
* tmodule_inventory
* talert_commands
* talert_actions
* talert_templates
* talert_calendar
* talert_special_days
* tprofile
* tuser
* tuser_profile
* tpolicies
* tpolicy_modules
* tpolicy_modules_inventory
* tpolicy_plugins
* tpolicy_collections
* tpolicy_alerts
* tpolicy_alerts_actions
* tautoconfig
* tautoconfig_rules
* tautoconfig_actions
* tpolicy_agents
\\
==== マージツールによるデータベースマージを起動するための前提条件 ====
* **コマンドセンター**は、すべての**データベース**とすべてのノード API に**接続**できる必要があります。"**コンソールのセットアップ**" の設定が正しく、インジケーターが緑色であることを確認してください。
* **ノードコンソール**は、**コマンドセンターデータベース**に接続できる必要があります。 Pandora FMS サーバとは別のマシンにコンソールがあるような場合でなければ、通常、これは問題にはなりません。
* ノード上で **管理(Management) → セットアップ(Setup)** → **Enterprise** のメタコンソール設定パラメーターが正しいことを確認してください。
{{ :wiki:09_node_enterprise_setup.png }}
* 全ノードの**サーバ**は、**コマンドセンター**の API へ**接続**できる必要があります。メタコンソールで公開 URL を設定することをお勧めします。
{{ :wiki:10_metaconsole_public_url.png }}
* ノード**サーバ**は、"**pandora_server.conf**" で正しい**API設定**や、コンソールの**セットアップ**での**公開URL**設定が必要です。
console_api_url http://localhost/pandora_console/include/api.php
console_api_pass pandora
* それぞれの**ノード**は、それ自身の**ヒストリデータベース**への**接続**ができる必要があります。
* すべての**ノードとコマンドセンター**は同じバージョンである必要があります。
* すべての**ノードとコマンドセンター**は同じ**MR**である必要があります。
* すべての**ノードとコマンドセンター**には、セットアップにて同じ最大コレクションサイズを設定する必要があります。
* エラーを回避するには、**コマンドセンターおよびノード**の設定ファイル ''php.ini'' の ''memory_limit'' に ''-1'' の設定が必要です。つまり、無制限です。//ただしマージプロセスのみ// です。 終了後、以前の値に戻すことをお勧めします。これは、ノードのマージに大量のメモリが使用され、非常に大規模な環境(多くの異なる要素がある)では大量のメモリを使用できるようにシステムが使用可能なすべてのメモリを確実に使用できるようにするためです。 マージされるアイテムがサーバで使用可能な物理メモリの値を超えると、予期しないエラーが原因でマージツールが失敗し、コンソール/Apache ログに、メモリ超過が発生したことを示す行が表示されます。
* すべての**ノード**では、''php.ini'' の ''post_max_size'' の値は、**コマンドセンター** の ''upload_max_file_size'' より**大きいか等しい**必要があります。この値は、存在する最大のファイルコレクションサイズと少なくとも同じ大きさである必要があります。
* すべての**ノード**では、''php.ini'' の ''upload_max_filesize'' の値は、**コマンドセンター** の同じパラメータより**大きいか等しい**必要があります。
* すべての**ノード**では、''php.ini'' の ''post_max_size'' の値は、**コマンドセンター** における同じパラメータ**より大きいか同じ**必要があります。この値は、存在する最大のファイルコレクションサイズと少なくとも同じ大きさである必要があります。また、ノードとコマンドセンターの両方で、このパラメーターの値が''upload_max_filesize'' の値以上である必要があります。
* すべての**ノードとコマンドセンター**は、**データベースとコレクション**のバックアップを実行できるように、**"attachment ディレクトリ**が存在するディスクに**十分な空き**がある必要があります。
* すべての**ノードとコマンドセンター**では、コンピューターの**日付と時刻**が正しく設定されている必要があります(NTPサーバの使用をお勧めします)。
これらの要件がすべて満たされていない場合、ノードはマージされず、エラーが返されます。 エラー結果を確認すると、満たされていない条件に関するメッセージを確認できます。
データベースのマージが完了したら、設定ファイル ''php.ini'' に対応する ''memory_limit'' の値を再設定することが重要です。 変更を有効にするには、Apache ''httpd'' サービスを再起動する必要があることに注意してください。
==== マージツールを起動する前の推奨事項 ====
データベース統合プロセスの必須条件ではありませんが、次の処理も実行することをお勧めします。
* 処理全体を通してで、すべてのノードの **pandora_server** とコマンドセンターを停止します。グループなどの重要な要素が変更されるため、それらの ID が変更されることがありあす。また、処理中は、環境にアクセスするような処理を動かすことはお勧めしません。 ただし、ほとんどの場合、実行中のサーバは問題にはなりません。
* サーバと同じ理由で、処理中は、''pandora_db'' プロセスを cron から一時的に停止します。
マージ処理が開始されると、ノードとコマンドセンターの両方がメンテナンスモードになります。 これの目的は、サーバと ''pandora_db'' を停止して、ユーザが処理中に要素を変更してエラーや不整合を引き起こすことを防ぐためです。
==== マージ処理の実行 ====
マージ処理には** 2つの段階があり、**コマンドセンターから管理できるさまざまな要素を**同期する**最初の段階と、**イベント内の情報を一元化された要素内で更新する** 2番目の段階があります。 この処理は、コンソールができるだけ早く再びアクセスできるようにするためのものです。イベントの更新は、通常、より多くの情報を扱うため、最も時間がかかる可能性がある処理であるためです。 両方のステージは、2つの進捗バーで区別され、さらに 2つのサブステージに分割されます。
=== ステージ 1 要素 ===
このステージでは、コマンドセンターから管理できるすべてのノードのデータベースで**要素の同期が行われます**。 それ自体がマージ処理であり、2つのサブステージに細分され、それぞれに独自の進捗バーがあります。
* **初期化:** すべての要件をチェックし、(要件が満たされている場合は)処理のいずれかの部分が失敗した場合に対応するバックアップを生成し、メモリ内でデータベースをマージした結果を生成します。この処理が何らかの理由で失敗した場合、データベースはまだ変更されていないため、バックアップを復元する必要はありません。 バックアップは、各ノード/コマンドセンターの次のディレクトリに保存されます: ''/attachment/merge_backups''
* **適用:** 前の初期化段階が成功した場合、統合の結果はすべてのノードとコマンドセンターに適用され始めます。このプロセスは優先度の高い順に実行されるため、1つが終了すると、次のプロセスが開始されます。
{{ :wiki:18_merge_success.png }}
この処理中にエラーが発生した場合(たとえば、データベースとの接続が失われた場合)、プロセス自体が生成されたバックアップの復元を試みます(復元の進行状況を示す 3番目の赤い進行状況バーが表示されます)。 失敗の理由によりバックアップのリカバリができない場合は、手動でリカバリを実行する必要があります。
障害の原因によってバックアップのリカバリが妨げられている場合、リカバリは手動で実行する必要があります。
{{ :wiki:17_initialize_error.png }}
* 同期が中止された場合:
{{ :wiki:19_merge_error.png }}
コマンドセンターとノードのデータベース間の接続がしばらく失われたり、十分なディスク容量がないためにバックアップを作成できなかったりするなど、予期しない障害が発生する場合があります。そのため、表示されるエラーメッセージは一般的なものになる可能性があります。その場合にサポートが必要であれば、Pandora FMS サポートチームに連絡して支援を受けてください。
=== ステージ 2: イベント更新 ===
このステージでは、**イベント内のさまざまな同期要素への参照情報が更新されます**(たとえばグループごとに)。 ステージは、メインデータベースのイベントの更新とヒストリデータベースのイベントの更新に細分され、マージ処理を開始する前に存在していたイベントにのみ影響します。環境を一元化した後に新しく生成されたイベントには、すべての正しい参照情報が含まれているため、更新する必要はありません。
* **メインデータベース:** CA イベントは大量の情報であり、影響も受けます。この更新処理は、すでにマージされた環境の通常の操作と並行して行われます。 この時点で、サーバと **pandora_db** を正常に再起動でき、標準ユーザはコンソールに再度アクセスできます。 もちろん、イベント表示では、すべてのイベントの更新処理バーが表示されますが、マージ前に存在していたイベントについてのみ(フィルターなどに関して)不整合が発生する可能性があります。 //新しいイベントは通常どおり生成されます//。 このステージと処理は、コンソールの **cron** の特定のタスクを介して、各ノードによって起動されます。 情報量が多いため、それは重くて時間のかかる作業になる可能性があります。可能な限り、環境の負荷が少ないタイミングがよいでしょう。
* **ヒストリデータベース:** これは上記の続きであり、すでに示したのと同じようにヒストリデータベース内のイベントを更新します。
{{ :wiki:20_events_success.png }}
==== マージツールを通してすでに一元化された環境 ====
ステージ1が終了すると、環境は一元化されていると見なされ、そこ時点よりコマンドセンターからすべてを管理できるようになります。要素の同期も変更され、各ノードの ''pandora_ha'' プロセスがデータベースとコマンドセンターのデータベースの同期を担当するようになります。
コマンドセンターで変更を加えると(たとえば、ユーザを作成すると)、ノードデータベースへの必要なクエリ(''INSERTS'', ''UPDATES'' など)がキューに入れられます。それは順番に server_threshold ごとに ''pandora_ha'' によって読み取られ実行されます。 これにより、サーバがしばらくダウンした場合でも、サーバを再起動したときに正しく追いつくことができます。
この保留中のクエリのリストは、コマンドセンターの**コンソールセットアップ**から確認できます。 何らかの理由でクエリが失敗した場合、ノードは残りのクエリを続行せず、**コンソールセットアップ**にエラーが表示され、管理者が手動で処理する必要があります。ほとんどの場合、マージツールでマージ処理を再度起動することで修正できるはずです。
=== 新たなノードを含める ===
集中管理環境に新しいノードを追加するには、コマンドセンターで **セットアップ(Setup) → メタセットアップ(Metasetup) → コンソールセットアップ(Consoles setup)** に移動し、**新しいノード(New node)** ボタンをクリックします。接続を確立し保存するにはすべてのフィールドに入力する必要があります。データがない完全に新しいノードの場合は **空のノードを登録(Register empty node)** ボタンで追加し、それ以外の場合は **マージするデータを含むノードを登録(Register node with data to merge)** ボタンを使用する必要があります。
{{ :wiki:pfms-command_center-new_node.png }}
* **空のノードを登録(Register empty node)** ボタンを使用すると、ノード内のデータが削除されることを示す警告ウィンドウが表示されます。
{{ :wiki:node_data_will_be_wiped_out.png }}
確認し **OK** をクリックすると、新しいノードが集中管理化されます。
* **マージするデータを含むノードを登録(Register node with data to merge)** ボタンを使用すると、既存のノードのデータが一元化されることを示す確認ウィンドウが表示されます。
{{ :wiki:node_data_will_be_merged.png }}
[[:ja:documentation:start|Pandora FMS ドキュメント一覧に戻る]]