ページの先頭です

ページ内を移動するためのリンク
本文へ (c)

ここから本文です。

Datadogとは? 見て分かる導入 ネットワーク機器編

ライター:猪子 亮
2019年ネットワンシステムズに新卒入社。

社内/外 向けサービス開発に従事。
主にWeb アプリケーションのフロントエンド、バックエンド開発。

他には社内の自動化推進、業務改善活動、開発エンジニア育成などに取り組んでいる。

目次

はじめに

本記事は、まだDatadogを使用したことがない方を対象に、NW 機器の監視について、概要と導入方法を理解することを目的としています。

Datadog には多くの便利な機能が実装されており、一度に全てを理解するのは容易ではありません。

そこで、一般的なオンプレミス環境におけるNW 機器の監視を例に、実際の操作画面のキャプチャを使い解説します。

オンプレ サーバー編 を先に見て頂くと、よりスムーズに理解できます。

なお、本記事は執筆時(2022年8月)の情報をもとにしており、記事内で使用しているDatadog Agentのバージョンは以下の通りです。

Agent 7.37.1 - Commit: 3c29612 - Serialization version: v5.0.22 - Go version: go1.17.11

Datadog におけるNW 機器の監視

ネットワークデバイスモニタリング

Datadog でNW 機器のモニタリングを行うには、ネットワークデバイスモニタリング 及び、SNMPインテグレーションを使います。

ネットワークデバイスモニタリング (以下 NDM)は、ルーターやスイッチ、ファイヤーウォール等のNW 機器を可視化するためのDatadog の機能です。

NDM では、SNMP インテグレーションを構成することで、監視を開始できます。

SNMPインテグレーションのセットアップについては後述しますが、SNMP インテグレーションを有効化することで、Datadog Agent をSNMP マネージャーとして動作させられます。

SNMP インテグレーション

SNMP インテグレーションはDatadog 組み込みインテグレーション の一つであり、Datadog Agent に含まれています
そのため、Datadog Agent が導入済みであれば、追加のパッケージインストールなどは不要です。

Datadog Agent の導入については、以前の記事で紹介しています。

SNMP インテグレーションでは、NW機器を登録する方法として、スタティックとオートディスカバリーの2つがあります。

スタティックは対象とするNW機器を手動で登録していく必要があり、特定のIPアドレスを設定に追記します
(例: 10.20.30.4/32)

一方、オートディスカバリーでは、NWアドレスを指定します
(例: 10.20.30.0/24)

あるNW配下のNW機器に対し、一律でSNMP 監視を行いたい場合、オートディスカバリーを使うことで、運用コストを抑えられます
オートディスカバリーを使用すると、Datadog Agent は指定されたNW 配下の各IP に対し、SNMP ポーリングを行い、NW 機器のレスポンスを確認します。

Datadog Agent がSNMP ポーリングを行うと、MIBの中からsysObjectID を検索し、対応するDatadog のデバイスプロファイルと対応させます。
これにより、ベンダーにより定義されたMIB の監視項目についても、Datadog で解釈することが可能となっています。

Datadog デバイスプロファイルはCisco やF5 、Juniper など様々なものが用意されており、こちらから確認できます。

Datadog によるNW 機器への死活監視

SNMP インテグレーションを有効にすることで、Datadog によるSNMP 監視を行うことができます
しかし、それだけではNW機器が正常に稼働しているかの監視には不十分な場合も考えられます。

Datadog では、Synthetic (外形監視) の機能も提供しており、そこにはICMP テストが含まれます
外形監視はテスト対象にリクエストを送信し、応答内容や応答そのものを確認することで監視を行う方法です。

ICMP テストはping が用いられるため、NW機器に対しても外形監視を行えます
※SNMP インテグレーション単体でも、SNMP のポーリングができなくなった時点で通知するといったことは可能です。

外形監視を行うにはリクエストの送信元が必要です
Synthetic ではリクエストの送信元として、以下の2つを選択できます。

管理ロケーションはDatadog が提供しているロケーションで、グローバルに展開されています
そのため、外部公開されている対象に外形監視を行う場合であれば、特に送信元を用意することなく外形監視を行えます。

管理ロケーションはパブリッククラウド上に展開されているため、日本はもちろん、アメリカやヨーロッパなどからの外形監視も行えます
※ 以下画像はイメージであり、実際の場所を示していません。

一方、プライベートロケーションはプライベートNW内に自前で用意(Docker コンテナ) するロケーションです
プライベートロケーションを使うと、インターネットから接続できない機器に対しても外形監視を行えます。

プライベートロケーションはDatadog Agent とは別のものになっているため、専用に用意する必要があります。

実際にオンプレミスのNW機器の監視を行う

オンプレミスのNM機器に対し、以下3つのシナリオを行う場合の設定手順と実際の画面をご紹介します。

  • スタティックでNW機器1台の監視を開始し、取得されたメトリックを確認する
  • オートディスカバリーによりNW機器の監視を開始し、リンクダウンを検出したらチャットで通知を行う
  • プライベートNW内のNW機器に対し、ping による死活監視を行う

スタティックでNW機器1台の監視を開始し、取得されたメトリックを確認する

Datadog Agent の設定

SNMP インテグレーションの設定ファイルは /etc/datadog-agent/conf.d/snmp.d/conf.yaml です。

Datadog Agent のインストール時のデフォルトでは、conf.yaml.example となっており、SNMPインテグレーションが有効化されていない状態です。

拡張子を変更した後、設定内容を追記し、Datadog Agent を再起動することで、SNMP インテグレーションが有効化されます。

SNMP インテグレーションが有効化されているか否かは、datadog-agent status コマンドを用いることで確認できます。

取得されたメトリックをDatadog 上で確認

続いて、Datadog のサイトへ行き、NDM を確認します。

Infrastructure > Network Devices のリストに、上記で追加したNW 機器が見えていれば、監視設定が行えています。

機器を選択することで、ダッシュボードを確認できます。

オートディスカバリーによりNW機器の監視を開始し、リンクダウンを検出したらチャットで通知を行う

オートディスカバリーの設定

オートディスカバリーの設定は、スタティック同様に/etc/datadog-agent/conf.d/snmp.d/conf.yaml で設定します。

スタティックではip_address で1つのIP アドレスを指定しました。

オートディスカバリーを設定する場合は、network_address でCIDR 表記のNWアドレス を指定します。

設定を変更したら、Datadog Agent を再起動し、datadog-agent status コマンドでステータスを確認します。

SNMP Trap の受信設定

続いて、SNMP Trap を受信できるよう、Datadog Agent の設定を変更します。

SNMP Trap の設定は/etc/datadog-agent/datadog.yaml に追記します。

Datadog Agent v7.37 以上で、SNMP Trap の機能を有効化できます。

設定を変更したら、同様にDatadog Agent を再起動します。

詳細は割愛しますが、監視対象とするNW機器には、SNMP Trap をDatadog Agent に送信するよう設定します。

その後、実際にSNMP Trap を発生させると、datadog-agent status コマンドによりSNMP Trap の受信ステータスを確認できます。

SNMP Trap の内容をDatadog 上で確認

続いて、Datadog のLogs から、SNMP Trap がログとして記録されていることを確認します。

SNMP Trap のログはsource タグにsnmp-traps が付与されているので、それでフィルタするとログを確認できます。

通知されたSNMP Trap がデバイスプロファイルによってマッピングされているため、見やすい状態で確認できます。

リンクダウンのSNMP Trap を受信したら、通知を行う

リンクダウンを検出してチャットで通知を行うには、Log Monitor を使うと実現できます。

本来、Log Monitor の機能は特定の値が閾値を超えた場合に通知を行う、というような使い方をしますが、SNMP Trap の通知にも使うことが可能です。

プライベートNW内のNW機器に対し、ping による死活監視を行う

先に述べたように、ping による死活監視を行うには、Synthetic のICMP テストを使います。

詳細は割愛しますが、対象となるIPアドレス、実行頻度、アラートの発報条件などを指定することで簡単に設定できます。

上記例では、プライベートロケーションの1つから、5分毎にping による疎通確認を行います。

また、失敗した場合、3秒毎に3回だけ早期リトライを実施し、6分間の間に一度も応答がなかった場合はアラートを発報します。

設定が完了すると、Datadog の画面上でテスト結果を確認できます
※ 今回の例では存在しないIP を設定することで、テストの失敗を模しています。

アラート発報と同時にチャットでの通知も可能です。

まとめ

本記事ではDatadog Network Device Monitoring 及び、Synthetic について、実際の画面を使いながら紹介しました。
Datadog Agent に含まれているSNMP インテグレーションを使うことで、容易に監視を行うことができました。

Datadog では非常に多くの機能が提供されており、今も増え続けています。
サーバー編 や本記事で紹介した内容はDatadog の機能のうち極一部です。

サーバーやNW 機器などの物理機器に限らず、アプリケーションやクラウドなども監視できます。
監視を検討する際、Datadog も候補の1つとして検討してみてはいかがでしょうか。

商標について

記載されているロゴ、システム名、製品名は各社及び商標権者の登録商標あるいは商標です。

※本記事の内容は執筆者個人の見解であり、所属する組織の見解を代表するものではありません。

RECOMMEND