Skip Navigation Links | |
Exit Print View | |
Using Virtual Networks in Oracle Solaris 11.1 Oracle Solaris 11.1 Information Library |
1. Network Virtualization and Resource Management in Oracle Solaris
2. Creating and Administering Virtual Networks in Oracle Solaris
3. Managing Network Resources in Oracle Solaris
4. Monitoring Network Traffic and Resource Usage in Oracle Solaris
Overview of Network Traffic Flow
Commands for Monitoring Traffic Statistics
Gathering Statistics About Network Traffic on Links
Obtaining Network Traffic Statistics on Network Devices
Gathering Statistics About Network Traffic on Flows
Configuring Network Accounting for Network Traffic
How to Set Up Network Accounting
You can use the following variants of the dlstat command to gather network traffic information.
|
You can use either the -r option or the -t option to the dlstat command to restrict the statistics information to the receive side or the transmit side, respectively. Moreover, you can use other options with the dlstat command aside. For more information, refer to the dlstat(1M) man page.
The dlstat show-phys subcommand provides statistics that refer to the physical network device. As shown in Figure 4-1, the subcommand operates on the hardware rings. which are on the device layer of the network stack. The equivalent subcommand dladm show-phys also operates on the same level of the stack. Compare Figure 4-1 with the network stack illustrated in Oracle Solaris Implementation in Introduction to Oracle Solaris 11 Networking.
The following example shows statistics for all the physical links on the system:
# dlstat show-phys LINK IPKTS RBYTES OPKTS OBYTES net0 2.14M 257.48M 3.19M 210.88M net1 1.15M 120.32M 1.00M 98.70M net2 1.10M 110.10M 1.28 183.00M ...
The output shows both incoming and outgoing traffic statistics on each link on the system. The number of packets and their byte sizes are displayed.
The following example shows receive-side statistics on each of net0's hardware rings:
# dlstat show-phys -r net0 LINK TYPE ID INDEX IPKTS RBYTES net0 rx local -- 0 0 net0 rx hw 1 0 0 net0 rx hw 2 1.73M 2.61G net0 rx hw 3 0 0 net0 rx hw 4 8.44M 12.71G net0 rx hw 5 5.68M 8.56G net0 rx hw 6 4.99M 7.38G net0 rx hw 7 0 0
In the second output, the net0 device has eight receive rings, which are identified under the INDEX field. An even distribution of packets per ring is an ideal configuration that indicates that the rings are properly allocated to links according to the links' load. An uneven distribution might indicate a disproportionate distribution of rings per link. The resolution of the uneven distribution depends on whether the NIC supports dynamic ring allocation. If it does, you can redistribute rings per link to process packets more evenly. For more information about dynamic ring allocation, see Working With Clients, Transmit Rings, and Receive Rings.
The following example shows information about traffic that is being received on the devices every second. The interval is specified by using the -i option. To stop the display from refreshing, press Control-C.
# dlstat show-phys -r -i 1 LINK TYPE INDEX IPKTS RBYTES net0 rx 0 101.91K 32.86M net1 rx 0 9.61M 14.47G net2 rx 8 336K 0 net0 rx 0 0 0 net1 rx 0 82.13K 123.69M net2 rx 0 0 0 ... ^C
This example shows the usage of the transmit rings for net1 as a network device.
# dlstat show-phys -t net1 LINK TYPE INDEX OPKTS OBYTES net1 tx 0 44 3.96K net1 tx 1 0 0 net1 tx 2 1.48M 121.68M net1 tx 3 2.45M 201.11M net1 tx 4 1.47M 120.82M net1 tx 5 0 0 net1 tx 6 1.97M 161.57M net1 tx 7 4.59M 376.21M net1 tx 8 2.43M 199.24M net1 tx 9 0 0 net1 tx 10 3.23M 264.69M net1 tx 11 1.88M 153.96M
The dlstat show-link subcommand provides statistics that refer to the lanes that are configured over the physical link The lanes are constituted by the datalinks. As shown in Figure 4-1, the subcommand operates on the datalink layer of the network stack. The equivalent subcommand dladm show-link also operates on the same level of the stack. Compare Figure 4-1 with the network stack illustrated in Oracle Solaris Implementation in Introduction to Oracle Solaris 11 Networking.
The following example shows receive-side traffic statistics for vnic0.
# dlstat show-link -r vnic0 LINK TYPE ID INDEX IPKTS RBYTES INTRS POLLS IDROPS vnic0 rx hw 2 1.73M 2.61G 1.33M 400.22K 0 vnic0 rx hw 4 8.44M 12.71G 4.35M 4.09M 0
The previous output shows traffic statistics for the lane vnic0. This lane has been allocated two receive rings (ring 2 and ring 4) for exclusive use. The output shows how these two rings are used for incoming network traffic. However, the data might also reflect the implementation of other resource allocations, such as bandwidth limits and priority processing.
Suppose the following information is displayed for net0, the primary lane:
# dlstat show-link -r net0 LINK TYPE ID INDEX IPKTS RBYTES INTRS POLLS IDROPS net0 rx local -- 0 0 0 0 0 net0 rx sw -- 794.28K 1.19G 794.28K 0 0 ...
Based on the output, one of the Rx rings, ring 0, is being shared with another client. Rings are shared if secondary clients are configured without any allocated rings. Ring might not be allocated for the following reasons:
Hardware clients are no longer available to be created over the link.
Hardware rings are no longer available to be allocated.
The administrator intentionally configures a software client.
The statistics for interrupt (INTRS) and drops (*DROPS) are also significant. Low interrupt numbers and zero packet drops indicate greater efficiency in performance. If the interrupt numbers or packet drop numbers are high, then you might need to add more resources to the lane.
The following example shows statistics about outbound packets on the rings used by net1, the primary lane. The output shows that net1 uses all of the Tx rings.
# dlstat show-link -t net1 LINK TYPE ID INDEX OPKTS OBYTES ODROPS net1 tx hw 0 32 1.44K 0 net1 tx hw 1 0 0 0 net1 tx hw 2 1.48M 97.95M 0 net1 tx hw 3 2.45M 161.87M 0 net1 tx hw 4 1.47M 97.25M 0 net1 tx hw 5 0 276 0 net1 tx hw 6 1.97M 130.25M 0 net1 tx hw 7 4.59M 302.80M 0 net1 tx hw 8 2.43M 302.80M 0 net1 tx hw 9 0 0 0 net1 tx hw 10 3.23M 213.05M 0 net1 tx hw 11 1.88M 123.93M 0
The following command shows the usage of receive-side statistics for the link net1. In addition, with the use of the -F option in the command, the output also provides fanout information. Specifically, the fanout count is two (0 and 1). Network traffic that is received on the hardware lane that uses ring 0 is split and passed on across the two fanouts. Likewise, network traffic that is received on the hardware lane that uses ring 1 is also split and divided across the two fanouts.
# dlstat show-link -r -F net1 LINK ID INDEX FOUT IPKTS net1 local -- 0 0 net1 hw 0 0 382.47K net1 hw 0 1 0 net1 hw 1 0 367.50K net1 hw 1 1 433.24K
The dlstat show-aggr command shows network packet statistics for each aggregation's ports when traffic traverses the aggregation on the system.
# dlstat show-aggr LINK PORT IPKTS RBYTES OPKTS OBYTES aggr1 -- 0 0 0 0 aggr1 net0 0 0 0 0 aggr1 net1 0 0 0 0
The output indicates the configuration of a link aggregation aggr1 with two underlying links, net0 and net1. As network traffic is received or sent by the system through the aggregation, information about incoming and outgoing packets and their respective sizes is reported for every port. The ports are identified by the underlying links of the aggregation.