はじめに
New Relicは、アプリケーションやインフラのモニタリングを実現にするオブザーバビリティプラットフォームです。特に、Network Performance Monitoring(NPM)のSNMP機能を使用すると、ネットワークデバイスの死活監視からトラフィック分析まで、詳細な監視が可能です。
このガイドでは、New Relic NPMでデバイスを手動で検出する基本コマンドと手順について紹介します。
最新のアップデートの詳細はこちら
New Relic アップデート一覧
New Relic株式会社のQiita Organizationでは、新機能を含む活用方法を公開していますので、ぜひフォローをお願いします。
今回紹介する New Relic NPM は、無料アカウントでも利用できます。是非永久無償ライセンスをこちらから試してみてください。
デバイス検出のための準備
デバイス(検出される側)の準備
デバイス検出を開始する前に、ネットワークデバイスがSNMPプロトコルに対応していて、かつSNMPが有効になっていることを確認します。更に、検出を行うサーバーからのSNMPリクエストを受け入れるように設定してください。
ktranslate(検出する側)の準備
New RelicのNPMを最大限に活用するため、ktranslateというツールの設定が必須です。このツールはSNMPを用いてネットワークデバイスの情報を収集し、New Relicに送信します。SNMP設定ファイル(snmp-base.yml)のdiscoveryセクションには、検出対象デバイスのIPアドレス範囲(CIDR)、SNMPのプロトコルバージョン、コミュニティ名などの情報を設定します。
例えば、デバイスを検出するIPアドレスの範囲が192.168.100.0~192.168.100.255(192.168.100.0/24)
でSNMP v2c
で認証情報にコミュニティ名 public
を使用する場合のdiscoveryの設定は下記になります。
discovery:
cidrs:
- 192.168.100.0/24
ignore_list: []
debug: false
ports:
- 161
default_communities:
- public
use_snmp_v1: false
default_v3: null
add_devices: true
add_mibs: true
threads: 4
check_all_ips: true
デバイス検出コマンド
以下のコマンドを使用して、ktranslateをDockerコンテナとして実行し、snmp-base.yamlに基づきデバイス検出を実施します。-snmp_discoveryオプションにより検出専用のプロセスが実行されます。
docker run --rm \
-v `pwd`/snmp-base.yaml:/snmp-base.yaml \
-e NEW_RELIC_API_KEY=$YOUR_NR_LICENSE_KEY \
kentik/ktranslate:v2 \
-snmp /snmp-base.yaml \
-snmp_discovery \
-nr_account_id=$YOUR_NR_ACCOUNT_ID \
nr1.snmp
検出されたデバイスの一覧は、snmp-base.yaml
に追記されます。実行結果は、snmp-base.yaml
を確認してください。
ktranslateはこのほかにもオプションを用意しています。コマンドのオプションはktranslateのGitHub上に公開されているので確認してみてください。
まとめ
New Relicを利用したデバイス検出は、ネットワーク監視の基本であり、監視体制の強化に不可欠です。この記事で紹介した手順に従って、SNMP機能を活用し、監視対象のデバイスを効率的に特定することができます。New Relicのオブザーバビリティプラットフォームを通じてネットワークの健全性を確保し、運用の課題に迅速に対応しましょう。
監視体制の構築と継続的な改善を心がけ、ビジネスの成長と持続可能性を支えるネットワーク管理を目指してください。
New Relic株式会社のQiita OrganizationOrganizationでは、
新機能を含む活用方法を公開していますので、ぜひフォローをお願いします。