予測モニタリング
概要
リモートモニタリング、エージェントベースのモニタリング、ウェブモニタリングなどに加えて、Pandora FMS には他の拡張モニタリングがあります。これにより、保存しているデータからモジュールの値を予測したり、あるモジュールの値を元に数値計算した結果を返す新たなモジュールを作成することができます。
予測モニタリングのタイプ
予測モニタリングモジュールの作成では、以下のオプションのいずれかを選択できます。
- 予測モニタリング(Predictive monitoring):
- キャパシティプランニング(Capacity planning): 対象モジュールの動作が多かれ少なかれ線形であると想定して、ユーザが指定した時間枠に基づいて予測を行います。このタイプの予測モジュールを使用すると、ディスクがいっぱいになるまでの残り日数、または同じ状態で推移した場合の 1か月のデータベースへのリクエスト数を知ることができます。これらのモジュールは、古い予測モジュールを置き換えます。
- サービス(Service): サービスの値を取得し、必要なエージェントにサービスを表示できるようにします。
- 算術モニタリング(Arithmetic monitoring):
- 統合演算(Synthetic arithmetic): 他のモジュールで以前に取得されたデータを使用して算術演算(合計、減算、乗算、除算)を実行します。
- 統合平均(Synthetic average): 他のモジュールから以前に取得されたデータから平均を取得します。
- トレンドモジュール(Trending module): 現在の平均を前の期間の平均と比較し、絶対値またはパーセンテージの差を返します。トレンドモジュール(Trending module) は、指定された周期の最後の期間を 1日/1週間/1ヵ月前の同じ期間の平均と比較します。 たとえば、週を選択した場合、トレンドモジュール は先週の平均を計算し、それを前の週の平均と比較します。
統合モジュールによる監視
統合モジュールは、同一エージェントまたは異なるエージェントの他のモジュールですでに存在するデータを取得するモジュールです。実行可能な演算は、モジュール間の絶対値による算術演算(加算、減算、乗算、除算)です。
統合モジュールは予測サーバによって管理されます。これらを使うためには、Pandora FMS サーバのコンポーネントを有効化し、エージェントにそのサーバを使うモジュールを作成する必要があります。HA環境を使用して、負荷分散を行うこともできます。
モジュールタブのエージェントの管理セクションで、モジュールの作成(Create module) をクリックしてアクセスし、新しい予測サーバモジュールの作成(Create new prediction server module) を選択して、要求されたフィールドに値を入力します。
他の論理演算 (乗算、減算、除算) では、演算子の順序を考慮する必要があります。 インターフェイスを試して、異なるモジュール間で算術演算をどのように実行できるかを試してみてください。
異常検知 (MADE)
MADE の概要
Pandora FMS 異常検出エンジン (MADE) の最終目的は、自動異常検出のための人工知能モデルのトレーニングと使用です。 これらのモデルをトレーニングするには、Pandora FMS データベースから取得される大量の入力データが必要です。 MADE はこのデータのコピーをディスク上に保持し、効率的なデータストレージを目的として設計されたフェザーフォーマットで再トレーニングおよびリサンプリングタスクを実行します。
モデルは比較的頻繁にメモリにロードされ、ディスクに書き込まれるため、トレーニングされたモデルは、簡素化と効率化のためにデータとともにシリアル化されてディスクに保存されます。 格納される形式は、各モデルの実装の詳細によって異なる場合があります。 後で説明するように、MADE は異常と自身の状態に関連する情報もデータベースに書き込みます。
MADE は、結果として Pandora FMS にイベントを生成し、特定の監視で異常を検出したかどうかを示します。
MADE の設定
EL8 用の MADE のダウンロードリンク:
Ubuntu サーバ用:
MADE を有効にしてカスタマイズするには、次の設定オプションを Pandora FMS サーバ設定ファイル /etc/pandora/pandora_server.conf
に追加します。
# Enable (1) or disable (0) the Monitoring Anomaly Detection Engine (MADE). madeserver 1 # Directory where models will be stored. madeserver_path /var/spool/pandora/data_in/models # Number of server threads for MADE. madeserver_threads 2 # Model backend: 'prophet' or 'iforest'. # 'prophet' is better suited for temporal series and supports forecasting. # 'iforest' is faster and more efficient (cpu, memory...). madeserver_backend prophet # MADE will query the Pandora FMS database every madeserver_interval seconds # to look for new data. madeserver_interval 10 # Minimum number of data required to train a model (e.g., '7d' for seven days). madeserver_min_train 7d # Maximum number of data kept to train models (e.g., '90d' for 90 days). madeserver_max_history 90d # Model automatic retraining period (e.g., '7d' for seven days). madeserver_autofit 7d # Model sensitivity. A lower value triggers less anomalies. madeserver_sensitivity 0.1
MADE に関するヘルプは、次のコマンドを実行すると表示されます。
pandora_made -h
MADE は systemd によって管理されるデーモンとして実行されます。 RPM または DEB パッケージをインストールするとサービスが有効になりますが、サーバを再起動せずにサービスを開始するには、次のコマンドを実行する必要があります。
systemctl start pandora_made.service
または:
service pandora_made start
システムが再起動またはクラッシュすると、systemd 自体がサービスを再起動します。
次のコマンドを使用して、Pandora FMS によってこれまでに取得されたデータを使用してモデルのトレーニングを強制できます。
pandora_made -c /etc/pandora/pandora_server.conf -t
Pandora FMS モジュールの識別子を -m
で指定して、特定のモデルのトレーニングを強制することもできます。
pandora_made -c /etc/pandora/pandora_server.conf -t -m 1
モデルを再トレーニングするとき、MADE はモデルを評価し、そのパフォーマンスを現在のモデルと比較し、常に最良のモデルを維持します。 次のコマンドを使用して、古いモデルを強制的に削除できます。
pandora_made -c /etc/pandora/pandora_server.conf -d
cron からこのコマンドを定期的に実行すると便利です。
モジュールレベルでの MADE 設定
MADE がインストールされ、一般レベルで設定されると、各 数値 モジュールには、そのモジュールをデータ処理タスクに追加するための次のセレクターがあります。
一定期間が経過し、異常が検出されると、MADE は特定のカテゴリで独自の イベント を出します。
イベントアラートシステム も参照してください。
異常検知
サービスをインストールして開始すると、MADE は自動的に機能します。 MADE は、Pandora FMS からデータを読み取り、必要に応じてデータを再サンプリングしてローテートし、十分なデータがある場合にモデルをトレーニングし、定期的に再トレーニングし、異常を検出した場合にイベントを生成します。
どのモジュールで異常検出を有効にするかを指定します。 各モジュールの詳細設定セクションで有効にする以外の設定は必要ありません。
これはインテリジェントなシステムであり、各データセットに対してモデルトレーニングを実行し、検出された異常イベントを生成します。
このようなイベントは、他の Pandora FMS イベントと同様に取り込まれ、イベントアラート を通じてカスタマイズされた通知を生成できます。
適用されるさまざまな AI モデルに関する考慮事項
MADE は、管理者が検出または予測するのが非常に難しい特定のパターンに注意を向けるのに便利なツールです。
Prophet モードでは、データ系列の時間特性を考慮して、将来の予測を行うことができる、より堅牢なモデルをトレーニングできますが、非常に大規模な環境でトレーニングするにはコストがかかる可能性があります。 これは、使用することをお勧めするデフォルトのバックエンドです。
IsolationForest モードはリソース効率がはるかに高く、テストでは満足のいく結果が得られていますが、これは環境とデータによって異なる場合があります。 Prophet モードでハードウェアリソースの不足によりパフォーマンスが低下する場合は、このモードの使用をお勧めします。