1. 概要

Checkmk は、ネットワークインフラストラクチャを監視するための多くの基本機能を提供し、帯域幅、パケットレート、エラーレートなどの関連メトリックを提供します。 また、ネットワークインターフェイスの状態や速度、閾値も監視することができます。
ここまでは問題ありません。 しかし、次のような質問についてはどうでしょうか?ホストと通信しているのは誰ですか? ホストのどのポートが使用されていますか? 最も通信量の多い、いわゆる「トップトーカー」は誰ですか? ネットワークではどのアプリケーションが使用されていますか? ネットワークのパフォーマンスは良好ですか?ボトルネックはありますか? 分散型サービス妨害(DDoS)攻撃などの脅威はありますか?
このような質問に対する答えを得るには、ネットワークの徹底的な分析が必要ですが、Checkmk だけではそれは不可能です。 ここでは、ネットワークフロー、つまりネットワーク内で同時に発生する多くの通信関係を分析する必要があります。 ネットワークフローは、送信元と送信先(それぞれ IP アドレスとポートによって決定されます)および使用されるプロトコルによって定義されます。
Checkmk に詳細なネットワーク監視機能を追加して、車輪の再発明をする代わりに、より洗練された解決策があります。それは、ntopng をCheckmk に統合することです。 ntopng 統合は、Checkmk の商業版で購入できるアドオンです。
ntopng は、ネットワークトラフィックと過去のデータをリアルタイムで監視および分析するための、パワフルでリソース効率に優れたソフトウェアです。 ntopng は、ntop社のオープンソースネットワークトラフィック監視ソリューションのコアです。 ntop ソリューションでは、通常、特別なソフトウェアモジュール (nProbe) によってデバイスからデータが収集され、分析のために ntopng に転送されます。
ntopng は、Checkmk と複数の点で関連しています。どちらもオープンソースの世界から生まれ、そのルーツがあります。 ntopng は、無料の「コミュニティ」バージョンと、いくつかの拡張機能を備えた「プロフェッショナル」および「エンタープライズ」の商用バージョンがあります。 ユーザーインターフェースは web ベースで、情報をビューやダッシュボードで提供します。 複数のユーザーを作成でき、各ユーザーに役割を割り当てることができます。 閾値に基づく通知もサポートされています。 最後に、Checkmk の REST API を使用して ntopng からデータを取得することができます。
関連する製品の相互作用は、以下の図に示されています:

このように、ntopng の統合により、Checkmk の機能範囲が 2 つの重要な点、すなわちネットワークデータフローの監視とネットワークトラフィックの詳細な分析に拡大されます。
この文脈での統合は、具体的に次のように定義されます:
Checkmk と ntopng は、別々のサーバーに独立したシステムとしてインストールおよび設定されます。 Checkmk と ntopng は、同じサーバー上で実行しないことをお勧めします。
Checkmk サーバーから ntopng サーバーへの接続が確立されます。 ここで、Checkmk は REST API 経由で ntopng と通信します。 接続パラメータを使用して、ntopng から取得するデータを決定します。 割り当ては、両方のシステムで使用可能なユーザーアカウントを介して行われます。
ntopng からの情報は、Checkmk ユーザーインターフェースに表示されます。 これは、Checkmk ユーザー向けに ntopng 情報を準備する新しいダッシュボードで実現されています。 また、ntopng データを既存の Checkmkビューおよびダッシュボードに統合することもできます。
This is a machine translation based on the English version of the article. It might or might not have already been subject to text preparation. If you find errors, please file a GitHub issue that states the paragraph that has to be improved. |
2. ntopng への接続
Checkmk で ntopng の統合を使用するには、Checkmk の商業版と ntopng 統合用アドオン、および Professional または Enterprise バージョン 5.6 以上の ntopng と、Checkmk と ntopng が通信するための REST API v2 が必要です。
まず、Checkmk に接続する ntopng ターゲットシステムに関する以下の情報を収集してください。 この情報は、Checkmk に ntopng 接続パラメータとして入力する必要があります。
| パラメーター | 説明 |
|---|---|
ホスト名 |
ntopng サーバーの名前または IP アドレス (Host Address)。 |
ポート番号 |
ntopng にアクセス可能な TCP ポート番号(Port number )。
ポートは ntopng を起動する際に指定されます。
デフォルトは |
プロトコル |
|
認証用のユーザーアカウント |
ntopng ユーザーグループ「Administrator」のユーザーアカウントの名前とパスワード (ntopng Admin User)。
Checkmk は、これらの認証情報を使用して、REST API 経由で ntopng サーバーを認証します。
ちなみに、ntopng のデフォルトのユーザーアカウントは |
Checkmk で、Setup > General > Global settings > Ntopng (chargeable add-on) > Ntopng Connection Parameters (chargeable add-on) メニューで ntopng 接続パラメータの入力を開始します。

この時点で、必要なパラメータ値のほとんどは入手できているはずですので、上記の表から取得してください。 接続パラメータのうち、ntopng username to aquire data for だけについて詳しく確認する必要があります。 これは、Checkmk でどの ntopng データを誰が閲覧できるかを決定するものです。 Checkmk が ntopng に対して認証を行うユーザーアカウントと、Checkmk が ntopng からデータを取得するためのユーザーアカウントは、別々に定義されています。 次の 2 つのセクションでは、これらの選択と、その結果生じるデータ取得の違いについて説明します。
ntopng への接続に関するエントリは、保存時に有効性チェックは行われません。 ntopng 情報が表示されるまで、無効な値に関するエラーメッセージは表示されません。 最初の ntopng 接続パラメータEnable this ntopng instance を使用すると、ntopng サーバーが一時的に利用できない場合など、ntopng への接続を無効にすることができます。 |
2.1. 同じ名前の Checkmk ユーザーと ntopng ユーザーの固定割り当て
最も簡単な解決策は、Checkmk ユーザーに、ntopng で表示される情報と同じユーザー名でアクセス権を付与することです。
これを行うには、パラメータ「ntopng username to aquire data for 」に「Use the Checkmk username as ntopng user name 」の値を選択します。 Checkmk は、現在の Checkmk ユーザー名を使用して、その名前で ntopng からデータを取得します。
この割り当てによってデータ取得が機能するには、Checkmk と ntopng の両方に、同じ名前のユーザーアカウントが少なくとも 1 つ存在する必要があります。 どのように考えても、Checkmk、ntopng、あるいは両方のシステムでユーザー名を変更する必要があるでしょう。 Checkmk でユーザー名を作成または変更する方法については、ユーザー管理に関する記事で説明しています。
変更をアクティブにすると、すべての Checkmk ユーザーに、ntopng のユーザーインターフェースの変更 ntopng 情報の表示の章で説明したように、たとえば、Monitor メニューの拡張など、ntopng に関する情報が表示されます。 ただし、ntopng データは、ntopng に対応するユーザーアカウントを持つ Checkmk ユーザーにのみ表示されます。 他の Checkmk ユーザーは ntopng 専用のページを開くことはできますが、空白のページが表示されるか、ログインデータが無効であるというエラーメッセージが表示されます。
これは最も簡単なオプションですが、柔軟性に欠けます。
2.2. Checkmk ユーザーを ntopng ユーザーに柔軟に割り当てる
Checkmk と ntopng は、ユーザー管理の概念が似ています。どちらのシステムも複数のユーザーを登録でき、各ユーザーには役割が割り当てられます。 Checkmk では、これらの役割は「管理者」、「通常の監視ユーザー」、「ゲストユーザー」などと呼ばれていますが、ntopng では「管理者」と「非特権ユーザー」という役割があります。 割り当てられた役割は、ユーザーがアクセスできる情報を決定するなどの機能に使用されます。
上記の厳格な 1 対 1 の割り当ての代わりに、Checkmk ユーザーごとに、ntopng データを付与するかどうか、付与する場合、どの ntopng ユーザーからデータを受け取るかを決定することができます。
両方のシステムでユーザーに異なる役割が割り当てられているため、Checkmk で表示できる ntopng のコンテンツを非常に正確に制御することができます。 たとえば、ネットワークトラフィックに関心のない Checkmk の「ゲストユーザー」には ntopng ユーザーを割り当てないことで、このユーザーには ntopng 専用の Checkmk インターフェイス拡張機能が非表示になります。 たとえば、ntopng の「非特権ユーザー」を Checkmk の「通常の監視ユーザー」およびネットワーク研修生に割り当て、ntopng の「管理者」を Checkmk の「管理者」およびネットワーク専門家に割り当てます。
柔軟な割り当ての手順は次のとおりです:
Ntopng Connection Parameters (chargeable add-on) で、ntopng username to aquire data for の値をUse the ntopng username as configured in the User settings に設定します。
Identityntopng 接続設定を保存すると、各ユーザーの設定(Setup > Users > Users )に新しいフィールドが表示されます。たとえば、ユーザー「cmkadmin 」の場合、以下のように表示されます。

ntopng Username フィールドに、現在のCheckmkユーザーに表示するntopngのユーザー名を入力します。 このフィールドを空のままにすると(デフォルトの設定)、CheckmkユーザーにはCheckmkインターフェースのntopng固有の拡張機能が非表示になります。 最後に、変更をアクティブにしてください。
3. ntopng 情報の表示
「ntopng への接続」の章で説明した要件が満たされると、Checkmk で ntopng データにアクセスできるようになります。 これを行うには、ntopng ユーザーアカウントに割り当てられたユーザーアカウントで Checkmk にログインします。
以下は、Checkmk ユーザーインターフェースで ntopng 情報にアクセスできる場所と方法の概要です。
3.1. モニターメニューのネットワーク統計

最も顕著な変更点は、Monitor メニューです。このメニューには、ntopng データを含む複数のダッシュボードのエントリを含む新しいトピック「Network statistics 」が追加されています。このトピックについては、後のセクションで説明します。
まず、Checkmk で ntopng ホストについて取得できる情報について説明します。
3.2. ntopng ホストのビュー
Checkmk と ntopng は、ユーザーだけでなくホストも個別に管理します。 ただし、Checkmk のホストが ntopng にも設定されている場合は、そのホストに関する ntopng 独自の情報を表示することができます。
各ホストビューでは、Ntopng Host フィルターを使用して、Checkmkとntopngの両方に 存在するホストを表示することができます。 ホストビュー(例:All hosts )で、アクションバーのFilter をクリックしてフィルターバーを開きます。 フィルターバーで、まずAdd filter をクリックして使用可能なフィルターを表示し、次にをクリックしてすべてのフィルターを表示します。 リストからNtopng Host フィルターを選択し、yes に設定して、Apply filters で有効にします。
ビューには、Checkmkとntopng の両方に存在するホストのみが表示されます。

上記の例では、2 つのホストが共通です。 1 つの ntopng ホストには、アクションメニューに「Ntop integration of this host 」エントリが表示されます。
3.3. ホストのネットワーク統計
ntopng ホストについては、アクションメニュー項目「Ntop integration of this host 」をクリックすると、ホスト固有の「Network statistics and flows 」ページが表示されます。

最初の行には、ntopng で設定されているすべてのホストの概要と、現在のアラートの数 (Alerts およびFlow Alerts) が表示されます。
選択したホストのネットワークデータは、このページの次のタブでさまざまな観点から表示されます。
Host: ホストの基本情報と、他のタブの最も重要な情報の概要。
Traffic: レイヤー 4 プロトコル (TCP および UDP) に関する情報を、円グラフで概要、表で詳細表示します。
Packets: TCP 接続におけるフラグの分布。 フラグは、接続の特定の状態を示したり、追加情報を提供したりします。 最もよく使用されるフラグは、SYN (同期)、ACK (承認)、FIN (終了)、および RST (リセット) です。
Ports: クライアントおよびサーバーのポートごとにグループ化されたトラフィック統計
Peers: 最も頻繁に連絡のあるピア(パートナー) および最も頻繁に使用されるアプリケーションの概要を、グラフと表で表示します。 グラフィックエレメントは、クリックしてフィルタリングすることができます。
Apps: アプリケーションごとに分割され、カテゴリ別に要約されたトラフィック量。 レイヤー7アプリケーションは、ディープパケットインスペクションによって決定されます。 アプリケーションテーブルでは、アプリケーション名がリンクされており、詳細情報が記載されたntopngページにアクセスできます。
Flows: 選択したホストを起点または終点とするデータフローのテーブル。 詳細については、「フローダッシュボード」セクションをご覧ください。
Engaged alerts、Past alerts 、Flow alerts :アクティブなアラート、過去のアラート、およびフローアラートの表。 詳細については、「アラートダッシュボード」セクションを参照してください。
各タブでは、View data in ntopng リンクを使用して、関連する ntopng ページにアクセスできます。このページから、ntopngホストの詳細に移動します。
ヒント: Services of Host およびStatus of Host ビューから、ページを開くタブを選択して、Network statistics and flows ページにアクセスすることもできます。 ntopng ホストに対して呼び出された場合、どちらのビューも、メニューバーにntopng メニューが表示され、各タブのエントリが含まれます。
3.4. ホストのステータス
Network statistics and flows ページで、アクションバーのStatus of host をクリックして、Status of Host ビューを開きます。
このビューでは、ホスト固有のさまざまな情報がテーブルに表示され、ntopng固有のエントリで拡張することができます。 これにより、Network statistics and flows ページのいくつかのタブで既に見慣れた情報が表示されます。ただし、スペースの都合上、この情報の一部のみが表示されます。
ntopng 独自のエントリを使用するには、このビューをカスタマイズする必要があります。 メニューで、[Display > Clone built-in view] を選択します。 [Clone view ] ページでは、[Columns ] ボックスでテーブルの内容の列を定義できます。
Add column を使用して、以下の ntopng 独自のエントリを追加できます:
Hosts: Ntop hosts details: [Host ] タブに最も重要な情報を表示します。
Hosts: Ntop protocol breakdown: [Traffic ] タブにログテーブルを表示します。
Hosts: Ntop ports: [Ports ] タブのクライアントおよびサーバーの円グラフを表示します。
Hosts: Ntop top peers: 「Peers 」タブのアプリケーションの円グラフを表示します。
3.5. アラートダッシュボード
Alerts ダッシュボードには、ntopng のすべてのアラートの概要が表示されます。
Monitor > Network statistics > Alerts を選択します:

次のタブを使用して、アラートテーブルを切り替えることができます。
Engaged Host: アクティブなホストアラートのテーブル。 ntopng は、閾値を超えたことを報告するアラートを生成します。
Past Host: アクティブでなくなった古いアラートのテーブル。
Past Flows: フローアラートのテーブル。ntopng が異常または不審なフローをレポートする特別なカテゴリです。 フローアラートは常にイベントにリンクされています。 これらは独自のカテゴリに収集され、アクティブなアラートまたは過去のアラートのテーブルには表示されません。
各ページには最大 20 件のエントリが表示されます。 テーブルの右上にあるナビゲーションボタンを使用して、他のページに切り替えることができます。
すべてのタブには、テーブルの上に日付と時刻で分類された 2 つの棒グラフがあり、これを使用してテーブルをフィルタリングすることができます。 マウスでドラッグして、図で時間間隔を選択します。 この方法で定義したフィルタは、アラートテーブルに即座に適用されます。 フィルタをオフにするには、図のマークの外側をクリックします。
このダッシュボードは、[Network statistics and flows ] ページの 3 つのアラート固有のタブと構造が似ています (ホストの [Network statistics] セクションを参照してください)。 |
3.6. フローダッシュボード
Flows ダッシュボードには、ntopng のフローの概要が表示されます。 フローとは、IP アドレスとポートによって決定される、起点と終点間のレイヤー 4 プロトコルによる接続です。 フローは、データ転送が完了した後にのみ表示できます。 このため、フローの表示は、たとえそれが数秒前であっても、常に過去のものとなります。
Monitor > Network statistics > Flows を選択してください:

このテーブルは、ntopng インターフェースの「Flows」テーブルと本質的に同じです。
このダッシュボードは、Network statistics and flows ページの [Flows ] タブと構造が似ています (ホストのネットワーク統計のセクションを参照してください)。 |
3.7. トップトーカーダッシュボード
Top Talkers ダッシュボードには、ntopng で最もネットワークトラフィックを発生させているホストがリアルタイムで表示されます。
Monitor > Network statistics > Top Talkers を選択します:

ダッシュボードの左側には、現在の「トップトーカー」が、交換しているデータトラフィックの量でソートされてリストされています。 上部のセクションにはローカルネットワーク内のホスト、下部のセクションにはリモートネットワーク内の宛先が表示されます。 各ホストはクリック可能で、クリックすると、そのホストの詳細が記載された ntopng ページが開きます。
図では、過去 1 時間 (上) および過去 24 時間 (下) の、アプリケーション (左) および監視対象インターフェース (右) におけるデータトラフィックの概要も確認できます。 各図に表示されている凡例はクリック可能で、データのフィルタリングに使用できます。
このダッシュボードは、ntopng インターフェースのトラフィックダッシュボードと構造が似ています。 |
3.8. ダッシュレット
前のセクションで紹介したAlerts 、Flows 、Top Talkers ダッシュボードは、それぞれ 1 つのダッシュレットのみで構成されています。
ダッシュボードを編集する場合、これらの ntopng ダッシュレットを使用して、既存のダッシュボードをカスタマイズしたり、新しいダッシュボードを作成したりすることができます。 ダッシュボードの設定は、Visualization > Dashboardsの Customize メニューから開始できます。 ダッシュボードを編集する場合、ntpng ダッシュレットは、Ntop セクションのAdd メニューに、他のダッシュレットとともに表示されます。
