スクリプトのトラブルシューティング

最終更新日: 20 年 2023 月 XNUMX 日

スクリプトのベストプラクティス

LogicMonitorのスクリプト機能は、監視の強力な拡張性を提供しますが、彼らが言うように、大きな力には大きな責任が伴います。 スクリプトを問題なく実行するには、次のベストプラクティスに留意してください。

  • LogicMonitorスクリプトはコレクターによって実行されるため、そのシステムの全体的な馬力によって制限されます。 そのため、可能な限り軽量になるように設計する必要があります。
  • ポーリングごとに1回実行されるデータソース収集スクリプトは、ポーリング間隔内でデータを処理できるように、XNUMXm以内に完了する必要があります。
  • 新しいスクリプトベースの監視を開発するときは、サンドボックス環境として使用する新しいコレクターをインストールすることをお勧めします。 これにより、スクリプト開発が本番運用に干渉する可能性がなくなります。

コレクターデバッグ機能を使用したスクリプトの開発

監視スクリプトを適切なLogicModuleにインストールする前に、まずスクリプトをテストして、設計どおりに動作していることを確認する必要があります。 のために 外部スクリプト、これは簡単です。通常、スクリプト言語の適切なインタープリターを直接呼び出すことにより、Collectorホストで直接開発およびテストするためです。

組み込み用 Groovy or PowerShellの スクリプトを使用すると、LogicMonitor内でスクリプトを直接開発およびテストできます。 コレクターデバッグ機能。 この組み込みツールを使用して包括的にデバッグできますが、を使用して拡張することを強くお勧めします。 LogicMonitorスクリプトデバッグヘルパー GoogleChromeブラウザの拡張機能。

Collector DebugFacilityまたはLogicMonitorScript Debug Helperのどちらを使用しているかに関係なく、GroovyおよびPowerShellスクリプトをオンザフライで作成およびデバッグできます。 !groovy & !posh デバッグコマンド。

これらのコマンドはいずれも、スクリプトコードを記述できるテキスト領域を起動し、コレクターのGroovy / PowerShellスクリプトインタープリターにコードを送信してコードを繰り返しテストし、その出力を表示します。

コレクターデバッグ機能を使用したスクリプトの開発

コードが目的の処理を実行したら(たとえば、データソースのアクティブな検出レコードまたはキーと値のペアの生成、EventSource JSON、ConfigSource構成、またはその他の意味のある出力)、適切なLogicModuleにコピーできます。

28.300未満のコレクターバージョンの制限

28.300より前の番号のコレクターバージョンを実行している場合、デバイスのプロパティに基づいて変数をハードコーディングする必要があります。 たとえば、スクリプトが実行対象のホスト名を動的に取得する場合は、次を使用します。

  • Groovy: hostname = hostProps.get("system.hostname");
  • パワーシェル: $hostname = "##system.hostname##";

このコードをデバッグウィンドウで実行する場合は、開発対象のデバイスに一致するようにこれらの変数をハードコーディングする必要があります。

注: Collectorバージョン28.300(またはそれ以上の番号のバージョン)の場合、ホストレベルのプロパティは、デバッグウィンドウではなく、スクリプトがコレクターで実行されている場合と同じように、自動的に取得されます。

出力ログを使用したスクリプトの診断

スクリプトが特定のLogicModuleに適用されると、そのスクリプトは、デバイスポーリング監視アクティビティの一部としてコレクターによって実行されます。 これにより、操作がやや不透明になります。これは、スクリプトが期待どおりに動作しない理由を知りたい場合に困難です。

スクリプト操作をより透過的にするには、コレクターでデバッグログを有効にする必要があります。 そうすることで、コレクターは、コレクターログディレクトリ内の個々のファイルへのスクリプト出力とエラーの書き込みを有効にします。 意味:スクリプトコンポーネントがコレクターによって実行されるたびに、それらのプロセスからのSTDOUTとSTDERRの両方が個々のファイルに書き込まれます。 コレクターがデバッグファイルでいっぱいになるのを防ぐために、コレクタースクリプトを後続で実行するたびに、前世代の出力ファイルとエラーファイルが上書きされます。

スクリプト出力ログを有効にするには、コレクターのログ設定を開き、collector.scriptコンポーネントを「デバッグ」に設定します。 (コレクターログレベルの調整の詳細については、を参照してください。 コレクターロギング。)再起動すると、コレクターは次のいずれかにログファイルを生成します。

  • Linux: / usr / local / logicmonitor / agent / logs

  • Windows: C:\ Program Files(x86)\ LogicMonitor \ Agent \ logs

デバッグが完了したら、コレクタログ設定をデフォルトの「info」に戻して、スクリプト出力ログを無効にすることをお勧めします。

記事上で