Cisco Meraki モニタリング

Cisco Merakiモニター用のLogicMonitorのスイート:

  • ハイブリッドAPI / SNMPデータ収集アプローチを使用したネットワークごとのレベルのMerakiデバイス
  • 組織ごとのAPI使用量とデバイス数

セットアップ要件

  • LogicMonitor_Collector_Snippetsデータソースをインポートして、コレクターがこの監視スイートのコードをサポートしていることを確認するか、EACollector32.100以降に更新します。

API構成

MerakiDashboardAPIへのアクセスを有効にする必要があります。

  1. Meraki環境で、次の場所に移動します 組織 > 設定 > ダッシュボードAPIアクセス
  2. 現在地に最も近い CiscoMerakiダッシュボードAPIへのアクセスを有効にする チェックボックスをオンにします。
  3. に移動します 私のプロフィール ページを作成し、APIキーを生成します。 APIキーは、LogicMonitor内のプロパティに割り当てられます。 APIキーが生成されたら、必ず安全な場所にコピーしてください。

見る CiscoのMerakiダッシュボードAPIドキュメント APIアクセスを有効にしてAPIキーを生成する手順については。

SNMP構成

SNMP v2cまたはv3は、Meraki CloudControllerで有効にする必要があります。 見る CiscoのSNMPの概要と構成のドキュメント 手順を参照してください。

Merakiデバイスグループを作成する

[リソース]ページから、Merakiデバイスグループを作成し、それに次のプロパティを割り当てます。

プロパティ製品説明
meraki.api.keyMeraki APIキー(前のセクションで説明したように、キーを生成し、APIを有効にする必要があります)
snmp.port16100
snmp.versionLogicMonitorはデバイス自体ではなく、クラウドコントローラーにクエリを実行するため、SNMPを利用する他の監視操作の場合のように、SNMPバージョンをこのプロパティに自動的に割り当てることはできません。 対応するSNMPバージョン(「v2c」または「v3」のいずれか)をこのプロパティに手動で割り当てるようにしてください。
snmp.community(v2cのみ)
snmp.security(v3のみ)
これらの値はMerakiによって生成され、「o /」で始まります。
その他のSNMPクレデンシャル
残りのSNMPクレデンシャルを確立するために必要なプロパティは、使用されているSNMPバージョンによって異なります。 詳細については、を参照してください。 認証資格情報の定義.

デバイスグループの作成の詳細については、を参照してください。 デバイスグループの追加.

モニタリングへのリソースの追加

CiscoMerakiホストをモニタリングに追加します。 NetScanを使用して、関連するすべてのデバイスを監視に自動的に追加する(およびいくつかの必要なデバイスプロパティを自動割り当てる)か、デバイスを手動で監視に追加することができます。

NetScanを介したリソースの追加

高度なNetScanを介して、すべてのMerakiネットワーク、組織、およびメインのapi.meraki.comデバイスを自動的に追加できます。 高度なNetScanを作成して実行する手順については、を参照してください。 NetScanの作成.

NetScanに対して次の構成が設定されていることを確認してください。

  • 次のGroovyスクリプトを埋め込みます(このスクリプトを埋め込む必要があるテキストボックスにアクセスするには、[デバイスを検出するためのスクリプトまたはcsvをアップロードする]を選択します。 方法 フィールドのドロップダウンメニューを選択し、 Groovyスクリプトを埋め込む 動的に表示されるスクリプトオプションのオプション)。

    注意: 必ず代用してください INSERT API TOKEN HERE このスクリプトの上部にあるプレースホルダーテキストと実際のAPIトークン。

/*******************************************************************************
 *  © 2007-2022 - LogicMonitor, Inc. All rights reserved.
 ******************************************************************************/
import com.santaba.agent.util.GroovyScriptShell
import com.logicmonitor.mod.Snippets

modLoader = GroovyScriptShell.getInstance().getScript("Snippets", Snippets.getLoader()).withBinding(getBinding())
meraki = modLoader.load("cisco.meraki", "0")

// Set this variable to meraki API token.
def token = "INSERT API TOKEN HERE"

// Optionally, create a list of organizations (e.g. [1243,2343,3564,4355])
// Setting this variable will only discover networks on those orgs.
def orgsAllowed = null

debug = false

orgs = meraki.cachedHttpGet(token, "/organizations")

orgs.each { org ->
    def orgId = org.id

    // Filter in only allowed orgs if it's defined.
    if (orgsAllowed != null) {
        if (!orgsAllowed.contains(orgId)) {
            return
        }
    }

    def orgName = org.name
    def networks = []
    def devices = []

    try {
        networks = meraki.cachedHttpGet(token, "/organizations/${orgId}/networks")
        devices = meraki.cachedHttpGet(token, "/organizations/${orgId}/devices")
    } catch (Exception error) {
            if (debug) println error.message
            return
    }

    networks.each { network ->
        def networkId = network.id

        // Check if this network has any devices and avoid reporting deviceless networks.
        def networkDevices  = devices.findAll{it.networkId == networkId}
        if (networkDevices.size() == 0) {
            return
        }

        def networkName = network.name
        def networkTags = network.tags.join(",")
        def hostName = "${orgName.replaceAll('\\W', '')}.${networkName.replaceAll('\\W', '')}.invalid"
        def displayName = "Meraki Network: ${networkName}"
        println "${hostName}##${displayName}##meraki.org.name=${orgName}##meraki.org.id=${orgId}##meraki.api.key=${token}##meraki.network.id=${networkId}##meraki.network.name=${networkName}##meraki.network.tags=${networkTags}"
    }

    // Only add orgs if they have networks.
    if (networks.size() > 0) {
        println "${orgName.replaceAll('\\W', '')}.invalid##Meraki Org: ${orgName}##meraki.org.name=${orgName}##meraki.org.id=${orgId}##meraki.api.key=${token}"
    }
}

apiDevice = ["api.meraki.com", "api.meraki.com", "meraki.api.key=${token}"].join("##")
println apiDevice

return 0
Groovy
  • メディア デフォルトグループ フィールド(スクリプトテキストボックスの後に表示されます)で、以前に作成したCiscoMerakiデバイスグループを指定します。
  • 注意: NetScanを実行する前に、SNMPクレデンシャルとMerakiキーがこのグループのプロパティとして設定されていることを確認してください。 詳細については、を参照してください。 Merakiデバイスグループを作成する

    監視にデバイスを手動で追加する

    Merakiデバイスを手動で監視に追加できます。 追加できるMerakiデバイスには次のXNUMXつのタイプがあります。

    • ネットワークデバイス
    • 組織デバイス
    • MerakiAPIデバイス

    これらのデバイスを追加するときは、前に作成したデバイスグループにそれらを割り当てます。 監視にリソースを手動で追加する手順については、を参照してください。 デバイスの追加.

    ネットワークデバイス

    ネットワークデバイスは、特定のネットワークのデバイスごとおよびインターフェイスごとのデータを報告します。

    • ネットワークデバイスのホスト名( IPアドレス/ DNS名 フィールド)は「.invalid」で終わる必要があります。
    • ネットワーク固有のプロパティは、で説明されているように、デバイスに割り当てる必要があります リソースへのプロパティの割り当て このサポート記事のセクション。
    組織デバイス

    組織デバイスは、特定の組織のネットワークごとのデバイス数とAPI使用統計を報告します。

    • 組織デバイスのホスト名( IPアドレス/ DNS名 フィールド)は「.invalid」で終わる必要があります。
    • で説明されているように、組織固有のプロパティをデバイスに割り当てる必要があります リソースへのプロパティの割り当て このサポート記事のセクション。
    MerakiAPIデバイス

    Meraki APIデバイスは、アカウント上のすべての組織のネットワークごとのデバイス数とAPI使用統計を報告します。

    • Meraki APIデバイスのホスト名( IPアドレス/ DNS名 フィールド)は「api.meraki.com」である必要があります。

    リソースへのプロパティの割り当て

    SNMPに加えて meraki.api.key プロパティ(で説明されているように、グループレベルで割り当てることをお勧めします Merakiデバイスグループを作成する このサポート記事のセクション)、次のプロパティもLogicMonitor内のMerakiデバイスで設定する必要があります。

    注意: NetScanを介して監視にリソースを追加した場合、これらのプロパティはすでに割り当てられています。 監視にリソースを手動で追加した場合は、これらのプロパティを手動で設定する必要があります。 プロパティを手動で設定する手順については、を参照してください。 リソースとインスタンスのプロパティ.

    プロパティ製品説明
    meraki.org.idこのプロパティは、組織のデバイスにのみ設定してください。 組織とそれぞれのIDのリストについては、次のWebサイトをご覧ください。 https://developer.cisco.com/meraki/api/#!get-organizations.*
    meraki.network.idこのプロパティは、ネットワークデバイスでのみ設定してください。 ネットワークとそれぞれのIDのリストについては、次のWebサイトをご覧ください。 https://developer.cisco.com/meraki/api/#!get-organization-networks。 ネットワークを表示する組織の組織IDを必ず入力してください。*

    *必ず設定してください X-Cisco-Meraki-API-Key https://developer.cisco.com/meraki/apiからAPIリクエストを実行する場合は、APIキーのヘッダー。

    複数の組織

    一部のMeraki構成には、SNMPクレデンシャルが異なる複数の組織を含めることができます。 このような場合、組織に属するリソースは、組織ごとに動的グループを作成し、そこに特定のプロパティを割り当てることでグループ化できます。

    LogicModulesのインポート

    LogicMonitorパブリックリポジトリから、にリストされているすべてのCisco MerakiLogicModuleをインポートします。 パッケージ内のLogicModules このサポート記事のセクション。 これらのLogicModuleがすでに存在する場合は、最新バージョンであることを確認してください。

    LogicModuleがインポートされると(以前のセットアップ要件がすべて満たされていると仮定して)、Merakiデータソースのスイートが自動的にデータの収集を開始します。

    パッケージ内のLogicModules

    Cisco Meraki用のLogicMonitorのパッケージは、次のLogicModuleで構成されています。 完全にカバーするには、これらのLogicModuleがすべてLogicMonitorプラットフォームにインポートされていることを確認してください。

    お名前種類製品説明
    addCategory_Meraki_APIプロパティソースホストがMerakiAPIアクセス用に構成されているかどうかを識別し、組織またはネットワークデバイスのどちらであるかに基づいて、さまざまなシステム自動プロパティと適切なシステムカテゴリを追加します。
    addERI_Meraki_OrgプロパティソースMeraki組織のERIを追加します。
    addERI_メラキプロパティソースMerakiホストのERIを追加します。 
    addERI_Meraki_DeviceプロパティソースMerakiデバイス用のERIを追加します。
    CiscoMerakiトラブルシューターデータソースCiscoMerakiデバイスの構成を検証します。
    CiscoMerakiアップリンクアプライアンスのステータスデータソース組織内のすべてのMerakiMXおよびZシリーズアプライアンスのアップリンクステータスを一覧表示します。
    CiscoMerakiアップリンクの損失と遅延データソース組織内のすべてのMerakiMXのアップリンク損失と遅延を返します。
    アクセスポイントデータソースMerakiアクセスポイントのクライアント接続と動作ステータスを監視します。
    アクセスポイントインターフェイスデータソースネットワークごとのレベルで、Merakiアクセスポイントインターフェイスのデータスループットとパケット送信を監視します。
    ゲートウェイデータソースMeraki TeleworkerGatewayクライアントの接続と動作ステータスを監視します。
    ゲートウェイインターフェイスデータソースネットワークごとのレベルで、Meraki TeleworkerGatewayインターフェイスのデータスループットとパケット送信を監視します。
    MerakiAPIの使用法データソース組織ごとにMerakiAPIの使用状況をカウントします。
    Merakiデバイス数データソース組織別のMerakiデバイスの数。
    Merakiデバイス数データソースネットワークごとのレベルでの組織ごとのMerakiデバイスの数と合計数。
    MerakiライセンスステータスデータソースMerakiの特定の組織のライセンスステータスを報告します。
    セキュリティ機器データソースMeraki SecurityApplianceクライアントの接続と動作ステータスを監視します。
    セキュリティアプライアンスのインターフェイスデータソースネットワークごとのレベルで、Meraki SecurityApplianceインターフェイスのデータスループットとパケット送信を監視します。
    スイッチデータソースMerakiSwitchクライアントの接続と動作ステータスを監視します。
    Meraki_Org_TopologyトポロジーソースMerakiOrgトポロジをマップします。
    Meraki_Cloud_TopologyトポロジーソースMerakiCloudトポロジをマップします。

    このパッケージのデータソースによって追跡されるさまざまなメトリックに静的データポイントのしきい値を設定する場合、LogicMonitorはテクノロジ所有者のベストプラクティスのKPI推奨事項に従います。 必要に応じて、これらの事前定義されたしきい値を調整して、環境固有のニーズを満たすことをお勧めします。 データポイントのしきい値の調整の詳細については、を参照してください。 データポイントの静的しきい値の調整.

    レガシーデータソースからの移行

    6月2022で、LogicMonitorは、Meraki API v1を使用し、Merakiデバイスを識別するためのトポロジサポートを拡張するようにCiscoMerakiスイートを更新しました。 このアップデートの一環として、Cisco_Meraki_Switch_InterfacesDataSourceは非推奨になりました。 Cisco_Meraki_Switches DataSourceを使用して、スイッチの接続ステータスとクライアント数を引き続き監視できます。 詳細については、を参照してください。 非推奨のLogicModules.

    6月2020で、LogicMonitorは、監視範囲を拡大し、将来のスケーラビリティとサポートのために効率を向上させるために、CiscoMerakiデータソースの新しいスイートをリリースしました。 これらの新しいデータソースのリリースは、次のレガシーMerakiデータソースを非推奨にするのに役立ちます。

    • Meraki_CloudController_DeviceInventory
    • Meraki_MR_Interfaces
    • Meraki_MR_Stats
    • Meraki_MS_Stats
    • Meraki_MX_Interfaces
    • Meraki_MX_Stats
    • Meraki_Z_Interfaces
    • Meraki_Z_Stats

    これらのレガシーデータソースのいずれかを使用して現在Merakiデバイスを監視している場合、新しいデータソースをインポートしてもデータが失われることはありません。 これは、モジュールの上書きを排除するためにデータソース名が変更されたためです。

    ただし、データソースの両方のセットがアクティブである限り、重複データを収集し、重複アラートを受信します。 このため、新しいデータソースのセットをインポートし、環境で意図したとおりに機能していることを確認した後、上記のデータソースを無効にすることをお勧めします。

    データソースを無効にすると、ホストへのクエリとアラートの生成が停止しますが、すべての履歴データは保持されます。 ある時点で、レガシーデータソースを完全に削除したい場合がありますが、削除するとすべての履歴データが失われるため、この移動を慎重に検討してください。 データソースの無効化の詳細については、を参照してください。 データソースまたはインスタンスの監視を無効にする.

    記事上で