Monitoring SEA Traffic

With the LPAR Tool, SEA statistics can be displayed at any time with the command “vios seastat“. This allows you to determine at any time which client LPARs have which network throughput.

Which SEAs there are on a virtual I/O server can easily be found out using “vios lssea“:

$ vios lssea ms19-vio1
TIMES   TIMES   BRIDGE
NAME   HA_MODE  PRIORITY  STATE       PRIMARY  BACKUP  MODE
ent40  Sharing  1         PRIMARY_SH  1        1       Partial
ent41  Sharing  1         PRIMARY_SH  1        1       Partial
ent42  Sharing  1         PRIMARY_SH  1        1       Partial
$

The only requirement is that accounting has been activated for the SEAs. This can be checked as follows:

$ vios lsattr ms19-vio1 ent40 accounting
value
enabled
$

If accounting is disabled, it can be activated with the command “vios chdev“:

$ vios chdev ms19-vio1 ent40 accounting=enabled
$

We can display the SEA client statistics with the command “vios seastat“. By default, the data for all SEA clients of the specified SEA, ent40 in the example, is shown every 10 seconds:

$ vios seastat ms19-vio1 ent40
LPAR_NAME    MAC                VLAN  PRIO  IP           IN_PKTS   IN_BYTES     OUT_PKTS  OUT_BYTES
aixmqt01     32:XX:XX:XX:XX:05  155   0     3.X.X.31    222.83/s   30.03 KB/s  196.33/s   66.70 KB/s
aixmqt01     32:XX:XX:XX:XX:05  155   0     3.X.X.32     348.78/s   47.17 KB/s  245.61/s   30.06 KB/s
aixdbprod3   B6:XX:XX:XX:XX:05  200   0     162.X.X.112   65.48/s   12.45 KB/s   66.36/s    9.32 KB/s
aixdbprod3   B6:XX:XX:XX:XX:05  200   0     162.X.X.114    9.23/s    4.96 KB/s    8.05/s    4.21 KB/s
aixdbprod3   B6:XX:XX:XX:XX:05  200   0     -              2.55/s  261.51 B/s     0.20/s   12.17 B/s
…
LPAR_NAME    MAC                VLAN  PRIO  IP           IN_PKTS   IN_BYTES     OUT_PKTS  OUT_BYTES
aixmqt01     32:XX:XX:XX:XX:05  155   0     3.X.X.31     223.93/s   30.30 KB/s  199.15/s   69.90 KB/s
aixmqt01     32:XX:XX:XX:XX:05  155   0     3.X.X.32     331.39/s   45.14 KB/s  238.24/s   29.07 KB/s
aixdbprod3   B6:XX:XX:XX:XX:05  200   0     162.X.X.114    9.80/s    4.26 KB/s  193.08/s   31.45 KB/s
aixdbprod3   B6:XX:XX:XX:XX:05  200   0     162.X.X.112   54.17/s   10.58 KB/s   58.48/s    9.51 KB/s
ms19-vio2  0A:XX:XX:XX:XX:05  725   0     162.X.X.23     2.84/s  344.03 B/s     0.00/s    0.00 B/s
…
^C

Statistics are saved on the virtual I/O server for each combination (LPAR, MAC address, VLAN, IP address). The LPAR aixmqt01 in the example above has e.g. 2 different IP addresses (3.XX31 and 3.XX32) in VLAN 155 on the same interface (with the MAC address 32: XX: XX: XX: XX: 05) . If it is not of interest which of the IP addresses of an LPAR generates the traffic, the data can also be added up with the option ‘-C‘ (coalesce). With ‘-C vlan‘ for example, all data records for the same VLAN and the same MAC address (and thus the same LPAR) can be aggregated:

$ vios seastat -C vlan ms19-vio1 ent40
LPAR_NAME    MAC                VLAN  IN_PKTS   IN_BYTES     OUT_PKTS  OUT_BYTES
aixmqt01     32:XX:XX:XX:XX:05  155   573.03/s   77.23 KB/s  443.19/s   99.85 KB/s
aixdbprod3   B6:XX:XX:XX:XX:05  200    66.98/s   13.08 KB/s   88.62/s   15.84 KB/s
ms19-vio2  0A:XX:XX:XX:XX:05  725     8.42/s    0.92 KB/s    0.00/s    0.00 B/s
ms19-vio2  0A:XX:XX:XX:XX:06  700     8.42/s    0.92 KB/s    0.00/s    0.00 B/s
…
LPAR_NAME    MAC                VLAN  IN_PKTS   IN_BYTES     OUT_PKTS  OUT_BYTES
aixmqt01     32:XX:XX:XX:XX:05  155   581.17/s   79.30 KB/s  480.71/s  108.78 KB/s
aixdbprod3   B6:XX:XX:XX:XX:05  200    92.32/s   21.33 KB/s  114.00/s   21.45 KB/s
ms19-vio2  0A:XX:XX:XX:XX:05  725     5.69/s    0.80 KB/s    0.00/s    0.00 B/s
ms19-vio2  0A:XX:XX:XX:XX:06  700     5.69/s    0.80 KB/s    0.00/s    0.00 B/s
…
^C

With ‘-C mac‘ you can add up all data records with the same MAC address. If an LPAR has several virtual Ethernet adapters and thus different MAC addresses, you get one data record for each MAC address of the LPAR. Finally, you can also aggregate all data records of an LPAR and thus determine the total throughput of an LPAR over a certain SEA, by using the option ‘-C lpar‘:

$ vios seastat -C lpar ms19-vio1 ent40
LPAR_NAME     IN_PKTS   IN_BYTES     OUT_PKTS  OUT_BYTES
aixmqt01     558.77/s   75.71 KB/s  448.14/s  104.75 KB/s
aixdbprod3    51.93/s   11.06 KB/s   52.32/s    9.28 KB/s
ms19-vio2    9.82/s    1.34 KB/s    0.00/s    0.00 B/s
ms19-vio1    4.91/s  667.93 B/s     0.00/s    0.00 B/s
…
LPAR_NAME    IN_PKTS   IN_BYTES     OUT_PKTS  OUT_BYTES
aixmqt01     581.30/s   80.22 KB/s  461.91/s  106.88 KB/s
aixdbprod3    84.82/s   18.95 KB/s   82.66/s   15.83 KB/s
ms19-vio2   12.57/s    1.64 KB/s    0.00/s    0.00 B/s
ms19-vio1    6.28/s    0.82 KB/s    0.00/s    0.00 B/s
…
^C

If you do not want to see data per client, but rather cumulatively per VLAN, this is possible with the ‘-V‘ option. This makes it easy to determine which VLANs are causing the most traffic:

$ vios seastat -V ms19-vio1 ent40
VLAN  IN_PKTS   IN_BYTES     OUT_PKTS  OUT_BYTES
155   564.20/s   75.64 KB/s  450.01/s  102.84 KB/s
200    77.27/s   22.53 KB/s   77.56/s   30.28 KB/s
700    11.36/s    0.95 KB/s    0.00/s    0.00 B/s
725     5.68/s  476.36 B/s     0.00/s    0.00 B/s
VLAN  IN_PKTS   IN_BYTES     OUT_PKTS  OUT_BYTES
155   566.59/s   76.75 KB/s  444.74/s   97.80 KB/s
200    35.52/s   11.49 KB/s   26.98/s    9.03 KB/s
700    10.99/s    1.29 KB/s    0.00/s    0.00 B/s
725     5.49/s  644.39 B/s     0.00/s    0.00 B/s
VLAN  IN_PKTS   IN_BYTES     OUT_PKTS  OUT_BYTES
155   559.34/s   75.31 KB/s  436.92/s   99.91 KB/s
200   274.27/s   59.40 KB/s  304.19/s  110.62 KB/s
700    10.20/s    1.58 KB/s    0.00/s    0.00 B/s
725     5.10/s    0.79 KB/s    0.00/s    0.00 B/s
^C

As with “vios fcstat“, the number of data records shown can be limited with the option ‘-t‘ (top). Here only the top 3 data records with the highest activity (throughput) are shown:

$ vios seastat -t 3 ms19-vio1 ent40
LPAR_NAME    MAC                VLAN  PRIO  IP           IN_PKTS   IN_BYTES     OUT_PKTS  OUT_BYTES
aixmqt01     32:XX:XX:XX:XX:05  155   0     3.X.X.31    222.83/s   30.03 KB/s  196.33/s   66.70 KB/s
aixmqt01     32:XX:XX:XX:XX:05  155   0     3.X.X.32     348.78/s   47.17 KB/s  245.61/s   30.06 KB/s
aixdbprod3   B6:XX:XX:XX:XX:05  200   0     162.X.X.112   65.48/s   12.45 KB/s   66.36/s    9.32 KB/s
LPAR_NAME    MAC                VLAN  PRIO  IP           IN_PKTS   IN_BYTES     OUT_PKTS  OUT_BYTES
aixmqt01     32:XX:XX:XX:XX:05  155   0     3.X.X.31     223.93/s   30.30 KB/s  199.15/s   69.90 KB/s
aixmqt01     32:XX:XX:XX:XX:05  155   0     3.X.X.32     331.39/s   45.14 KB/s  238.24/s   29.07 KB/s
aixdbprod3   B6:XX:XX:XX:XX:05  200   0     162.X.X.114    9.80/s    4.26 KB/s  193.08/s   31.45 KB/s
…
^C

If necessary, a different interval length (in seconds) can be choosen, instead of the default interval of 10 seconds. To do this, the desired interval length is simply specified as the last argument:

$ vios seastat -V ms19-vio1 ent40 2
VLAN  IN_PKTS   IN_BYTES     OUT_PKTS  OUT_BYTES
155   525.07/s   70.14 KB/s  415.09/s   88.41 KB/s
200    45.56/s    8.51 KB/s   44.64/s    7.66 KB/s
700    11.04/s    0.81 KB/s    0.00/s    0.00 B/s
725     5.52/s  404.96 B/s     0.00/s    0.00 B/s
VLAN  IN_PKTS   IN_BYTES     OUT_PKTS  OUT_BYTES
155   540.14/s   73.11 KB/s  429.53/s   95.59 KB/s
200    64.06/s   15.69 KB/s   69.59/s   16.22 KB/s
700     3.69/s    0.76 KB/s    0.00/s    0.00 B/s
725     1.84/s  377.91 B/s     0.00/s    0.00 B/s
^C

For smaller interval length, the accuracy of the displayed values suffers somewhat. At 2 second intervals the inaccuracy is approx. 10%. However, the relationship between the displayed values is still correct.