Dennis Williamsonの壮大な作業のおかげで、ethtool-S出力を介して無限の数のNICの平均スループットを計算できるようになりました。詳細はこちらをご覧ください:
現在、平均スループットは非常に便利なサイジングツールですが、同じ期間のトラフィックの最大バーストも決定する必要があります。トラフィックの95%を占めることはすべてうまくいっていますが、各NICが確認する最大バーストの簡単で正確な測定値を取得できない場合、残りの5%を占めることはできません。
デニスはそれをすべてawkで書いたが、残念ながら私はあまり精通していない。私は彼の既存のコードを変更して自分のやりたいことをすることができなかった。これをbashで行うことは可能ですか?
参考までに、解析する必要のあるサンプルログファイルをここで見つけることができます:http: //pastebin.com/p1pwZeBN
デニスのコードはここにあります:
awk '
BEGIN {
OFMT = "%.4f"
}
/^[[:blank:]]*$/ { next }
! ($1 in prevrx) {
prevrx[$1] = $2
prevtx[$1] = $3
next
}
{
count[$1]++
drx = $2 - prevrx[$1]
dtx = $3 - prevtx[$1]
rx[$1] += drx
tx[$1] += dtx
prevrx[$1] = $2
prevtx[$1] = $3
}
END {
for (iface in rx) {
print iface, rx[iface] / count[iface], tx[iface] / count[iface]
}
}'
よろしくお願いします!:)
編集::私が見たいものを詳しく説明するのに役立つ例として。新しいスクリプトがログファイルを解析できる場合(たとえば、DMZインバウンドの場合)、最大のデルタが121行目と113行目のIEの間にあると判断する必要があります。
DMZ 36195731362 vs DMZ 36195255177
= 668659 / 131072 = 5.1~mbps