Solaris 10でネットワーク統計を取得する

Solaris 10でネットワーク統計を取得する

Solaris 10でネットワーク統計を取得しようとしています。

Linuxで作業するときに行うことは次のとおりです。

02:42:06  IST     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
02:42:07  IST    ens192      8.00      0.00      0.52      0.00      0.00      0.00      1.00
02:42:07  IST        lo     43.00     43.00      7.98      7.98      0.00      0.00      0.00

これに関連する問題は、ユーザーがプレインストールされたパッケージに加えて追加のパッケージをインストールすることを期待できないことです。

私が試したこととその質問は次のとおりです。

  • dladm ショー -dev -s:送受信したパッケージの総数を表示します。 1秒ごとに送受信する必要があります。
  • dladm ショー -dev -s -i 1:止まらないでしょう。スクリプトはSplunkでデータをさらにインデックス付けする必要があるため、これは許可されません。
  • 統計:このコマンドは問題を解決しますが、Solarisにはプリインストールされていません。
    • ここに質問があります::Solarisにdlstatをインストールする方法はありますか?
  • ニックススター: Solaris 10 または 11 にはプリインストールされません。

追加のパッケージをインストールせずにこれらのフィールドを取得する方法はありますか?

注:この場合、送受信されたパッケージの総数を手動で減算することは信頼できず、追加の実装は承認されません。

よろしくお願いします。

答え1

dladm show-dev -s ...必要な統計を生成する場合は、dladm show-dev -sオプションなしでコマンドを使用して-i 1一度だけ印刷するか、現在の使用量のスナップショットを取得するために複数行の出力が必要な場合はコマンドをタイムアウトすることができます。

最も簡単な方法はこのtimeoutユーティリティを使用することですが、Solaris 10で動作しているかどうかはわかりません。

timeout 5 dladm show-dev -s -i 1

またはbashで(Solaris 10で利用可能):

( dladm show-dev -s -i 1 ) & sleep 5; kill $!

(また、dladmSolaris 11のコマンドはSolaris 10のコマンドとは大きく異なります。Solaris 11には適用されないdladmようです。)dladm show-dev -s ...

答え2

あなたが探しているコマンドはnetstat -iSolaris 10コマンドまたはそのバリエーションだと思います。

dlstatSolaris 11 コマンドです。

私はnicstatがSolaris 10の一部ではないことについてあなたが正しいと信じています。 v8で使用するためにソースコードをダウンロードしてコンパイルしたことを覚えておいてください。 Solaris 11 には次のパッケージがあります: pkg:diagnostic/nicstat

答え3

kstatユーティリティを使用できます。 Solaris 10 と Solaris 11 では変数が異なります。以下は共通コードです。

KSTAT=$(kstat -p -c net '::mac:obytes64';  echo solaris10 globzone sent  >/dev/null
        kstat -p -c net '::mac:rbytes64';   echo solaris10 globzone rsv  >/dev/null
        kstat -p -c net '::phys:obytes64';  echo solaris11 globzone sent >/dev/null
        kstat -p -c net '::phys:rbytes64';  echo solaris11 globzone rcv  >/dev/null)

$KSTAT=$(echo "${KSTAT}" | sed 's/:[a-z]*:.*bytes64//; s/://; /vnic/d; /vsw/d;')

変数例 KSTAT は、送受信トラフィックで構成されます。

$ echo "$KSTAT"
igb0    1381124551259
igb1    0
igb2    0
igb3    0
usbecm2 509924057
igb0    803508091598
igb1    0
igb2    0
igb3    0
usbecm2 1007403041

これらすべてのカウンターは常に増加しています。人間が読める統計をキャプチャするために時間分析を実行できます。

また、非大域ゾーンがある場合この統計は専用 IP スタックにのみ使用できます。。共有IPスタックのすべてのゾーンは同じ統計を持ちます。

関連情報