LogicMonitor + Catchpoint: 自律型ITの新時代へ

さらに詳しく

お断り: このコンテンツは旧UIに適用され、メンテナンスされなくなりました。将来削除される予定です。最新のコンテンツについては、 強化されたスクリプト NetScan削除されると、自動的に最新のコンテンツにリダイレクトされます。

LogicMonitor 拡張スクリプト NetScan を使用すると、出力フォーマットの改善、グループ割り当てオプションの追加、デバイス フィルタリングが可能になります。 特定のデバイス、デバイス グループからデバイス資格情報を継承することを選択することも、Netscan 構成でカスタム資格情報を設定することもできます。

要件

拡張スクリプト NetScan を使用するには、Netscan を実行するコレクタに LM Collector バージョン 32.400 以降がインストールされている必要があります。

拡張スクリプト NetScan の追加

  1. LogicMonitorで、次の場所に移動します 設定 > ネットスキャン > 追加 > 高度なネットスキャン。
  2. ソフトウェア設定ページで、下図のように ネットスキャンを追加 ウィンドウで、 お名前 フォルダーとその下に  詳細説明 .
  3.  ネットスキャングループ フィールドにグループ名を入力します。既存のグループのリストから選択するか、フィールドを空白のままにしてグループに追加することもできます。 @デフォルト グループ。 詳細については、次を参照してください。 NetScanの作成.
  4. ノーザンダイバー社の コレクターグループ および コレクタ オプションで、コレクター グループとコレクターをそれぞれ選択します。 これは、NetScan を実行するコレクターです。 [コレクタ] フィールドのオプションは、選択したコレクタ グループに基づいてフィルタリングされます。
  5. 選択する 強化されたスクリプト ネットスキャン  方法 ドロップダウンリスト。
  6.  デバイスの資格情報で、次のオプションのいずれかを選択します。
    • デバイスグループから資格情報を継承する
    • デバイスから資格情報を継承する
    • このスキャンにカスタム資格情報を使用する – 追加 [+] を選択して、プロパティとプロパティ値を指定します。 表示されたリストからプロパティを選択するか、カスタム キー名を入力できます。 

注意: これらのプロパティは、次を使用してスクリプトで使用するためにアクセスできます。 netscanProps.get("property.key"). これらのプロパティのいずれかをデバイスに追加する場合は、デバイスの JSON 構造の hostProps フィールドの下にそれらを含めます。 詳細については、次を参照してください。 スクリプトの書式設定.

  1.  フィルタ セクションで、XNUMX つまたは複数のリソースをスキャンから除外します。 フィルタリングは、Netscan スクリプトで割り当てられたデバイスの属性と値に基づいています。
    スクリプトを提供するには、次のいずれかの方法を選択します。
    • スクリプト ファイルをアップロードします。 選択する スクリプトのアップロード ローカル マシンからスクリプトをアップロードします。
    • ネットワークからスクリプト ファイルをアップロードします。 入力します パス/ファイル名 ネットワークの場所からスクリプトをアップロードします。
    • Groovy スクリプトを埋め込みます。 指定されたフィールドに Groovy スクリプトを貼り付けます。 詳細については、次を参照してください。 スクリプトの書式設定.

注意: NetScan のより複雑な自動化とカスタマイズには、Groovy スクリプトを活用することを検討してください。

  1.  親グループ フィールドに、デフォルト グループを入力します。 スクリプト出力でグループが指定されていない場合、リソースはデフォルト グループに追加されます。 スクリプト出力でグループが指定されている場合、デフォルト グループは無視されます。
  2. また、ご購読はいつでも停止することが可能です 重複するIPアドレスを除外する 次のいずれかのオプションを選択して、NetScan から
    • 監視対象のリソース/デバイスの照合 — すでに監視されているリソースと同じ IP アドレスを持つ検出されたリソースを除外します。
    • この NetScan によってすでに検出されている一致するリソース/デバイス— この NetScan によってすでに監視対象に移動されている、検出されたリソースを除外します。
    • これらのリソース グループ内のリソース/デバイスの一致— 指定したリソース グループに属するリソースと同じ IP アドレスを持つ検出されたリソースを除外します。 このオプションを選択すると、追加のフィールドが表示され、XNUMX つ以上のリソース グループを指定できます。
    • これらのコレクタに現在割り当てられている一致するリソース/デバイス— 指定されたコレクタに割り当てられたリソースと同じ IP アドレスを持つ検出されたリソースを除外します。 このオプションを選択すると、追加のフィールドが表示され、XNUMX つ以上のコレクターを指定できるようになります。 

注意: ダイナミックホスト構成プロトコル(DHCP)ベースのネットワークでは、デバイスのIPアドレスやホスト名が頻繁に変更されるため、LogicMonitorがそれらを新規または異なるデバイスとして検出してしまう可能性があります。この問題に対処するため、拡張スクリプトNetScanは、Cisco Merakiワイヤレスアクセスポイントおよびカメラ向けに重複排除フレームワークを提供します。

meraki.serial 値 (NetScan 出力から) を持つ新しく検出された Meraki デバイスが既存のリソースの auto.endpoint.serial_number と一致する場合、LogicMonitor は重複を作成する代わりに、新しいホスト名と IP アドレスで既存のエントリを更新します。

これにより、サポートされている Meraki ハードウェアのデバイス追跡が正確に行われるようになり、手動でのクリーンアップの必要性が軽減されます。

  1. 有効にします このNetScanをスケジュールに従って実行する チェックボックスをオンにして、スケジュールに従って拡張スクリプト Netscan を実行します。
    • 周波数— 毎時、毎日、毎週、または毎月。
    • 開始時刻— 表示されたフィールドに開始時刻を入力します。
    • 時間帯— タイムゾーンを選択してください イベントのタイムゾーン ポップアップウィンドウ。
  2. 次のいずれかを実行して、スキャンを保存します。
    • 選択する 保存して実行 変更を保存し、Netscan を実行します。
    • 選択する Save Netscan を実行せずに保存します。

注意: これらのプロパティは、次を使用してスクリプトで使用するためにアクセスできます。 netscanProps.get("property.key"). これらのプロパティのいずれかをデバイスに追加する場合は、デバイスの JSON 構造の hostProps フィールドの下にそれらを含めます。 詳細については、次を参照してください。 スクリプトの書式設定.

拡張 NetScan スクリプトを使用してプロパティを更新する 

  1. MFAデバイスに移動する  設定 > ネットスキャン 必要なリソースを選択します.
  2. ソフトウェア設定ページで、下図のように ネットスキャンの管理 ページに移動して、 デバイスの資格情報 セクションに機密データを追加します。
  3. 選択する このスキャンにカスタム資格情報を使用する.
  4. 必要なプロパティとプロパティ値の情報をそれぞれのフィールドに入力します。

    「このスキャンにはカスタム資格情報を使用する」オプションを選択します
  5. 必要に応じて Groovy スクリプトを変更します。
    お願い: Groovy スクリプトに機密情報が含まれていないことを確認してください。 
  6.  選択する Save.

注意: スキャンがスケジュールどおりに実行される場合、それ以上のアクションは必要ありません。 スケジュールに従ってスキャンが完了すると、リソースは変更されたプロパティで更新されます。 ただし、スキャンがスケジュールどおりに実行されない場合は、EnhancedScriptNetScan ポリシーを手動で実行できます。

コレクターの割り当て

拡張スクリプト Netscan から作成されたデバイスは、任意のコレクタに割り当てることができます。 コレクター割り当ての優先順位は次のとおりです。各ステップで存在と有効性の両方をチェックし、見つかった最初の一致を取得します。

優先順位チェック
私達の collectorId JSON 出力でデバイスに指定された値。
NetScan によって報告されたホスト グループの優先コレクター。 複数のグループ割り当ての場合は、グループがリストされている順序に従います。
三番デフォルトの NetScan グループの優先コレクター。
第4NetScan を実行するコレクター。

スクリプトの書式設定

強化されたスクリプト Netscan では、出力に JSON 形式が必要です。 デバイスは、次のキーのみを使用してオブジェクトのリストとしてフォーマットする必要があります。

キー名Groovy データ型必須 / オプション
hostnameString必須
displaynameString必須
hostPropsMap<String, String>オプション
groupNameList<String>オプション
collectorIdIntegerオプション

スクリプトのフォーマット例

次の例は、スクリプト出力の書式設定に関するガイダンスを示しています。

[

{
    "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 分野。 これらのプロパティはカスタムであり、[リソース] ページから編集できます。 次のプレフィックスのいずれかを含むプロパティを割り当てた場合、それらは無視され、デバイスはそれらなしで追加されます。

  • auto. 
  • predef. 
  • system.
    • system.categories Enhanced Script Netscan から設定できる唯一のシステム プロパティです。

拡張スクリプトのサンプル Netscan スクリプト

次のボイラープレート コードを使用して、独自のカスタム スクリプトを作成できます。 

注意: これには、高度な Groovy スクリプト機能が必要です。

/*******************************************************************************
 * © 2007-2022 - LogicMonitor, Inc. All rights reserved.
 ******************************************************************************/
 
import com.logicmonitor.common.sse.utils.GroovyScriptHelper as GSH
import com.logicmonitor.mod.Snippets
import com.santaba.agent.AgentVersion
import java.text.DecimalFormat
 
// 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")
 
// Retrieve the collector version
Integer collectorVersion = AgentVersion.AGENT_VERSION.toInteger()
 
// Bail out early if we don't have the correct minimum collector version to ensure netscan runs properly
if (collectorVersion < 32400) {
    def formattedVer = new DecimalFormat("00.000").format(collectorVersion / 1000)
    throw new Exception(" Upgrade collector running netscan to 32.400 or higher to run full featured enhanced script netscan. Currently running version ${formattedVer}.")
}
 
// 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()._getScript("Snippets", Snippets.getLoader()).withBinding(getBinding())
def lmEmit = modLoader.load("lm.emit", "0.0")
 
// Get your data and build your list of resources
List<Map> resources = []
 
/*
Insert your custom code to retrieve data about the devices 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)

14日間フルアクセス LogicMonitor プラットフォーム