2022年2月9日(水)に、本ブログ記事のシリーズ【ntopng and nProbeによる高速トラフィック分析入門】がもととなったebookを弊社サイトに公開しました。
本サイトで紹介する以上の内容が盛だくさんで、かつ本ブログ執筆当時ではntopngのバージョンが4系でしたが、こちらのebookは5系を対象に執筆しております。
是非、無料のebook「ntopによる高速トラフィック分析入門(ntopngバージョン5.0.2系)」をご入手ください。ダウンロードはこちらからお願いします。
第11章 ntopng、nProbe運用とメンテナンス
本章では、ネットワーク管理者自身がntop製品(ntopng,nProbe)を日々運用するのに必要なナレッジをご紹介します。
ntopng,nProbeの運用に必要な知識を身に着ければ、予期しない障害等でntopng,nProbeが起動しなくなったとしても障害原因を特定し、適切に復旧することができるようになります。
文:ジュピターテクノロジー よしひろ
11.1 システムステータスの確認
ntopngは、UNIXシステムではデーモンモードで実行し、オプションでシステムの起動時に自動的に実行することができます。
デーモンの実行とステータスは、/etc/init.d/ntopngスクリプトを使用して制御します。
スクリプトは、標準のntopngインストール手順の一部であるため、UNIXシステムに自動的にインストールされます。
systemdをサポートする新しいシステムは、systemctlを使用してデーモンの実行とステータスを制御します。
ntopngの起動状態を確認するには、以下のコマンドを実行します。
$ sudo systemctl status ntopng
● ntopng.service - ntopng high-speed web-based traffic monitoring and analysis tool
Loaded: loaded (/etc/systemd/system/ntopng.service; disabled; vendor preset: enabled)
Active: active (running) since Mon 2021-10-18 16:24:41 JST; 1min 43s ago
Process: 2319166 ExecStartPre=/bin/sh -c /usr/bin/ntopng-utils-manage-config -a check-restore && /usr/bin/ntopng-utils-manage-config -a restore || true (code=exited, status=0/SUCCESS)
Process: 2319190 ExecStartPre=/bin/sh -c /bin/cat /etc/ntopng/ntopng.conf > /run/ntopng.conf.raw (code=exited, status=0/SUCCESS)
Process: 2319192 ExecStartPre=/bin/sh -c /bin/cat /etc/ntopng/ntopng.conf.d/*.conf >> /run/ntopng.conf.raw 2>/dev/null || true (code=exited, status=0/SUCCESS)
Process: 2319194 ExecStartPre=/bin/sh -c /bin/sed "/^[ ]*-e.*$|^[ ]*-G.*|^[ ]*--daemon.*|[ ]*--pid.*/s/^/#/" /run/ntopng.conf.raw > /run/ntopng.conf (code=exited, status=0/SUCCESS)
Main PID: 2319196 (ntopng)
Tasks: 73 (limit: 18919)
Memory: 678.8M
CGroup: /system.slice/ntopng.service
mq2319196 /usr/bin/ntopng /run/ntopng.conf
赤字のActive:行が、active(running)になっていればntopngは起動しています。
同じ様にnprobeの起動状態を確認するには、以下のコマンドを実行します。
$ sudo systemctl status nprobe
● nprobe.service - nprobe extensible NetFlow v5/v9/IPFIX probe/collector for IPv4/v6
Loaded: loaded (/etc/systemd/system/nprobe.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2021-09-28 09:02:16 JST; 2 weeks 6 days ago
Main PID: 3828850 (nprobe)
Tasks: 8 (limit: 18919)
Memory: 442.4M
CGroup: /system.slice/nprobe.service
mq3828850 /usr/bin/nprobe /run/nprobe.conf
ntopngと同様、赤字のActive:行が、active(running)になっていればntopngは起動しています。
次にWeb GUIにログインできるかを確認し、nprobeからフロー情報がntopngに正しく転送されているかを確認するためにインターフェイスのプルダウンメニューを図11-1のように展開し、tcp://127.0.0.1:5556以下にエクスポーターの名前(SNMP登録している場合、エクスポーター(xFlowをnprobeに送信するネットワーク機器)のポート名を自動的に名前解決します)もしくはIPアドレスが表示されていることを確認してください。
tcp://127.0.0.1:5556以下に何も表示されない場合、nprobeの待ち受けポート(udp 2055もしくは6363等)とエクスポーターが送信しているポートの不一致等が考えられます。
tcpdumpコマンドで、各エクスポーターからxFlowを受信しているかを確認してトラブルシューティングをしてください。
$ sudo tcpdump port 6363 and udp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on enp1s0f0, link-type EN10MB (Ethernet), capture size 262144 bytes
16:47:06.834284 IP 192.168.91.4.61497 > ntopng.dom1.jtc-i.co.jp.6363: UDP, length 1416
16:47:12.834388 IP 192.168.91.4.61497 > ntopng.dom1.jtc-i.co.jp.6363: UDP, length 1416
16:47:12.917036 IP 192.168.91.8.4251 > ntopng.dom1.jtc-i.co.jp.6363: UDP, length 1308
16:47:13.306883 IP 192.168.91.8.4251 > ntopng.dom1.jtc-i.co.jp.6363: UDP, length 160
16:47:13.306883 IP 192.168.91.8.4251 > ntopng.dom1.jtc-i.co.jp.6363: UDP, length 60
11.2 ntopng設定ファイルのバックアップ
ntopng設定ファイルのバックアップは、Web GUIから実行します。
2021年10月18日現在、本手順はGoogle Chromeではうまく設定ファイルがエクスポートできないので、Firefoxを利用してください。
図11‑2のインターフェイスのプルダウンメニューから、システムをクリックしてください。
次に左メニューから、「設定」→「複数設定の管理」をクリックすると図11-3が表示されます。
「全ての ntopng 設定 (ユーザー、設定、以下の設定全て)」ラジオボタンがクリックされていることを確認し、画面下の「エクスポート」ボタンをクリックしてください。
図11-4のように”configuration.json”の画面に遷移しますので、「OK」ボタンを押せば設定ファイルのバックアップは完了です。
11.3 Bundleツールによる設定ファイルのバックアップ
nprobeの設定ファイルは、弊社が提供するBundleツールの実行によってバックアップすることができます。
以下のコマンドを実行してください。
$ cd /home/ntop/bundle-tools
$ sudo bash -x ntop-bundle-tool.sh
$ cd /home/ntop
$ ls
ntop-bundle-tools.tar.gz ←こちらのファイルにnprobe設定ファイルが含まれています
11.4 InfluxDBのバックアップ
時系列データベースにInfluxDB 1.xを設定している場合、時系列データはInfluxDBに保存されます。
本節では、InfluxDBのバックアップ方法をご紹介します。
#mkdir influxdb_backup
#influxd backup influxdb_backup ←メタデータのバックアップ
2020/07/29 16:18:37 backing up metastore to influxdb_backup/meta.00
2020/07/29 16:18:37 No database, retention policy or shard ID given. Full meta store backed up.
2020/07/29 16:18:37 backup complete:
2020/07/29 16:18:37 influxdb_backup/influxdb_backup/meta.00
# influxd backup -database ntopng influxdb_backup ←ntopngデータベースのバックアップ
・
・
2020/07/29 16:20:26 backup complete:
・
・
#ls influxdb_backup ←こちらのディレクトリを圧縮するなどして安全な場所に保管してください
11.5 RRDのバックアップ
/var/lib/ntopngは、ntopngが各種履歴データ を保管する重要なデータディレクトリです。
以下のコマンドにしたがって、USBディスクやNASにディレクトリごとバックアップしてください。
パケットキャプチャ(n2disk)を有効にしている場合、データ量が巨大となりますのパケットキャプチャに利用するディレクトリ(/var/lib/ntopng/X/pcap, /var/lib/ntopng/X/timeline ※Xは、インターフェイス番号)を除外するなどしてバックアップを実行してください。
$ sudo cp –rp /var/lib/ntopng /mnt/usb/. ←USBのマウントポイントによって名称は異なります
11.6 ntopng設定ファイルのリストア
「11.2 ntopng設定ファイルのバックアップ」で取得した”configuration.json”を使って、ntopngの設定をリストアすることができます。
リストアは、「図11-3 設定ファイルのエクスポート」の「インポート」ボタンを押して、”configuration.json”をインポートしてください。
11.7 nprobe設定ファイルのリストア
nprobeの設定ファイルは、Bundleツールの出力ファイル(ntop-bundle-tools.tar.gz)内にあります。
コピーコマンドを使って、nprobe.confをリストアします。
リストア後、nprobeを再起動してください。
解凍ディレクトリ | ファイル名 | リストア先 |
/home/ntop/bundle-tools | nprobe.conf | /etc/nprobe直下 |
nProbeの再起動方法は、以下の通りです。
$ sudo systemctl restart nprobe
11.8 ntopng履歴データのリストア
ntopng履歴データのバックアップで取得した/var/lib/ntopngをリストアします。
リストア前にntopngを停止してください。
ntopngの停止は、以下の通りです。
$ sudo systemctl stop ntopng
以下のコマンドにしたがって、取得したUSBディスクからにディレクトリごとリストアしてください。
$ sudo cp –rp /mnt/usb/ntopng /var/lib/
以下のコマンドに従って、ntopngを起動してください。
$ sudo systemctl restart ntopng
11.9 InfluxDBのリストア
時系列データドライバーの選択をInfluxDBに指定している場合、InfluxDBのバックアップで取得したバックアップファイルを使ってリストアします。
以下のコマンドを実行してしてください。
$ sudo systemctl stop ntopng ←ntopngを停止してください
$ sudo systemctl stop influxdb ←influxdbを停止してください
$ sudo influxd restore -metadir /var/lib/influxdb/meta ./influxdb_backup_20200729←metaデータのリストア
Using metastore snapshot: influxdb_backup_20200729/meta.01
$ sudo influxd restore -database ntopng -datadir
/var/lib/influxdb/data ./influxdb_backup_20200729 ←ntopngデータベースのリストア
2020/07/30 16:53:20 Restoring offline from backup influxdb_backup_20200729/ntopng.*
$ sudo chown -R influxdb:influxdb /var/lib/influxdb ←権限変更
$ sudo systemctl start influxdb ←influxdbの起動
$ sudo influx ←リストア確認
Connected to http://localhost:8086 version 1.8.1
InfluxDB shell version: 1.8.1
> show databases;
name: databases
name
----
_internal
ntopng ←ntopngデータベースのリストアに成功していることを確認
mydb
>quit
$ sudo systemctl start ntopng ←ntopngを起動します
如何でしょうか?システムステータスの確認からバックアップ、リストア方法をご紹介しました。
本章を理解して適切なバックアップを取得すれば、障害時に素早くネットワークトラフィック分析基盤を復旧させることができます。
次章はこちらをご覧ください。
お問い合わせ・製品情報
本記事で扱っているntop社のnProbe, ntopng製品にご興味のある方は、以下のリンクから弊社までお問い合わせください!