web-dev-qa-db-ja.com

サドフの時刻をエポック形式で表示する方法

私はubuntuとcentosの間のsadfに問題があります。問題は、両方で日付がどのように表示されるかです。

Ubuntu:

root@db1:/usr/local/nagios/libexec/nrpe_local# sadf | head -10
db1.oas3.realmedia.xstrat.us  300   2014-05-15 03-05-01 UTC all     %%user  0.14
db1.oas3.realmedia.xstrat.us  300   2014-05-15 03-05-01 UTC all     %%Nice  0.00

Centos:

[root@ui1 jboss]# sadf | head -5
ui1.oas3.realmedia.xstrat.us    595     1400123401      all     %user   1.00
ui1.oas3.realmedia.xstrat.us    595     1400123401      all     %Nice   0.00

Centos(Epoch時間)で表示されるので、ubuntuで時間を表示する必要があります。

この問題を解決できる構成ファイルを見つけることができませんでした。

3
mijhael3000

sadfのマンページをチェックして、エポック時間からの秒数を表示するオプションを正確に確認する必要があります。sysstatのバージョンには違いがあります。

私のUbuntu12.04.4 LTSの場合:

$ sadf -V
sysstat version 10.0.3
(C) Sebastien Godard (sysstat <at> orange.fr)

このバージョンでは、エポック時間を表示するオプションは-Tです。

-T     Display timestamp (UTC - Coordinated Universal Time) in  seconds
       from the Epoch.

ただし、 sysstat 8.1.2-2 の場合、このオプションは-Dです。

-D     This  option  is  equivalent to option -d below, except that the
       timestamp  is  always  expressed  in  seconds  since  the  Epoch
       (00:00:00 UTC 01/01/1970).
6
cuonglm

なんらかの奇妙な理由で、Gnoucによって提案されたフラグがシステムに存在しない場合は、いつでもdateを使用してsadf出力を解析し、エポック時間に変換できます。

$ sadf | Perl -plae '/.+? .+? (.+?) (.+?)/; $d=$1; $t=$2; $d=~s/-/\//g; 
                    $t=~s/-/:/g; $k=`date -d "$d $t $F[4]" +%s`; chomp($k); 
                    s/$F[2] $F[3] $F[4]/$k/'
db1.oas3.realmedia.xstrat.us  300   1400205600 all     %%user  0.14
db1.oas3.realmedia.xstrat.us  300   1400205600 all     %%Nice  0.00

または、フォーマットを正確に維持する必要はないが、空白を失う可能性がある場合:

$ sadf | while read a b date time zone rest; do 
    date=$(date -d "${date//-//} ${time//-/:} $zone" +%s); 
    printf "%s %s %s %s\n" "$a" "$b" "$date" "$rest"; 
 done
db1.oas3.realmedia.xstrat.us 300 1400123101 all     %%user  0.14
db1.oas3.realmedia.xstrat.us 300 1400123101 all     %%Nice  0.00
0
terdon

Ubuntuで私のために働いたオプションは-Tです:

root@db1:/usr/local/nagios/libexec/nrpe_local# sadf -T | head -10 db1.oas3.realmedia.xstrat.us 300 1400123101 all %%user 0.14 db1.oas3.realmedia.xstrat.us 300 1400123101 all %%Nice 0.00

どうもありがとう!

0
mijhael3000