強化されたスクリプト NetScan
最終更新日 - 08年2026月XNUMX日
改善された出力フォーマット、追加のグループ割り当てオプション、およびリソース フィルタリングのために、LogicMonitor Enhanced Script NetScan を使用します。 デバイス資格情報を特定のリソースまたはリソース グループから継承したり、NetScan 構成でカスタム資格情報を設定したりできます。

拡張スクリプト NetScan を追加するための要件
拡張スクリプトNetScanを使用するには、NetScanを実行するコレクターにLM Collectorバージョン32.400以降がインストールされている必要があります。
拡張スクリプト NetScan の追加
- LogicMonitorで、次の場所に移動します 設定 > ネットスキャン >
NetScanオプションの追加 > 高度なNetScanの追加. - 名前 and 詳細説明 各欄に、氏名と説明をそれぞれ入力してください。
- ネットスキャングループ フィールドにグループ名を入力します。既存のグループのリストから選択するか、フィールドを空白のままにしてグループを追加できます。
@default group.
詳細については、を参照してください。 NetScanの作成. - ノーザンダイバー社の コレクターグループ and 望ましい コレクタ 各フィールドで、コレクターグループとコレクターをそれぞれ選択します。これは、NetScanを実行するコレクターです。優先コレクターフィールドのオプションは、選択したコレクターグループに基づいてフィルタリングされます。
- 「拡張スクリプトNetScan」を選択します。 プーケットの魅力 方法 ドロップダウンメニュー。
- トグル スキャンが終了したら電子メール通知を送信します NetScanが完了したときにスキャンアラートを送信するように設定します。
アラート通知を1人以上の受信者に送信するには、 受信者のメール フィールド。 - 以下から1つ選択してください。 リソース認証情報オプション:
- デバイスグループから資格情報を継承する-デバイス グループ レベルで割り当てられているのと同じ資格情報を使用します。
- デバイスから資格情報を継承する—個々のデバイスにすでに適用されている資格情報を使用します。
- このスキャンにカスタム資格情報を使用する- この NetScan にのみ適用される一意の資格情報を指定できます。
このスイッチを切り替えた後、
追加 物件とその価格を指定します。提供されているリストから物件を選択するか、カスタムキー名を入力できます。
注意: これらのプロパティは、netscanProps.get(“property.key”) を使用してスクリプト内でアクセスできます。これらのプロパティをリソースに追加するには、デバイスの JSON 構造の hostProps フィールド内に含めてください。詳細については、「スクリプトの書式設定」を参照してください。
- 既存のリソースの重複をチェックするときに system.ips を無視します既存の監視対象リソースとIPアドレスを共有するリソースの検出を可能にします。
このトグルを有効にすると、LogicMonitor は重複チェック時に system.ips プロパティを無視し、IP アドレスを共有しているがホスト名または識別子が一意であるリソースを追加します。このオプションは、複数のリソースが正当に IP アドレスを共有している場合(たとえば、NAT の背後にある仮想マシンやクラスタ化されたサーバーなど)に使用します。
LogicMonitorが無効になっている場合、検出されたIPアドレスは既存のsystem.ipsの値と比較されます。IPアドレスが一致するリソースは重複とみなされ、監視対象には追加されません。 - フィルタ このセクションでは、スキャン対象からリソースを除外します。フィルタリングは、NetScanスクリプトで割り当てられたデバイスの属性と値に基づいて行われます。
- スクリプトを適用するには、以下のいずれかの方法を選択してください。
- スクリプトファイルをアップロード ローカルマシンからスクリプトをアップロードしてください。
- ネットワークからスクリプト ファイルをアップロードする ネットワーク上の場所からスクリプトをアップロードするには、パスまたはファイル名を入力してください。
- Groovyスクリプトを埋め込む – Groovyスクリプトをフィールドに貼り付けてください。詳細については、「スクリプトの書式設定」を参照してください。
注意:
- NetScan のより複雑な自動化とカスタマイズには、Groovy スクリプトを活用することを検討してください。
- 確実に動作させるため、Enhanced NetScan 用の Groovy スクリプトのサイズは 32 KB を推奨しています。
- 親グループ フィールドに、デフォルトグループを入力します。スクリプト出力でグループが指定されていない場合、リソースはデフォルトグループに追加されます。スクリプト出力でデフォルトグループが指定されている場合は、そのグループは無視されます。
- 以下から1つ選択してください。 重複するIPアドレスを除外する ドロップダウンメニュー:
- 監視対象リソースの照合既存の監視対象リソースとIPアドレスを共有する検出されたリソースは除外します。
- この NetScan によってすでに検出されている一致するリソース—このNetScanによって既に監視対象に追加されている検出されたリソースは除外されます。
- これらのリソース グループ内のリソースを一致させる—指定されたグループ内のリソースとIPアドレスを共有する検出されたリソースを除外します。このオプションを選択すると、1つ以上のリソースグループを指定するための追加フィールドが表示されます。
- これらのコレクタに現在割り当てられている一致するリソース—指定されたコレクターに割り当てられたリソースとIPアドレスを共有する検出されたリソースを除外します。このオプションを選択すると、1つ以上のコレクターを指定するための追加フィールドが表示されます。
お願い: 動的ホスト構成プロトコル (DHCP) ベースのネットワークでは、リソースの IP アドレスやホスト名が頻繁に変更されるため、LogicMonitor がそれらを新しいリソースまたは異なるリソースとして検出してしまう可能性があります。この問題を解決するために、拡張スクリプト NetScan は、Cisco Meraki ワイヤレスアクセスポイントおよびカメラ向けの重複排除フレームワークを提供します。
NetScanの出力から新たに検出されたmeraki.serial値を持つMerakiリソースが、既存のリソースのauto.endpoint.serial_numberと一致する場合、LogicMonitorは重複を作成する代わりに、既存のエントリを新しいホスト名とIPアドレスで更新します。
これにより、サポートされているMerakiハードウェアのリソース追跡が正確に行われ、手動でのクリーンアップの必要性が軽減されます。
- から次のオプションのいずれかを選択します。 既存リソースを更新するための基準 ドロップダウンメニュー:
- 一致するすべてのリソース―検出基準に一致する既存のリソースをすべて更新します。
- このネットスキャンによって発見されたリソース—特定のNetScanポリシーによって検出されたリソースのみを更新します。これがデフォルトのオプションです。
- 選択されたグループに属するリソース—選択したリソースグループに属するリソースのみを更新します。選択すると、追加フィールド、 グループ、1つ以上のグループを指定するために表示します。
- 選定された収集者によって監視されているリソース—選択したコレクターによって監視されているリソースのみを更新します。選択すると、追加フィールド、 コレクタ、 1つ以上のコレクターを指定するための表示です。
- 既存のリソースを更新しないでください—NetScanの実行中に、既存のすべてのリソースへの更新を防止します。
注意: この設定は、NetScan の実行中に既存のリソースがどのように更新されるかを制御します。LogicMonitor は、設定されたデバイスカテゴリに基づいて重複排除ロジックを使用してリソースを照合します。system.hostname を照合属性として使用できますが、正確な識別子は重複排除設定によって異なります。一致するリソースが存在する場合は、そのリソースが更新されます。一致しない場合は、新しいリソースが作成されます。
- 有効にします このNetScanをスケジュールに従って実行する スケジュールに基づいて拡張スクリプトNetScanを実行するように切り替えます。
- スキャンを保存するには、以下のいずれかのオプションを選択してください。
- 選択する 保存して実行 変更を保存してNetScanを実行してください。
- 選択する Save NetScanを実行せずに保存する。
LogicMonitorは、選択したオプションに基づいて構成を適用し、スキャンを実行します。リソースは、定義されたフィルタ、認証情報、および更新基準に従って検出、作成、または更新されます。
拡張 NetScan スクリプトを使用してプロパティを更新する
- LogicMonitorで、次の場所に移動します 設定 > ネットスキャン 必要なリソースを選択します.
- ソフトウェア設定ページで、下図のように ネットスキャンの管理 ページに移動して、 強化されたスクリプト セクションに機密データを追加します。
- 選択する このスキャンにカスタム資格情報を使用する.
- 必要なプロパティとプロパティ値の情報をそれぞれのフィールドに入力します。

- 必要に応じて Groovy スクリプトを変更します。
注意: Groovyスクリプトに機密情報が含まれていないことを確認してください。
- 選択する Save.
注意: スキャンがスケジュールどおりに実行される場合、それ以上のアクションは必要ありません。 スケジュールに従ってスキャンが完了すると、リソースは変更されたプロパティで更新されます。 ただし、スキャンがスケジュールどおりに実行されない場合は、EnhancedScriptNetScan ポリシーを手動で実行できます。
リソース更新時の資産保持
拡張されたスクリプトNetScanは、検出実行時およびドライラン時にパッチ操作を使用してリソースおよびリソースグループを更新します。
リソース更新動作
リソースの更新中、Enhanced Script NetScan は、既存のプロパティと新規のプロパティに対して、リソースの更新時に以下の動作を適用します。
| シナリオ | 行動 |
|---|---|
| 既存の物件情報はNetScanによって報告されています | 既存の不動産価格は、報告された価格に置き換えられます。 |
| 既存の物件はNetScanによって報告されていません | プロパティはリソース上に残ります。拡張スクリプトNetScanは、検出時に報告されなかったプロパティを削除しなくなりました。 |
| NetScanが新しい物件を報告 | そのプロパティがリソースに追加されます。 |
system.categories 報告されています | 報告されたカテゴリは既存のカテゴリに追加されます system.categories の値です。 |
これにより、手動で追加されたプロパティのうち、後続のNetScan結果に含まれないものが保持されます。
リソースグループの更新動作
拡張版スクリプトNetScanは、検出実行時およびドライラン時に、リソースグループに対してパッチ適用操作も実行します。
リソースグループに対して、以下の更新がサポートされています。
| シナリオ | 行動 |
|---|---|
| 既存の物件情報はNetScanによって報告されています | 既存の不動産価格は、報告された価格に置き換えられます。 |
| NetScanが新しい物件を報告 | そのプロパティはリソースグループに追加されます。 |
system.categories 報告されています | 報告されたカテゴリは既存のカテゴリに追加されます system.categories の値です。 |
| 発見されたリソースは、既存のリソースグループと新たに発見されたリソースグループに属します。 | これらのリソースは既存のリソースグループに所属したままであり、同時に新たに発見されたリソースグループにも追加されます。 |
リソースステータス情報の表示
- LogicMonitorで、次の場所に移動します 設定 > ネットスキャン.
- 必要なものを選択してください ネットスキャン 拡張スクリプト用。
- 選択する スキャン履歴 タブには何も表示されないことに注意してください。
追加または更新されたリソースは、「リソース ステータス」列で確認できます。 - 必要な NetScan を選択します。
選択したリソースのステータスを詳細パネルで表示することもできます。

コレクターの割り当て
拡張スクリプトNetScanで作成されたリソースは、どのコレクターにも割り当てることができます。コレクターへの割り当ての優先順位は以下のとおりで、各ステップで存在と有効性の両方を確認し、最初に見つかった一致を採用します。
| 優先順位 | チェック |
| 最初 | JSON 出力でデバイスに指定された CollectorId 値。 |
| 秒 | NetScan によって報告されたホスト グループの優先コレクター。 複数のグループ割り当ての場合、グループがリストされる順序。 |
| 三番 | デフォルトの NetScan グループの優先コレクター。 |
| 第4 | NetScan を実行するコレクター。 |
スクリプトの書式設定
拡張スクリプトNetScanでは、出力形式としてJSONが必要です。リソースは、以下のキーのみを使用したオブジェクトのリストとしてフォーマットする必要があります。
| キー名 | Groovy データ型 | 必須 / オプション |
| hostname | String | 必須 |
| 表示名 | String | 必須 |
| ホスト小道具 | 地図 | オプション |
| グループ名 | リスト | オプション |
| コレクターID | 整数 | オプション |
スクリプトのフォーマット例
次の例は、スクリプト出力の書式設定に関するガイダンスを示しています。
[
{
"hostname" : "1.1.1.1",
"displayname" : "Server 123",
"hostProps" : {
"custom.prop" : "value",
"another.prop" : "384597",
"ya.prop" : "null"
},
"groupName" : ["ParentGroup/ChildGroup", "RootLevelGroup"],
"collectorId" : 18
},
{
"hostname" : "1.1.1.2",
"displayname" : "Server 456",
"hostProps" : {
"custom.creds.user" : varUser.toString(),
"custom.creds.pass" : varPass.toString()
},
"groupName" : ["GrandparentGroup/ParentGroup/NewGroupNotYetInExistence"],
"collectorId" : 20
}
]カスタムプロパティ
NetScanの実行中にhostPropsフィールドを使用して、リソースにカスタムプロパティを割り当てることができます。これらのプロパティはカスタムプロパティであり、リソースページから編集できます。以下のいずれかのプレフィックスを持つプロパティを割り当てた場合、それらは無視され、デバイスはプレフィックスなしで追加されます。
- 車。
- 事前定義。
- システム。
- system.categories は、拡張スクリプト NetScan から設定できる唯一のシステムプロパティです。
サンプル拡張スクリプト NetScanスクリプト
次のボイラープレート コードを使用して、独自のカスタム スクリプトを作成できます。
注意: これには、高度な Groovy スクリプト機能が必要です。
/*******************************************************************************
* © 2007-2025 - LogicMonitor, Inc. All rights reserved.
******************************************************************************/
import com.santaba.agent.groovy.utils.GroovyScriptHelper as GSH
import com.logicmonitor.mod.Snippets
// To run in debug mode, set to true
Boolean debug = false
// Import any needed credentials or properties that have been set in the UI
String netCreds = netscanProps.get("custom.property.key")
// Bail out early if we don't have the necessary credentials
if (!netCreds) {
throw new Exception(" Must provide credentials to run this script. Verify necessary credentials have been provided in Netscan properties.")
}
// Load the lm.emit snippet to ensure proper output formatting
def modLoader = GSH.getInstance(GroovySystem.version).getScript("Snippets", Snippets.getLoader()).withBinding(getBinding())
def lmEmit = modLoader.load("lm.emit", "1.0")
// Get your data and build your list of resources
List<Map> resources = []
/*
Insert your custom code to retrieve data about the resources you want to add
*/
// Loop through your data to build your device map with proper keys
// in loop...
Map resource = [
"hostname" : ip, // String
"displayname" : displayName, // String
"hostProps" : deviceProps, // Map<String, String>
"groupName" : groupName, // List<String>
"collectorId" : 123 // Integer
]
resources.add(resource)
// ...end loop
// Output validated data in JSON format
// If errors have been made in acceptable/required keys, lm.emit will throw and inform the user
lmEmit.resource(resources, debug)