ログ出力しきい値の設定

ログ出力しきい値の設定

awkログを確認し、I/O 出力をモニターする必要があります。ログは毎秒生成されます。 1秒あたりに生成されたログを監視するのに苦労しているようです。次の場合、その行の出力のみを提供するコマンドを探しています。 210.00以上のしきい値を超えるか180.00未満に低下します。

しきい値を超える唯一の出力を取得する方法はありますか?

出力例:

Jun 20, 2016  interval        i/o   MB/sec   bytes   read     resp     read    write     resp     resp queue  cpu%  cpu%
                             rate  1024**2     i/o    pct     time     resp     resp      max   stddev depth sys+u   sys
13:28:40.040      6571     190.00    23.75  131072  77.89   80.840   80.827   80.885   90.911    2.783  15.4   0.1   0.1
13:28:41.041      6572     198.00    24.75  131072  79.29   80.800   80.491   81.984   94.508    2.865  16.0   0.0   0.0
13:28:42.041      6573     198.00    24.75  131072  85.35   80.803   80.719   81.295   90.176    2.650  16.0   0.0   0.0
13:28:43.041      6574     198.00    24.75  131072  79.29   80.813   80.789   80.902   92.090    2.687  16.0   0.0   0.0
13:28:44.041      6575     197.00    24.63  131072  80.20   81.195   81.020   81.905   91.351    3.385  16.0   0.0   0.0
13:28:45.041      6576     198.00    24.75  131072  85.35   80.805   80.814   80.752   90.865    2.795  16.0   0.0   0.0
13:28:46.040      6577     198.00    24.75  131072  80.81   80.816   80.733   81.166   94.233    2.946  16.0   0.0   0.0
13:28:47.040      6578     198.00    24.75  131072  78.28   80.810   80.746   81.042   91.541    2.882  16.0   0.0   0.0
13:28:48.040      6579     198.00    24.75  131072  79.29   80.784   80.788   80.770   92.255    2.799  16.0   0.1   0.0
13:28:49.041      6580     197.00    24.63  131072  82.23   80.811   80.637   81.619   94.005    3.311  16.0   0.0   0.0
13:28:50.041      6581     199.00    24.88  131072  81.41   80.829   80.678   81.489   90.607    2.851  16.0   0.0   0.0

答え1

列3のすべての行が制限を超えるようにするには、次のようにします。

awk '$3>=210 || $3<=180 {print}'

データが再び制限内に戻るまで最初の行だけが必要な場合は、次のようにします。

awk '$3>=210 { if(!hi)print; hi=1; lo=0; next } 
     $3<=180 { if(!lo)print; lo=1; hi=0; next }
     { hi = 0; lo = 0 }'

関連情報