次の情報は、表 2で説明されている可観測性ツールを使用する方法を示しています。
次の図は、Oracle Solaris ネットワークプロトコルスタックのさまざまなレイヤーで構成されているネットワーク機能のうちのいくつかから成る一般的な仮定のネットワーク構成を示しています。例としてのみ提供されているこの図のあとには、実際に Oracle Solaris ツールを使用して、関連するさまざまなコンポーネントに関する統計を監視および収集する方法を示す一連のコマンド例が示されています。
図 1 Oracle Solaris ネットワークプロトコルスタック内のネットワーク構成
この図は、ネットワークプロトコルスタックのさまざまなレイヤーでいくつかの Oracle Solaris 機能を組み合わせる方法を示す次の構成を表しています。
ネットワークスタックの物理レイヤーには、3 つの物理 NIC nxgbe0、ixgbe0、および ixgbe1 がシステム内に存在し、それぞれ物理データリンクインスタンス net2、net1、および net0 として表示されます。
次に、これらの物理 NIC が aggr0 と呼ばれるリンクアグリゲーションにグループ化されます。
このリンクアグリゲーションデータリンクが次に、IP アドレス (aggr0/v4) で直接構成されると同時に、エラスティック仮想スイッチとして構成されている、tenant/hr と呼ばれる仮想スイッチのアップリンクとしても使用されます。この仮想スイッチには、vport0 と vport1 の 2 つの仮想ポートがあります。
Oracle Solaris ゾーン (zone-A) には、これらの仮想ポートの 1 つに接続されている、zone-A/net0 と呼ばれる VNIC が存在します。そのゾーン自体の中では、この VNIC は、IP アドレス (net0/v4) で構成されているデータリンク (net0) として表示されます。
HTTP トラフィックのフローもアグリゲーション (aggr0) 上に作成されます。
次の例では、Oracle Solaris で提供されているツールを使用して、これらのコンポーネントに関する構成情報を取得したり、さまざまなネットワーク機能のネットワークトラフィック使用状況を監視したりする方法についてさらに詳細に説明しています。
データリンクは、dladm コマンドを使用して構成および管理します。データリンクのネットワークトラフィック使用状況に関する統計を取得するには、dlstat コマンドを使用します。たとえば、リンクごとのインバウンドおよびアウトバウンドトラフィック統計は、次のコマンドのいずれかを使用して表示します。
# dlstat link
# dlstat show-link link
物理ネットワークデバイスごとのインバウンドおよびアウトバウンドトラフィックの統計情報は次のように表示します。
# dlstat show-phys link
ポートごと、およびリンクアグリゲーションごとのインバウンドおよびアウトバウンドトラフィック統計は次のように表示します。
# dlstat show-aggr link
詳細は、dlstat(1M) のマニュアルページを参照してください。
フローは、flowadm コマンドを使用して構成および管理します。フローのネットワークトラフィック使用状況に関する統計を取得するには、flowstat コマンドを使用します。図 1に示すように、指定した属性に応じて、フローを使用して、ネットワークスタックのさまざまなレイヤーでのネットワークトラフィックの使用状況を監視できます。
# flowstat
詳細は、flowstat(1M) のマニュアルページを参照してください。
次の例は、ネットワーク構成情報を表示したり、機能ごと、および Oracle Solaris ネットワークプロトコルスタックのレイヤーごとのネットワークトラフィック統計を監視したりする方法を示しています。ネットワークトラフィック使用状況のモニタリングの詳細は、Oracle Solaris 11.3 での仮想ネットワークとネットワークリソースの管理 の 第 8 章, ネットワークトラフィックとリソース使用状況のモニタリングを参照してください。
ネットワークプロトコルスタックのハードウェアレイヤーでのネットワーク構成やパフォーマンスの問題のトラブルシューティングには、次の監視が必要になることがあります。
発生しているパケット破棄の数。
物理 NIC ごと
物理リングごと
役立つ可能性のある NIC 固有のカウンタ。
物理 NIC ごとに構成されているリングの数と記述子の数。
物理デバイスの場合は、dladm show-phys および dlstat show-phys コマンドを使用するとネットワークトラフィック使用状況を監視できます。これらの 2 つのコマンドは、取得する情報のタイプによって異なる出力を表示します。
たとえば、システム上のすべての物理リンクの物理デバイスと属性を表示するには、dladm show-phys コマンドをオプションなしで使用します。
# dladm show-phys LINK MEDIA STATE SPEED DUPLEX DEVICE net1 Ethernet unknown 0 unknown bge0 net0 Ethernet up 1000 full nge0
詳細および例については、Oracle Solaris 11.3 でのネットワークコンポーネントの構成と管理 の 第 2 章, Oracle Solaris でのデータリンク構成の管理および dladm(1M) のマニュアルページを参照してください。
dlstat show-phys コマンドは、物理デバイスごとの送受信されたパケット数とバイト数に関する統計を表示します。このサブコマンドは、ネットワークスタックのデバイスレイヤーにあるハードウェアリングに対して動作します。
次の例では、システム上のすべての物理リンクに関する統計を表示します。この出力は、システム上の各リンクに関する受信トラフィックと送信トラフィックの両方の統計を表示します。また、パケットの数とパケットごとのバイトサイズも表示されます。
# dlstat show-phys LINK IPKTS RBYTES OPKTS OBYTES net1 0 0 0 0 net0 1.95M 137.83M 37.95K 3.39M
–r オプションを使用すると、データリンクデバイスの各ハードウェアリングに関する受信側の統計を表示できます。このコマンドの出力には、そのデータリンクデバイスで受信されたバイト数とパケット数や、ハードウェアとソフトウェアでの破棄数などが含まれます。この例は、net4 に、次の出力の INDEX フィールドで識別される 8 つのリングが存在することを示しています。
# dlstat show-phys -r net4 LINK TYPE INDEX IPKTS RBYTES net4 rx 0 701 42.06K net4 rx 1 0 0 net4 rx 2 0 0 net4 rx 3 0 0 net4 rx 4 0 0 net4 rx 5 0 0 net4 rx 6 0 0 net4 rx 7 0 0
転送されたトラフィックに関する同様の情報を取得するには、–t オプションを使用します。
次の例では、物理リンクごとの破棄されたインバウンドパケットの数を表示します。
dlstat show-phys -o idrops IDROPS 0 871.14K
–o field[,...] オプションは、表示する出力フィールドの大文字と小文字が区別されないコンマ区切りリストを指定するために使用されます。
次の例では、物理リンクごとの破棄されたインバウンドおよびアウトバウンドパケット数とバイト数が表示されます。
# dlstat show-phys -o idrops,idropbytes,odrops,odropbytes IDROPS IDROPBYTES ODROPS ODROPBYTES 0 0 0 0 871.14K 0 0 0
dlstat show-phys –o コマンドでは idrops と idropbytes の両方のオプションを指定することをお勧めします。IDROPS フィールドが 0 以外であるのに対して、IDROBYTES フィールドは 0 である前の出力に示すように、システムのハードウェア機能によっては、これらの値のどちらかが 0 になる場合があることに注意してください。
ドライバ構成の場合は、driver.conf ファイルだけでなく、dladm プロパティーでも特定のドライバのプロパティー値を管理できます。ドライバ構成ファイルを使用すると、そのデバイス自体によって提供されるデフォルト値をオーバーライドするデバイスのプロパティー値を指定できます。driver.conf ファイルを使用して情報を管理する方法の詳細は、driver.conf(4) のマニュアルページを参照してください。
ネットワークプロトコルスタックのデータリンクレイヤー (L2) では、いくつかのネットワーク機能が構成されます。これらの機能には、物理データリンクと仮想データリンクの両方が含まれます。スタックのこのレイヤーでのネットワークトラフィック使用状況を監視するために使用する特定のコマンドは汎用であるため、構成されているすべてのタイプのデータリンクに使用できます。その他のサブコマンドはその機能自体に固有であるため、その機能の構成に関する追加情報を表示するために使用できます。
スタックのこのレイヤーで使用するコマンドはまた、監視する情報のタイプによっても異なります。たとえば、スタックのデータリンクレイヤーでは、ファンアウトの統計またはリンクごとの統計を表示することがあります。各タイプの情報を取得するには、異なるコマンドを使用します。
データリンクに関する基本情報を取得するには、dladm show-link を使用します。このコマンドは、次の出力に示すように、システム上のすべてのデータリンクまたは指定されたデータリンクのリンク構成情報を表示します。
# dladm show-link LINK CLASS MTU STATE OVER net1 phys 1500 unknown -- net0 phys 1500 up --
前の出力は、このシステムに、それぞれ対応する物理 NIC に直接関連付けられた 2 つのデータリンクが存在することを示しています。システム上に特殊なデータリンク (アグリゲーションや VNIC など) は存在しません。これらのタイプの L2 エンティティーは、phys クラスの下の物理データリンク上に構成されます。
データリンクレイヤーでのネットワークトラフィック使用状況を監視するには、dlstat show-link コマンドを使用します。show-link サブコマンドは、ネットワークプロトコルスタックのデータリンクレイヤーで動作し、物理リンク上に構成されているレーンに関する統計を提供します。
次の出力は、リンクごとのインバウンドおよびアウトバウンドトラフィック統計を示しています。
# dlstat show-link LINK IPKTS RBYTES OPKTS OBYTES net1 0 0 0 0 net0 1.96M 137.97M 38.40K 3.29M
次の例では、net4 デバイスの受信側のトラフィック統計が報告されます。また、INTRS および POLLS カウンタの統計も表示されます。これらの統計は、割り込みコンテキストとポーリングモードのそれぞれで受信されたパケットの数を報告します。IDROPS カウンタは、ネットワークスタックのデータリンクレイヤーで破棄されたパケットの数を示しています。
# dlstat show-link -r net4 LINK TYPE ID INDEX IPKTS RBYTES INTRS POLLS IDROPS net4 rx local -- 0 0 0 0 0 net4 rx other -- 0 0 0 0 0 net4 rx hw 0 7.46M 1.06G 5.62M 1.84M 0 net4 rx hw 1 0 0 0 0 0 net4 rx hw 2 0 0 0 0 0 net4 rx hw 3 0 0 0 0 0 net4 rx hw 4 2 196 2 0 0 net4 rx hw 5 0 0 0 0 0 net4 rx hw 6 0 0 0 0 0 net4 rx hw 7 0 0 0 0 0
前の出力では、指定されたリンク、物理デバイス (show-phys サブコマンドの場合)、またはアグリゲーション (show-aggr サブコマンドの場合) の統計のみが表示されます。このコマンドで link が指定されていない場合は、すべてのリンク、デバイス、およびアグリゲーションの統計が出力に表示されます。
この例では、ID フィールドに表示される情報は次のように解釈されます。
local – ネットワークスタックのレイヤー 2 (L2) 上の対応するループバックトラフィックを示します。
other – ブロードキャストおよびマルチキャストトラフィックが含まれます。
データリンクの有効期間を通して、そのデータリンクに関連付けられたハードウェアリソースは、リソース使用率、リンク構成、または物理 NIC のリンクアグリゲーションへの割り当てによって異なる可能性があります。show-link –r コマンドの出力に示されている rx エントリは、現在そのリンクに割り当てられているハードウェアリソースに対応します。other 行の出力には、そのデータリンクにはすでに割り当てられていないハードウェアリソースのトラフィックが含まれています。
hw – ハードウェアレーンを示します。
sw – ソフトウェアレーンを示します (次の例を参照してください)。
ハードウェアレーンとソフトウェアレーンの区別は、リング割り当てをサポートする NIC の能力に基づいています。ハードウェアレーン上では、リングは、それらのレーンを使用するパケット専用になります。これに対して、ソフトウェアレーン上のリングはデータリンクの間で共有されます。
次の出力は、net1 によって使用されているリング上のアウトバウンドパケットに関する統計を報告します。
# dlstat show-link -t net1 LINK TYPE ID INDEX OPKTS OBYTES ODROPS net4 tx local -- 0 0 0 net4 tx other -- 0 0 0 net4 tx hw 0 372 15.67K 0 net4 tx hw 1 1 98 0 net4 tx hw 2 0 0 0 net4 tx hw 3 0 0 0 net4 tx hw 4 0 0 0 net4 tx hw 5 0 0 0 net4 tx hw 6 1 98 0 net4 tx hw 7 0 0 0
アグリゲーションもまた、ネットワークプロトコルスタックのデータリンクレイヤー (L2) で構成されます。取得する情報のタイプ (物理 NIC 間のトラフィックの全体的な分布やアグリゲーションの統計など) に応じて、次のコマンドを使用します。
すべてのアグリゲーションまたは指定されたアグリゲーションのアグリゲーション構成 (デフォルト)、LACP 情報、または DLMP プローブベースの障害および回復検出ステータスを表示します。
アグリゲーションの詳細なアグリゲーションごとの情報を表示するには、–x オプションを指定します。
アグリゲーションで送受信されたパケット数とバイト数に関するポートごとの統計を表示します。
アグリゲーション (データリンクであるアグリゲーション) で送受信されたパケット数とバイト数に関する統計を表示します。
dlstat show-aggr コマンドと dlstat show-link コマンドの 1 つの違いは、dlstat show-aggr コマンドがポートごとの統計を表示するのに対して、dlstat show-link コマンドはリンクごとの統計を提供することです。これらの 2 つのコマンドのもう 1 つの重要な違いとして、dlstat show-aggr コマンドは、アグリゲーション全体に関する全体的な統計を表示します。これに対して、dlstat show-link コマンドは、アグリゲーションのプライマリクライアント (IP など) に関する統計のみを表示します。
そのため、アグリゲーション上に VNIC を作成した場合、dlstat show-aggr コマンドはすべての VNIC にわたるパケットの総数に加え、プライマリクライアント (IP) に関する統計を報告します。この出力は、show-link サブコマンドと比較した場合の show-phys サブコマンドに似ています。この場合、show-phys が全体的なトラフィック使用状況を表示するのに対して、show-link はプライマリデータリンクのトラフィック使用状況のみを表示します。
次の例は、アグリゲーションのネットワークトラフィック使用状況を監視する方法を示しています。アグリゲーションの管理の詳細は、Oracle Solaris 11.3 でのネットワークコンポーネントの構成と管理 の 第 2 章, Oracle Solaris でのデータリンク構成の管理を参照してください。
使用例 1 アグリゲーション構成情報の表示次の出力例では、システム上に構成されている既存のアグリゲーションのステータスを報告します。
# dladm show-aggr -x LINK PORT SPEED DUPLEX STATE ADDRESS PORTSTATE aggr1 -- 1000Mb full up 0:14:4f:29:d1:9d -- net1 1000Mb full up 0:14:4f:29:d1:9d attached net3 0Mb unknown down 0:14:4f:29:d1:9f standby使用例 2 アグリゲーションのポートごとの統計の表示
dlstat show-aggr コマンドの次の出力例では、アグリゲーションのポートごとの統計を報告します。アグリゲーションで送受信されたパケット数とバイト数の両方が表示されます。
# dlstat show-aggr LINK PORT IPKTS RBYTES OPKTS OBYTES aggr1 -- 99 1 2.18K 23 966 aggr1 net4 25 1.50K 8 336 aggr1 net5 74 10.68K 15 630使用例 3 アグリゲーションのリンクごとの統計の表示
dlstat show-link コマンドの次の出力例では、アグリゲーションのリンクごとの統計を報告します。アグリゲーションで送受信されたパケット数とバイト数の両方が表示されます。この例と前の例の違いは、show-aggr サブコマンドがポートごとの統計を報告するのに対して、show-link サブコマンドはリンクごとの統計を報告することです。
# dlstat show-link LINK IPKTS RBYTES OPKTS OBYTES net5 0 0 0 0 net2 0 0 5.60K 1.49M net4 0 0 0 0 net6 4.43K 1.32M 6.39K 1.56M net1 4.43K 1.32M 6.39K 1.56M net0 387.10K 99.42M 59.43K 7.67M net3 0 0 5.61K 1.50M aggr1 150 18.65K 30 1.26K使用例 4 アグリゲーションのハードウェアリングに関する受信側のトラフィック統計の表示
次の例では、アグリゲーション (aggr1) のハードウェアリングに関する受信側の統計を報告します。
# dlstat show-phys -r aggr1 LINK TYPE INDEX IPKTS RBYTES aggr1 rx 0 723 43.38K aggr1 rx 1 0 0 aggr1 rx 2 0 0 aggr1 rx 3 0 0 aggr1 rx 4 0 0 aggr1 rx 5 0 0 aggr1 rx 6 0 0 aggr1 rx 7 0 0 aggr1 rx 8 22.20K 1.33M aggr1 rx 9 692 63.66K aggr1 rx 10 0 0 aggr1 rx 11 0 0 aggr1 rx 12 0 0 aggr1 rx 13 12.99K 4.44M aggr1 rx 14 0 0 aggr1 rx 15 10.39K 623.34K使用例 5 アグリゲーションのハードウェアレーンに関する受信側のトラフィック統計の表示
次の例では、アグリゲーション (aggr1) の各ハードウェアレーンに関する受信側のトラフィック統計を報告します。報告される統計が、アグリゲーションのプライマリクライアントのトラフィック (そのアグリゲーション上の IP トラフィックなど) にのみ関連していることに注意してください。この出力には、そのアグリゲーション上に構成されているほかのクライアント (VNIC など) に関するトラフィック統計は含まれていません。アグリゲーションのすべてのクライアントのトラフィック使用状況を表示するには、使用例 1および 使用例 4に示すように、dlstat show-aggr および dlstat show-phys を使用します。
# dlstat show-link -r aggr1 LINK TYPE ID INDEX IPKTS RBYTES INTRS POLLS IDROPS aggr1 rx local -- 0 0 0 0 0 aggr1 rx other -- 0 0 0 0 0 aggr1 rx hw 0 721 43.26K 721 0 0 aggr1 rx hw 1 0 0 0 0 0 aggr1 rx hw 2 0 0 0 0 0 aggr1 rx hw 3 0 0 0 0 0 aggr1 rx hw 4 0 0 0 0 0 aggr1 rx hw 5 0 0 0 0 0 aggr1 rx hw 6 0 0 0 0 0 aggr1 rx hw 7 0 0 0 0 0 aggr1 rx hw 8 22.23K 1.33M 22.23K 0 1 aggr1 rx hw 9 693 63.76K 693 0 0 aggr1 rx hw 10 0 0 0 0 0 aggr1 rx hw 11 0 0 0 0 0 aggr1 rx hw 12 0 0 0 0 0 aggr1 rx hw 13 13.00K 4.45M 13.00K 0 2 aggr1 rx hw 14 0 0 0 0 0 aggr1 rx hw 15 10.40K 624.06K 10.40K 0 0
Oracle Solaris のエラスティック仮想スイッチ (EVS) 機能は、ネットワークプロトコルスタックのデータリンクレイヤーで構成および管理します。表示する情報のタイプに応じて、次のコマンドを使用します。
EVS スイッチとそのリソースである IP ネットワーク (IPnet) および仮想ポート (VPort) を作成および管理します。
EVS コントローラによって管理されているすべての EVS スイッチまたは指定された EVS スイッチの情報を表示するには、show-evs サブコマンドを使用します。
大規模な配置のすべての VPort または指定されたエラスティック仮想スイッチのすべての VPort のネットワークトラフィック統計を表示します。このコマンドはまた、その VPort に関連付けられたすべての VNIC の統計も報告します。
EVS スイッチに接続されている VNIC に関する情報を表示します。その VNIC が接続されている VPort と EVS スイッチは、EVS スイッチによって決定されます。
次の例は、エラスティック仮想スイッチの構成情報を表示したり、EVS 構成のネットワークトラフィック使用状況やその他の統計を監視したりする方法を示しています。EVS 機能の管理の詳細は、Oracle Solaris 11.3 での仮想ネットワークとネットワークリソースの管理 の 第 6 章, エラスティック仮想スイッチの管理を参照してください。
使用例 6 EVS 構成に関する情報の表示次の例では、evsadm コマンドを使用して EVS 構成に関する基本情報を表示します。
# evsadm NAME TENANT STATUS VNIC IP HOST evs0 sys-global busy -- ipnet0 sysabc-02 sys-vport0 -- used vnic0 10.0.0.2/24 sysabc-02使用例 7 EVS スイッチに接続されている VPort のインバウンドおよびアウトバウンドトラフィック使用状況の表示
次の例では、evsstat コマンドを使用して、EVS スイッチに接続されている VPort のみの受信および送信ネットワークトラフィック統計を表示します。
# evsstat VPORT EVS TENANT IPKTS RBYTES OPKTS OBYTES sys-vport0 evs0 sys-tenant 101.88K 32.86M 40.16K 4.37M sys-vport1 evs0 sys-tenant 4.50M 6.78G 1.38M 90.90M使用例 8 EVS スイッチに接続されている VNIC に関する情報の表示
VNIC には、ベースとなるリンク上に作成するものと、EVS スイッチに接続されているものの 2 つのタイプがあります。EVS スイッチに接続されている VNIC に関する情報を取得するには、次の例に示すように、dladm show-vnic コマンドを –c オプションとともに使用します。
# dladm show-vnic -c LINK TENANT EVS VPORT OVER MACADDRESS IDS vnic0 sys-global evs0 sys-vport0 net 12:8:20:f2:46:22 VID:200
VNIC は、ネットワークプロトコルスタックのデータリンクレイヤー (L2) で構成されます。これらの L2 エンティティーに関する構成情報を表示したり、ネットワークトラフィック使用状況を監視したりするには、次のコマンドを使用します。
システム上のすべての VNIC、リンク上のすべての VNIC、または指定された vnic-link の VNIC 構成情報を表示します。
VNIC ごとの送受信されたパケット数とバイト数に関する統計を表示します。
次の例は、VNIC のネットワークトラフィック使用状況を監視する方法を示しています。VNIC の管理の詳細は、Oracle Solaris 11.3 での仮想ネットワークとネットワークリソースの管理 の VNIC の管理を参照してください。
使用例 9 VNIC 構成情報の表示次の例では、システム上の 1 つの既存の VNIC (vnic0) の VNIC 構成情報を表示します。
# dladm show-vnic LINK OVER SPEED MACADDRESS MACADDRTYPE IDS vnic0 net1 1000 2:8:20:f2:46:22 fixed VID:200使用例 10 VNIC のネットワークトラフィック統計の表示
次の例では、dlstat コマンドを使用して、特定の VNIC (vnic0) によって送受信されたパケット数とバイト数に関する統計を表示します。
# dlstat vnic0 LINK IPKTS RBYTES OPKTS OBYTES vnic0 1.53M 158.18M 154.22K 32.84M
ネットワークプロトコルスタックの IP レイヤー (L3) でのネットワークトラフィック使用状況は、いくつかの異なるコマンドを使用して監視します。表示する情報のタイプに応じて、次のコマンドを使用します。
ネットワークプロトコルスタックの IP レイヤーで構成されているさまざまな IP アドレスまたはサブネットに対して作成するフローに関する統計を表示します。
IP インタフェースおよびアドレスに関する一般的な構成情報を表示します。
指定されたアドレスオブジェクト (addrobj)、または指定されたインタフェース上に構成されているすべてのアドレスオブジェクト (永続的な構成だけに存在するものも含む) の IP アドレス情報を表示します。
システム上に構成されているすべてのネットワークインタフェース (永続的な構成だけに存在するものも含む)、または指定されたインタフェースのネットワークインタフェース構成情報を表示します。
選択された出力モードとソート順序に基づいて、IP トラフィックに関する統計を表示します。
ネットワークに関連した特定のデータ構造の内容をさまざまな形式で表示します。
次の例は、ネットワークプロトコルスタックの IP レイヤーで構成されているネットワーク機能に関するネットワークトラフィック使用状況を監視したり、統計を収集したりする方法を示しています。IP 構成の管理の詳細は、Oracle Solaris 11.3 でのネットワークコンポーネントの構成と管理 の IP インタフェースとアドレスのモニタリングを参照してください。ipstat(1M) および netstat(1M) のマニュアルページも参照してください。
使用例 11 IP 構成に関する一般的な情報の表示IP 構成に関する一般的な情報を表示するには、ipadm コマンドを使用します。次の例は、システム上に構成されているすべての IP インタフェースおよびアドレスに関する情報を表示する方法を示しています。
# ipadm NAME CLASS/TYPE STATE UNDER ADDR lo0 loopback ok -- -- lo0/v4 static ok -- 127.0.0.1/8 lo0/v6 static ok -- ::1/128 net0 ip ok -- -- net0/v4 static ok -- 10.134.67.140/24使用例 12 構成されている IP インタフェースに関する情報の表示
システム上に構成されている IP インタフェースに関する情報を表示するには、次の例に示すように、ipadm コマンドを show-if サブコマンドとともに使用します。
# ipadm show-if IFNAME CLASS STATE ACTIVE OVER lo0 loopback ok yes --- net0 ip ok yes ---使用例 13 構成されている IP アドレスオブジェクトに関する情報の表示
次の例は、ipadm コマンドを show-addr サブコマンドとともに使用して、システム上に構成されている IP アドレスオブジェクトに関する情報を表示する方法を示しています。
# ipadm show-addr ADDROBJ TYPE STATE ADDR lo0/v4 static ok 127.0.0.1/8使用例 14 ipstat コマンドを使用した IP トラフィックに関する統計の表示
次の例は、ipstat コマンドを使用して IP トラフィックに関する統計を表示する方法を示しています。このコマンドには、指定された発信元または宛先アドレス、インタフェース、および上位レイヤープロトコルに一致する IP トラフィックに関する統計を報告するためのオプションが用意されています。
# ipstat SOURCE DEST PROTO INT RATE abc11example-02 dhcp-sys.example TCP net0 145.6 dns1.example.com abc11example-02 UDP net0 66.0 abc11example-02 dns1.example.com UDP net0 10.4 dhcp-sys.example abc11example-02 TCP net0 4.0 foo1.example.com all-sys.mcast.net ICMP net0 3.2
詳細は、Oracle Solaris 11.3 での TCP/IP ネットワーク、IPMP、および IP トンネルの管理 の ipstat および tcpstat コマンドを使用したネットワークトラフィックの監視を参照してください。
使用例 15 netstat コマンドを使用した接続されたソケットの表示netstat コマンドは、ネットワークステータスやプロトコル統計を表示します。TCP、SCTP、および UDP の各エンドポイントのステータスは表形式で表示できます。また、このコマンドを使用して、ルーティングテーブルやインタフェース情報を表示することもできます。報告されるさまざまなタイプのネットワークデータは、指定するコマンド行オプションによって異なります。
次の例では、netstat コマンドをオプションなしで使用して、プロトコルごとのアクティブなソケットのリストを表示します。
# netstat TCP: IPv4 Local Address Remote Address Swind Send-Q Rwind Recv-Q State ------------------ ----------------- ------- ------ ------- ------ -------- localsys.local.port1 remotesys1 65535 0 128592 0 ESTABLISHED localsys.local.port2 localsys.local.port5 130880 0 139264 0 ESTABLISHED localsys.local.port3 localsys.local.port6 139060 0 130880 0 ESTABLISHED localsys.local.port4 remotesys2.remote.port2 65572 63 128480 0 ESTABLISHED
次の例に示すように、適用可能なソケットのみの統計または状態の表示を特定のプロトコルに制限するには、netstat –P protocol コマンドを次のように使用します。
# netstat -P tcp TCP: IPv4 Local Address Remote Address Swind Send-Q Rwind Recv-Q State ------------ -------------------- ------ ------ ------- ------ -------- sys3.48962 foo.com.ldaps 49232 0 128872 0 ESTABLISHED sys3.ssh dhcp1-10-132-146-210.foo.com 64292 63 128480 0 ESTABLISHED
protocol は、ip、ipv6、icmp、icmpv6、igmp、udp、tcp、rawip のいずれかとして指定できます。
次の簡略化された例は、netstat –s コマンドを使用してプロトコルごとの統計を表示する方法を示しています。
# netstat -s RAWIP rawipInDatagrams = 2 rawipInErrors = 0 rawipInCksumErrs = 0 rawipOutDatagrams = 2 rawipOutErrors = 0 UDP udpInDatagrams = 1023 udpInErrors = 0 udpOutDatagrams = 1023 udpOutErrors = 0 TCP tcpRtoAlgorithm = 4 tcpRtoMin = 200 tcpRtoMax = 60000 tcpMaxConn = -1 tcpActiveOpens = 382 tcpPassiveOpens = 83 tcpAttemptFails = 81 tcpEstabResets = 1 tcpCurrEstab = 2 tcpOutSegs = 6598 tcpOutDataSegs = 5653 tcpOutDataBytes = 836393 tcpRetransSegs = 16 . . .使用例 16 ネットワークスタックの IP レイヤーで構成されているフローに関する統計の表示
次の例に示すように、ネットワークプロトコルスタックの IP レイヤーで構成されている目的とするさまざまな IP アドレスまたはサブネットのフローを作成できます。次に、flowstat コマンドを使用すると、これらのフローに関する統計を表示できます。
# flowadm add-flow -l net0 -a transport=tcp tcpflow1 # flowadm add-flow -l net4 -a transport=tcp tcpflow2 # flowstat FLOW IPKTS RBYTES IDROPS OPKTS OBYTES ODROPS tcpflow2 0 0 0 0 0 0 tcpflow1 53 5.62K 0 45 5.52K 0
特定のデータリンクデバイスのフロー情報を表示するには、–l オプションを指定します。
# flowstat -l net0 FLOW IPKTS RBYTES IDROPS OPKTS OBYTES ODROPS tcpflow1 108 11.19K 0 86 10.45K 0使用例 17 特定の IP アドレスのフローの作成および監視
flowadm add-flow コマンドで local_ip および remote_ip 属性を使用しすると、特定の IP アドレスのフローを作成できます。次の例に示すように、次に flowstat コマンドを使用すると、これらのフローに関する統計を表示できます。
# flowadm add-flow -l net0 -a local_ip=10.10.12.45 flow1 # flowadm add-flow -l net4 -a remote_ip=10.134.64.0/24 flow2 # flowstat FLOW IPKTS RBYTES IDROPS OPKTS OBYTES ODROPS flow2 528.54K 787.39M 0 179.39K 11.85M 0 flow1 742.81K 1.10G 0 0 0 0
ネットワークプロトコルスタックのトランスポートレイヤー (L4) で構成および管理されている機能のネットワークトラフィックは、次のコマンドを使用して監視します。
ユーザー定義のフローに関する実行時統計を報告します。flowstat コマンドで指定するフロー名を確認するには、flowadm show-flow コマンドを使用します。
フローは、帯域幅制御のためだけではなく、(たとえば、特定のサービスが消費するトラフィックの量を測定するための) 可観測性ツールとしても使用できます。
ネットワークに関連した特定のデータ構造の内容をさまざまな形式で表示します。引数なしの netstat コマンドは、–f オプションを使用して変更されないかぎり、PF_INET、PF_INET6、および PF_UNIX の接続されたソケットを表示します。
コマンド構文で指定されている選択された出力モードとソート順序に基づいて、サーバー上の TCP および UDP トラフィックに関する統計を報告します。
次の例は、ネットワークプロトコルスタックのトランスポートレイヤーで構成されている機能に関するネットワークトラフィック使用状況を監視したり、統計を収集したりする方法を示しています。
netstat および tcpstat コマンドを使用した TCP/IP ネットワークの管理の詳細は、Oracle Solaris 11.3 での TCP/IP ネットワーク、IPMP、および IP トンネルの管理 の 第 1 章, TCP/IP ネットワークの管理を参照してください。
flowstat コマンドの詳細は、Oracle Solaris 11.3 での仮想ネットワークとネットワークリソースの管理 の フロー上のネットワークトラフィックの統計情報の表示および flowstat(1M) のマニュアルページを参照してください。
使用例 18 flowstat コマンドを使用したフローに関する実行時統計の表示次の出力例は、システム上の構成されているすべてのフローに関するトラフィック情報の静的な表示を示しています。flowadm コマンドは、フローの名前を確認するために使用されます。
# flowadm FLOW LINK PROTO LADDR LPORT RADDR RPORT DIR tcpflow1 net1 tcp -- -- -- -- bi tcpflow0 net0 tcp -- -- -- -- bi udpflow0 net0 udp -- -- -- -- bi # flowstat FLOW IPKTS RBYTES IDROPS OPKTS OBYTES ODROPS tcpflow1 0 0 0 0 0 0 tcpflow0 1.39K 117.86K 0 2.16K 260.77K 0 udpflow0 5 1.43K 0 0 0 0
次の 2 つの例の出力に示すように、flowstat コマンドを –l オプションとともに使用して、指定されたリンクのすべてのフローに関する統計または指定されたフローに関する統計を表示することもできます。
# flowstat -l net0 FLOW IPKTS RBYTES IDROPS OPKTS OBYTES ODROPS tcpflow0 1.51K 126.85K 0 2.43K 292.85K 0 udpflow0 9 2.80K 0 0 0 0
# flowstat -l net0 tcpflow0 FLOW IPKTS RBYTES IDROPS OPKTS OBYTES ODROPS tcpflow0 1.66K 137.11K 0 2.69K 324.42K 0使用例 19 netstat コマンドを使用したトランスポートレイヤーのデータ構造に関する情報の表示
netstat コマンドを使用すると、ネットワークプロトコルスタックのトランスポートレイヤー (L4) のデータ構造 (TCP や UDP など) に関する情報を表示できます。次の例では、netstat –P transport-protocol コマンドを使用して TCP に関する情報を表示します。
# netstat -p tcp TCP: IPv4 Local Address Remote Address Swind Send-Q Rwind Recv-Q State ---------------- --------------- ------- ------ ------- ------ ----------- localsys.ssh remotesys1.port4 65380 63 128480 0 ESTABLISHED localsys.port1 remotesys2.ldaps 65535 0 128592 0 ESTABLISHED localsys.port2 localsys.port5 130880 0 139264 0 ESTABLISHED localsys.port3 localsys.port6 139060 0 130880 0 ESTABLISHED使用例 20 tcpstat コマンドを使用した TCP および UDP トラフィックに関する統計の表示
ネットワークプロトコルスタックのトランスポートレイヤーのネットワークトラフィック (特に TCP および UDP) を監視するには、tcpstat コマンドを使用します。発信元および宛先 IP アドレスに加えて、発信元および宛先 TCP または UDP ポート、トラフィックを送信または受信しているプロセスの PID、およびそのプロセスが動作している大域ゾーンの名前を監視できます。
次の例は、tcpstat コマンドを –c オプションとともに使用したときに報告される情報のタイプを示しています。–c オプションは、新しいレポートを前のレポートのあとに、前のレポートを上書きすることなく出力するように指定します。
# tcpstat -c 3 ZONE PID PROTO SADDR SPORT DADDR DPORT BYTES global 100680 UDP antares 62763 agamemnon 1023 76.0 global 100680 UDP antares 775 agamemnon 1023 38.0 global 100680 UDP antares 776 agamemnon 1023 37.0 global 100680 UDP agamemnon 1023 antares 62763 26.0 global 104289 UDP zucchini 48655 antares 6767 16.0 global 104289 UDP clytemnestra 51823 antares 6767 16.0 global 104289 UDP antares 6767 zucchini 48655 16.0 global 104289 UDP antares 6767 clytemnestra 51823 16.0 global 100680 UDP agamemnon 1023 antares 776 13.0 global 100680 UDP agamemnon 1023 antares 775 13.0 global 104288 TCP zucchini 33547 antares 6868 8.0 global 104288 TCP clytemnestra 49601 antares 6868 8.0 global 104288 TCP antares 6868 zucchini 33547 8.0 global 104288 TCP antares 6868 clytemnestra 49601 8.0 Total: bytes in: 101.0 bytes out: 200.0
次の出力では、tcpstat コマンドは、サーバーでもっともアクティブな 5 つの TCP トラフィックフローを報告します。
# tcpstat -l 5 ZONE PID PROTO SADDR SPORT DADDR DPORT BYTES global 28919 TCP achilles.exampl 65398 aristotle.exampl 443 33.0 zone1 6940 TCP ajax.example.com 6868 achilles.exampl 61318 8.0 zone1 6940 TCP achilles.exampl 61318 ajax.example.com 6868 8.0 global 8350 TCP ajax.example.com 6868 achilles.exampl 61318 8.0 global 8350 TCP achilles.exampl 61318 ajax.example.com 6868 8.0 Total: bytes in: 16.0 bytes out: 49.0
詳細は、Oracle Solaris 11.3 での TCP/IP ネットワーク、IPMP、および IP トンネルの管理 の ipstat および tcpstat コマンドを使用したネットワークトラフィックの監視および tcpstat(1M) のマニュアルページを参照してください。