Darkstat-WebベースのLinuxネットワークトラフィックアナライザー


Darkstatは、クロスプラットフォーム、軽量、シンプル、リアルタイムのネットワーク統計ツールであり、ネットワークトラフィックをキャプチャし、使用状況に関する統計を計算し、HTTP経由でレポートを提供します。

  • An integrated web-server with deflate compression functionality.
  • Portable, single-threaded and efficient Web-based network traffic analyzer.
  • The Web interface shows traffic graphs, reports per host and ports for each host.
  • Supports asynchronous reverse DNS resolution using a child process.
  • Support for IPv6 protocol.
  • libpcap – a portable C/C++ library for network traffic capture.

サイズが小さいため、使用するシステムメモリリソースが非常に少なく、以下で説明するように、Linuxでのインストール、構成、および使用が簡単です。

LinuxにDarkstatNetwork TrafficAnalyzerをインストールする方法

1.幸い、darkstatは、RHEL/CentOSやDebian/Ubuntuなどの主流のLinuxディストリビューションのソフトウェアリポジトリで利用できます。

$ sudo apt-get install darkstat		# Debian/Ubuntu
$ sudo yum install darkstat		# RHEL/CentOS
$ sudo dnf install darkstat		# Fedora 22+

2. darkstatをインストールした後、メイン構成ファイル/etc/darkstat/init.cfgで構成する必要があります。

$ sudo vi /etc/darkstat/init.cfg

このチュートリアルでは、このツールの使用を開始するための必須および重要な構成オプションについてのみ説明することに注意してください。

ここで、START_DARKSTATの値を no から yes に変更し、darkstatがINTERFACEオプションでリッスンするインターフェースを設定します。

また、ディレクトリとログファイルをそれぞれ指定するための無効なDIR u003d”/var/lib/darkstat”およびDAYLOG u003d” – daylog darkstat.log”オプションもあります。

START_DARKSTAT=yes
INTERFACE="-i ppp0"
DIR="/var/lib/darkstat"
# File will be relative to $DIR:
DAYLOG="--daylog darkstat.log"

3.ここでdarkstatデーモンを起動し、次のようにシステムの起動時に起動できるようにします。

------------ On SystemD ------------ 
$ sudo systemctl start darkstat
$ sudo /lib/systemd/systemd-sysv-install enable darkstat
$ sudo systemctl status darkstat

------------ On SysV Init ------------
$ sudo /etc/init.d/darkstat start
$ sudo chkconfig darkstat on
$ sudo /etc/init.d/darkstat status

4.デフォルトでは、darkstatはポート667でリッスンするため、ファイアウォールでポートを開いてアクセスを許可します。

------------ On FirewallD ------------
$ sudo firewall-cmd --zone=public --permanent --add-port=667/tcp
$ sudo firewall-cmd --reload

------------ On IPtables ------------
$ sudo iptables -A INPUT -p udp -m state --state NEW --dport 667 -j ACCEPT
$ sudo iptables -A INPUT -p tcp -m state --state NEW --dport 667 -j ACCEPT
$ sudo service iptables save

------------ On UFW Firewall ------------
$ sudo ufw allow 667/tcp
$ sudo ufw reload

5.最後に、URL http:// Server-IP:667にアクセスして、darkstatWebインターフェースにアクセスします。

on ボタンと off ボタンをクリックすると、グラフを自動的に再読み込みできます。

LinuxのコマンドラインからDarkstatを管理する

ここでは、コマンドラインからdarkstatを操作する方法のいくつかの重要な例を説明します。

6. eth0インターフェースでネットワーク統計を収集するには、以下のように -i フラグを使用できます。

$ darkstat -i eth0

7.特定のポートでWebページを提供するには、次のような -p フラグを含めます。

$ darkstat -i eth0 -p 8080

8.特定のサービスのネットワーク統計を監視するには、 -f またはフィルターフラグを使用します。以下の例で指定されたフィルター式は、SSHサービスに関連するトラフィックをキャプチャします。

$ darkstat -i eth0 -f "port 22"

大事なことを言い忘れましたが、darkstatをクリーンな方法でシャットダウンしたい場合。 darkstatの親プロセスにSIGTERMまたはSIGINTシグナルを送信することをお勧めします。

まず、pidofコマンドを使用してdarkstat親プロセスID(PPID)を取得します。

$ pidof darkstat

次に、次のようにプロセスを強制終了します。

$ sudo kill -SIGTERM 4790
OR
$ sudo kill -15 4790

その他の使用オプションについては、darkstatのマンページをお読みください。

$ man darkstat

参照リンク:Darkstatホームページ

Linuxネットワーク監視に関する以下の関連記事もお読みください。

  1. 20 Command Line Tools to Monitor Linux Performance
  2. 13 Linux Performance Monitoring Tools
  3. Netdata – A Real-Time Linux Performance Monitoring Tools
  4. BCC – Dynamic Tools for Linux Performance and Network Monitoring

それでおしまい!この記事では、Linuxにdarkstatをインストールして使用し、ネットワークトラフィックをキャプチャし、使用量を計算し、HTTP経由でレポートを分析する方法について説明しました。

質問や共有する考えがありますか、以下のコメントフォームを使用してください。