すべてのネットワーク管理者が望んでいること管理対象のパフォーマンスが最適であることを確認してください。ユーザーを満足させるのは簡単なことです。結局のところ、彼らはパフォーマンスのわずかな低下にさえ最初に気付く傾向があります。そのため、認識していて修正に取り組んでいるパフォーマンスに関する苦情に対応できるようにするには、パフォーマンスツールが必要です。 あなたがLinuxショップで働いているなら、この投稿はあなたのためです。最高のLinuxネットワークパフォーマンスツールのいくつかをレビューしようとしています.
まず、ネットワークについて簡単に説明しますパフォーマンス監視。私たちの目標は、あなたを主題の専門家にすることではなく、利用可能なさまざまなツールを探求するときに、すべてが同じページにいることを保証することです。その後、問題の核心に飛び込み、ネットワークのパフォーマンスの監視、管理、トラブルシューティングに使用できる10種類のLinuxツールを紹介します。
ネットワークパフォーマンスの監視とテストについて
ネットワークパフォーマンスの監視とテストでは、誰もがそれが何を意味するのか自分の考えを持っているように見えるということです。たとえば、ネットワーク帯域幅監視ツールがパフォーマンス監視と呼ばれることがよくあります。トラフィック分析ツールまたはパケットスニファーについても同じことが言えます。これにより、次の疑問が生じます。ネットワークパフォーマンスの監視とテストとは何ですか?
この投稿の目的のために、そのままにしましょう議論はさておき、ネットワークパフォーマンス監視ツールは、ネットワークパフォーマンスの測定、評価、トラブルシューティング、または改善に使用できる単なるツールであることを受け入れます。このような包括的な定義を使用することで、最適なツールを提供し、特定の状況や問題に役立つツールを選択することができます。
Linuxに最適なネットワークパフォーマンスツール
そのため、いくつかのリストを作成しました。ネットワークパフォーマンスに関連するさまざまなメトリックをテストまたは監視するために使用できる、最も使用されているLinuxツール。ほとんどのLinuxディストリビューションで使用できます。それぞれがパフォーマンスの問題の実際の原因を監視して見つけるのに役立ちます。以下のすべての提案の中で、特定のニーズに適合することはほぼ確実です。
1. Tcpdump
Tcpdumpは元のパケットスニファーです。 これは、すべてのネットワークトラフィックの内容を標準出力にダンプするために使用されるツールです。リダイレクションとパイプの魔法により、その出力はもちろん、任意のファイルまたは別のプロセスに向けることができます。最初のリリース以来、ツールはいくつかの改善とバグ修正を経ましたが、基本的には変更されていません。それは事実上すべてで利用可能です Linuxディストリビューション そして それ パケットをキャプチャするクイックツールのデファクトスタンダードになりました。 Tcpdumpは、実際のパケットキャプチャにlibpcapライブラリを使用します。
tcpdumpなどのツールの欠点の1つは膨大な量のデータを収集できること。そのため、探しているものを正確に見つけることは不可能です。幸いなことに、ツールの長所と有用性の鍵の1つは、キャプチャするトラフィックを正確に指定できるフィルターを適用できることです。コマンドの出力をgrep(別の一般的なコマンドラインユーティリティ)にパイプして、さらにフィルタリングすることもできます。 tcpdump、grep、およびコマンドシェルを習得しているユーザーは、デバッグタスクに適切なトラフィックを正確にキャプチャできます。
tcpdumpの使用例を次に示します。
# tcpdump -i eth0 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes 22:08:59.617628 IP tecmint.com.ssh > 115.113.134.3.static-mumbai.vsnl.net.in.28472: P 2532133365:2532133481(116) ack 3561562349 win 9648 22:09:07.653466 IP tecmint.com.ssh > 115.113.134.3.static-mumbai.vsnl.net.in.28472: P 116:232(116) ack 1 win 9648 22:08:59.617916 IP 115.113.134.3.static-mumbai.vsnl.net.in.28472 > tecmint.com.ssh: . ack 116 win 64347
そのような出力が少し不可解である可能性があることは確かに同意するでしょう。これは、真のネットワークプロトコルアナライザーが役立つ場所です。
2. Wireshark
Wiresharkはステロイドのtcpdumpと考えることができますしかし、実際にはそれだけではありません。パケットスニファーのリファレンスは、事実上の標準になり、他のほとんどのツールはそれをエミュレートしようとします。ただし、これはtcpdumpよりも優れています。トラフィックをキャプチャするだけではありません。パケットキャプチャツールであると同時に、ネットワークトラフィックアナライザーでもあります。多くの管理者が他のツール(tcpdumpなど)を使用してファイルへのトラフィックをキャプチャし、分析のためにWiresharkにロードするよりも強力です。実際、Wiresharkを使用する一般的な方法であるため、起動時に、既存のキャプチャファイルを開くか、トラフィックのキャプチャを開始するように求められます。 Wiresharkのもう1つの強みは、組み込まれているすべてのフィルターであり、関心のあるデータに正確に焦点を合わせることができます。
Wiresharkの学習曲線は急ですが、学ぶ価値があります。貴重な時間を何度も繰り返します。一度学習すれば、ほぼすべてのオペレーティングシステムに移植されているため、どこでも使用できます。それをさらに良くするために、それはオープンソースで無料で利用できます。
3. Netstat
TCP / IPのトラブルシューティングに関する問題の1つ接続性の問題は、通常どのシステムでも実行されている膨大な数の接続とサービスに起因しています。 Netstatを使用して、各接続のステータスと各プロセスを処理しているプロセスを特定し、検索を絞り込むことができます。すべてのLinuxディストリビューションで利用可能なNetstatは、クライアントサービスとTCP / IP通信に関する詳細をすばやく提供できます。最も基本的な形式では、このコマンドは、ローカルコンピューター上のすべてのアクティブな接続を表示します(両方とも着信と発信)。
Netstatは、リスニングポートを表示することもできます実行されるコンピューター。実際、コマンドは多くのオプションを受け入れます。ただし、使用可能なオプションはプラットフォーム間で異なり、一部のオプションはプラットフォームごとに動作が異なります。たとえば、Windowsの-bオプションは、各接続(接続にサービスを提供するプロセス)に関連付けられた実行可能ファイルの名前を表示しますが、Mac OS XまたはBSDでは、-iと組み合わせて使用し、統計をバイト単位で表示しますビットより。 Netstatで特定のバージョンの利用可能なすべてのパラメーターについて知る最良の方法は、-?で実行することです。ツールのヘルプ画面を表示するオプション。 Linuxでは、Netstatのマニュアルページを表示して、基本的に同じ情報を取得することもできます。
典型的なnetstatコマンドとその出力は次のようになります。
# netstat -a | more Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 *:mysql *:* LISTEN tcp 0 0 *:sunrpc *:* LISTEN tcp 0 0 *:realm-rusd *:* LISTEN tcp 0 0 *:ftp *:* LISTEN tcp 0 0 localhost.localdomain:ipp *:* LISTEN tcp 0 0 localhost.localdomain:smtp *:* LISTEN tcp 0 0 localhost.localdomain:smtp localhost.localdomain:42709 TIME_WAIT tcp 0 0 localhost.localdomain:smtp localhost.localdomain:42710 TIME_WAIT tcp 0 0 *:http *:* LISTEN tcp 0 0 *:ssh *:* LISTEN tcp 0 0 *:https *:* LISTEN
4. IPTraf
IPTrafはコンソールベースのネットワーク統計ですLinux用ユーティリティ。このツールを使用して、TCP接続のパケット数とバイト数、インターフェイスの統計とアクティビティインジケーター、TCPまたはUDPトラフィックの内訳、LANステーションのパケット数とバイト数などのさまざまな情報を収集できます。 TCPフラグ情報、パケットとバイトカウント、ICMPの詳細、OSPFパケットタイプなど、ネットワーク上のIPトラフィックに関する情報を表示するIPトラフィックモニターを備えています。 2005年までさかのぼる最新バージョンでは、それはやや時代遅れのツールですが、使用方法を学習したい場合には多くの有用な情報を提供できます。
IPTrafのその他の機能には、一般およびIP、TCP、UDP、ICMP、非IPおよびその他のIPパケットカウント、IPチェックサムエラー、インターフェイスアクティビティ、パケットサイズカウントを示す詳細なインターフェイス統計。また、一般的なTCPおよびUDPアプリケーションポートの着信および発信パケットの数を表示するTCPおよびUDPサービスモニターも備えています。さらに、組み込みのLAN統計モジュールがアクティブなホストを検出し、データアクティビティを示す統計を表示します。最後に、このツールにはTCP、UDP、およびその他のプロトコル表示フィルターもあり、関心のあるトラフィックのみを表示できます。
フルスクリーンのメニュー駆動型のツール操作は、ほとんどのタイプのネットワークインターフェースを処理し、Linuxカーネルの組み込みのrawソケットインターフェースを使用します。これにより、サポートされているさまざまなネットワークカードで使用できます。
5. ナギオス
Nagiosは、以前のツールとは異なりますパフォーマンステストまたは評価ツールではなく、本格的なネットワーク監視ソリューションであること。無料でオープンソースのNagios Coreと有料のNagios XIの2つの異なるバージョンで利用できます。両方とも同じ基礎となるエンジンを共有しますが、類似性はそこで終わります。 Nagios Coreは、Linux上で実行されるオープンソースの監視システムです。システムは、実際の監視エンジンを中核として完全にモジュール化されています。このエンジンは、システムに機能を追加するためにダウンロードできる多数の利用可能なプラグインによって補完されます。各プラグインはいくつかの機能をコアに追加します。
このモジュラーアプローチを維持し、ツールのユーザーインターフェースもモジュール式であり、コミュニティで開発されたいくつかの異なるオプションもダウンロードできます。 Nagiosコア、プラグイン、ユーザーインターフェイスが組み合わされて、完全な監視システムが作成されます。これは、もちろん、Nagios Coreのセットアップは気弱な人向けではないことを意味します。
Nagios XIに関しては、市販の製品です同じコアエンジンに基づいています。ただし、完全な自己完結型の監視ソリューションです。さまざまな部品から組み立てる必要はありません。この製品は、中小企業から大企業まで幅広いユーザーを対象としています。ご想像のとおり、構成ウィザードと自動検出エンジンのおかげで、Nagios Coreよりもインストールと構成がはるかに簡単です。 Nagios XIの主な欠点は、100ノードライセンスで約2000ドルから始まる価格です。
関連する読書: SolarWinds NPM対Nagios
6. 観測所
Observiumはもう1つの包括的な監視ですプラットフォーム。特に、Cisco、Windows、Linux、HP、Juniper、Dell、FreeBSD、Brocade、Netscaler、NetAppなど、幅広いデバイスタイプ、プラットフォーム、およびオペレーティングシステムをサポートしています。サポートされていないネットワーク接続デバイスを見つけることができるとは思わない。このツールの主な焦点は、ネットワークの状態と状態を視覚的に表現する、美しく直感的でシンプルかつ強力なユーザーインターフェイスを提供することです。
多くはObserviumを帯域幅と考えていますが監視ツール、それははるかに提供しています。たとえば、95パーセンタイルまたは合計転送バイトで毎月の合計帯域幅使用量を測定するアカウンティングシステムを備えています。また、ユーザー定義のしきい値を持つアラート機能も備えています。さらに、Observiumは他のシステムと統合し、その情報を引き出してそのインターフェイス内に表示できます。
Observiumをセットアップすることです自動検出プロセスを介して自身を構成します。 ObserviumのWebサイトにはダウンロードセクションはありませんが、いくつかのLinuxディストリビューションの詳細なインストール手順には、各ディストリビューションに適切なパッケージを入手するためのリンクが含まれています。手順は非常に詳細であるため、ソフトウェアの検索とインストールは簡単です。
この製品には2つのバージョンがあります。 誰でも無料で利用できるObserviumコミュニティがあります。このバージョンは、年に2回更新と新機能を受け取ります。追加機能を備え、毎日更新されるObservium Professionalもあります。
7. イシンガ
Icingaはさらに別のオープンソースネットワークです監視プラットフォーム。このツールには、シンプルでクリーンなユーザーインターフェイスと、一部の商用製品に匹敵する機能セットが用意されています。ほとんどの帯域幅監視システムと同様に、Icingaは主にSNMPを使用してデバイスから使用状況データを収集します。ただし、ツールが際立っている分野の1つは、プラグインの使用です。さまざまなパフォーマンス監視タスクを実行し、製品の機能を拡張するためのコミュニティ開発プラグインが多数あります。ニーズに合った適切なプラグインが見つからない場合は、自分で作成してコミュニティに投稿できます。
アラートと通知はIcingaの2つです最高の機能。アラートは、トリガーの原因と送信方法に関して完全に構成可能です。このツールは、セグメント化されたアラートも備えています。この機能を使用すると、一部のユーザーにアラートを送信し、別のユーザーに他のアラートを送信できます。これは、異なるグループによって管理される異なるシステムがある場合に優れた機能です。たとえば、サーバーに関連するすべてのアラートをサーバー管理チームに送信し、ネットワークに関連するすべてのアラートをネットワークサポートチームに送信することができます。
8. ザビックス
Zabbixは別の無料のオープンソースネットワークですパフォーマンス監視ツール。商用製品に期待されるように、非常にプロフェッショナルなルックアンドフィールを備えています。ただし、そのユーザーインターフェイスの見栄えが唯一の資産ではありません。この製品には、印象的な機能セットも備わっています。プラットフォームは、ネットワーク機器に加えて、ほとんどのネットワーク接続デバイスを監視できます。インフラストラクチャ全体のパフォーマンスを監視するのに最適なオプションです。
ZabbixはSNMPとIntelligentを使用しますデバイスを監視するためのプラットフォーム監視インターフェース(IMPI)。ソフトウェアを使用して、帯域幅、デバイスのCPUとメモリの使用率、一般的なデバイスの正常性とパフォーマンス、および構成の変更を監視できます。この製品は、印象的で完全にカスタマイズ可能なアラートシステムも備えています。電子メールまたはSMSアラートを送信するだけでなく、たとえば、いくつかの問題を自動的に修正するために使用できるローカルスクリプトを実行することもできます。
9. サボテン
Linuxネットワークパフォーマンスツールに関する投稿無料でオープンソースの完全なネットワークパフォーマンス監視ツールであるCactiについて言及しなければ、完全ではありません。約15年ほど前から存在し、最も洗練されたツールではないかもしれませんが、まだ1か月前の最新バージョンで積極的に開発されており、非常に効率的に仕事をこなします。その主なコンポーネントは、高速ポーラー、高度なグラフテンプレート、および複数のデータ取得方法です。 Cactiは、製品に直接組み込まれたユーザーアクセス制御を備えており、この製品は、アンティークに見えるWebベースのユーザーインターフェースにもかかわらず、使いやすいことを誇りにしています。このツールは、最小の単一デバイスのインストールから、さまざまなWANサイトを備えた複雑なネットワークまで、非常に優れた拡張性を備えています。
サボテンは、その中心にあるのはフロントエンドですRRDtoolsは、SNMPを使用して、SQLデータベースに格納されているデータを取得します。 PHPで記述されており、必要に応じて変更できます。製品の最も強力な機能の1つは、テンプレートの使用です。たとえば、このようなデバイスで監視する可能性のある要素のほとんどがすでに含まれているCiscoルーター用の組み込みテンプレートがあります。しかし、デバイステンプレートだけでなく、グラフテンプレートもあります。テンプレートを一緒に使用すると、ソフトウェアの構成がはるかに簡単になります。適切なテンプレートがまだ利用できない場合は、独自のカスタマイズされたテンプレートを作成することもできます。また、デバイスベンダーのウェブサイトから多くのデバイス固有のテンプレートをダウンロードでき、いくつかのコミュニティ主導のCactiフォーラムがダウンロード用に提供しています。
10. ムニン
Muninは、RRDtoolsのもう1つのGUIフロントエンドです。Perlで書かれており、GPLの下でライセンスされています。ネットワーク、システム、アプリケーション、およびサービスのパフォーマンスを監視するために使用するのに適したツールです。 Unixライクなすべてのオペレーティングシステムで動作し、ネットワーク上で必要なほぼすべてのものを監視するために利用できる約500種類のプラグインを備えた優れたプラグインシステムを備えています。
Muninは収集したすべての情報を提示しますWebインターフェース上のグラフですが、その主な長所は、パフォーマンスの低下を引き起こすために何が変更されたかを特定するために比較分析に依存する方法です。エラーが発生した場合、またはエラーが解決された場合、管理者にメッセージを送信する通知システムが利用可能です。
コメント