スクリプトアクティブディスカバリー

最終更新日: 07 年 2022 月 XNUMX 日

LogicMonitorの事前定義済み アクティブディスカバリー SNMP、WMI、HTTPなどの方法は、ほとんどのアプリケーションに適しています。 ただし、場合によっては、スクリプトを使用してDataSourceインスタンスを検出する必要があります。

スクリプトアクティブディスカバリーアプローチ

スクリプトを使用してDataSourceインスタンスを検出するのは簡単です。 これがあなたがする必要があることのハイレベルな概要です:

  1. DataSource定義にあるDataSourceのActiveDiscovery設定に移動します(設定| LogicModules | データソース).
  2. ノーザンダイバー社の 発見方法 フィールドのドロップダウンメニューで、「スクリプト」を選択します。
  3. ご使用の環境および問題のデバイスまたはシステムに最も適したスクリプト言語を選択してください。 レビュー スクリプトコレクションの種類 LogicMonitorによってサポートされ、アプリケーションに最適なものを決定します。
  4. インスタンス識別子、名前、およびその他の識別の詳細を取得するスクリプトを記述します。
  5. インスタンスデータをXNUMX行にXNUMXつずつ標準出力に出力します。

スクリプトには、次の文字列/文字の制限があることに注意してください。

  • ワイルドバリュー文字制限= 1024
  • Wildvalueに次の文字を含めることはできません。 =、:、\、#、スペース
  • インスタンスレベルのプロパティの文字数制限= 49000

アクティブディスカバリスクリプト出力

インスタンス生成がコレクターによって適切に解釈されるようにするために、ActiveDiscoveryスクリプトは特定の形式での出力を必要とします。 最も単純なケースでは、Active Discoveryスクリプトは、インスタンスIDと名前のみを返す必要があり、各インスタンスは独自の行にあります。

instance1_id##instance1_name
instance2_id##instance2_name

オプションで、次のように各インスタンスに説明を追加できます。

instance3_id##instance3_name##instance3_description
instance4_id##instance4_name##instance4_description

さらに収集することができます インスタンスのプロパティ 次の構文を使用して、ActiveDiscoveryスクリプトを使用します。

instance5_id##instance5_name##instance5_description####auto.fooProperty=somevalue&auto.barProperty=anothervalue
instance6_id##instance6_name##instance6_description####auto.fooProperty=thisvalue&auto.barProperty=thatvalue

スクリプトの戻り値

Active Discoveryは、スクリプトが終了コード「0」を返すと、検出されたインスタンスのリストを更新します。これは、スクリプトの実行が正常に完了したことを示します。

値がインスタンスレベルのプロパティに割り当てられ、空白のままにされないようにすることをお勧めします。 以下の例では、null値を使用してプロパティauto.fooPropertyを作成すると、検出タスクログにエラーが作成されます。

instance6_id##instance6_name##instance6_description####auto.fooProperty=&auto.barProperty=thatvalue

スクリプト出力が空または不正な形式であるが、スクリプトが「0」のコードで終了する場合、以前に検出されたすべてのインスタンスが削除されます。 スクリプトエラー(SNMPタイムアウトなど)が発生した場合にActive Discoveryがインスタンスを削除しないようにするには、コードがそのような条件をキャッチしてゼロ以外の終了コードを返すように設計されていることを確認してください。

注:を使用してください アクティブディスカバリーのテスト スクリプトを使用して検出されるすべてのインスタンスのテーブルを返すボタン。 これは、検出する予定のすべてのインスタンスが実際に検出されていることを確認するための良い方法です。

記事上で