Linux管理者-CentOSでのトラフィック監視

CentOSトラフィックモニタリングの拡張機能を追加できるサードパーティツールがいくつかあります。このチュートリアルでは、メインのCentOSディストリビューションリポジトリとFedoraEPELリポジトリにパッケージ化されているものに焦点を当てます。

管理者が(何らかの理由で)メインのCentOSリポジトリにツールしか残されていない状況は常にあります。説明されているほとんどのユーティリティは、物理アクセスのシェルを持つ管理者が使用するように設計されています。アクセス可能なWebGUIを使用してトラフィックを監視する場合は、ntop-ngやNagiosなどのサードパーティユーティリティを使用するのが最善の選択です(このような機能を最初から再作成するのではなく)。

構成可能な両方のWebGUIソリューションの詳細については、以下のリンクから調査を開始してください。

LAN / WANシナリオのトラフィック監視

Nagios

Nagiosは長い間存在していたため、試行錯誤されています。かつてはすべて無料でオープンソースでしたが、その後、エンタープライズの高度化の必要性をサポートする有料ライセンスモデルを備えたエンタープライズソリューションに進化しました。したがって、Nagiosでの展開を計画する前に、オープンソースライセンスバージョンがニーズを満たしていることを確認するか、エンタープライズ予算を念頭に置いて支出を計画してください。

ほとんどのオープンソースのNagiosトラフィック監視ソフトウェアは次の場所にあります。 https://www.nagios.org

Nagiousの要約された履歴については、Nagiosの公式履歴ページをご覧ください。 https://www.nagios.org/about/history/

ntopng

WebGUIを介した帯域幅とトラフィックの監視を可能にするもう1つの優れたツールは、ntopngと呼ばれますntopngはUnixユーティリティntopに似ており、LANまたはWAN全体のデータを収集できます。管理、構成、およびグラフ作成用のWeb GUIを提供すると、IT部門全体で簡単に使用できるようになります。

Nagiousと同様に、ntopngにはオープンソースバージョンと有料エンタープライズバージョンの両方があります。詳細についてはntopng、ウェブサイトをご覧ください。http://www.ntop.org/

FedoraEPELリポジトリのインストール─エンタープライズLinux用の追加パッケージ

トラフィック監視に必要なツールのいくつかにアクセスするには、EPELリポジトリを使用するようにCentOSシステムを構成する必要があります。

EPELリポジトリは、CentOSによって公式に維持またはサポートされていません。ただし、CentOS、Fedora Core、またはRed Hat LinuxEnterpriseのいずれにも含まれていないEnterpriseLinuxプロフェッショナルによって一般的に使用されるパッケージに対処するために、FedoraCoreボランティアのグループによって維持されています。

Caution

EPELリポジトリはCentOSの公式ではなく、一般的な依存関係を持つ本番サーバーの互換性と機能を損なう可能性があることに注意してください。このことを念頭に置いて、システムクリティカルボックスに展開する前に、本番環境と同じサービスを実行している非本番サーバーで常にテストすることをお勧めします。

実際、CentOSで他のサードパーティリポジトリよりもEHELリポジトリを使用する最大の利点は、バイナリが汚染されていないことを確認できることです。信頼できないソースからのリポジトリを使用しないことがベストプラクティスと見なされます。

とはいえ、公式のEPELリポジトリはCentOSと非常に一般的であるため、YUMを介して簡単にインストールできます。

[root@CentOS rdc]# yum -y install epel-release
 Loaded plugins: fastestmirror, langpacks
 Loading mirror speeds from cached hostfile
 * base: repo1.dal.innoscale.net
 * extras: repo1.dal.innoscale.net
 * updates: mirror.hmc.edu
Resolving Dependencies
   --> Running transaction check
   ---> Package epel-release.noarch 0:7-9 will be installed
   --> Finished Dependency Resolution
Dependencies Resolved
--{ condensed output }--

EPELリポジトリをインストールした後、更新する必要があります。

[root@CentOS rdc]# yum repolist 
Loaded plugins: fastestmirror, langpacks 
epel/x86_64/metalink
|  11 kB  00:00:00      
epel
| 4.3 kB  00:00:00      
(1/3): epel/x86_64/group_gz
| 170 kB  00:00:00      
(2/3): epel/x86_64/updateinfo
| 753 kB  00:00:01      
(3/3): epel/x86_64/primary_db
--{ condensed output }--

この時点で、EPELリポジトリが構成され、使用できるようになっているはずです。インターフェイス帯域幅監視用のnloadをインストールすることから始めましょう。

このチュートリアルで焦点を当てるツールは次のとおりです。

  • nload
  • ntop
  • ifstst
  • iftop
  • vnstat
  • ネットホッグ
  • Wireshark
  • TCPダンプ
  • Traceroute

これらはすべて、Linuxエンタープライズのトラフィックを監視するための標準です。それぞれの使用法は単純なものから高度なものまでさまざまであるため、WiresharkやTCPDumpなどのツールについて簡単に説明します。

nloadをインストールして使用する

CentOSにEPELリポジトリをインストールして構成すると、nloadをインストールして使用できるようになります。このユーティリティは、インターフェイスごとの帯域幅をリアルタイムでグラフ化するように設計されています。

他のほとんどの基本インストールと同様に、nloadはYUMパッケージマネージャーを介してインストールされます。

[root@CentOS rdc]# yum -y install nload
Resolving Dependencies
--> Running transaction check
---> Package nload.x86_64 0:0.7.4-4.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
=============================================================================== 
=============================================================================== 
 Package                             Arch
 Version                           Repository                          Size 
=============================================================================== 
=============================================================================== 
Installing: 
 nload                               x86_64
 0.7.4-4.el7                        epel                                70 k  
Transaction Summary
=============================================================================== 
=============================================================================== 
Install  1 Package
Total download size: 70 k
Installed size: 176 k
Downloading packages:
--{ condensed output }--

これでnloadがインストールされ、使用は非常に簡単です。

[root@CentOS rdc]# nload enp0s5

nloadは、指定されたインターフェイスを監視します。この場合、enp0s5は、ネットワークトラフィックの負荷と総帯域幅の使用量について、端末からリアルタイムでイーサネットインターフェイスを提供します。

ご覧のとおり、nloadは、ハッシュマーク「#」を使用してデータフローの物理的表現を提供するとともに、指定されたインターフェイスからの受信データと送信データの両方をグラフ化します。

描かれているスクリーンショットは、バックグラウンドデーモントラフィックがロードされている単純なWebページです。

nloadの一般的なコマンドラインスイッチは次のとおりです。

コマンド アクション
-a 期間
-t ミリ秒単位の時間更新間隔。デフォルトは500です。
-u トラフィック測定の表示を設定しますh
-U -uと同じオプションで合計イン/アウトトラフィック測定単位を設定します

nloadの標準構文は次のとおりです。

nload [options] <interface>

インターフェイスが指定されていない場合、nloadは最初のイーサネットインターフェイスを自動的に取得します。総データの入出力をメガバイトで、現在のデータ転送速度をメガビットで測定してみましょう。

[root@CentOS rdc]# nload -U M -u m

現在のインターフェースに出入りするデータはメガビット/秒で測定され、出入りするデータの合計を表す各「Ttl」行はメガバイトで表示されます。

nloadは、管理者がインターフェイスを通過したデータの量と、指定したインターフェイスに現在出入りしているデータの量を確認するのに役立ちます。

nloadを閉じずに他のインターフェイスを表示するには、左/右矢印キーを使用するだけです。これにより、システムで使用可能なすべてのインターフェースが循環します。

-mスイッチ-を使用して、複数のインターフェイスを同時に監視することができます。

[root@CentOS rdc]# nload -u K -U M -m lo -m enp0s5

2つのインターフェースを同時に負荷監視(loおよびenp0s5)−