サーバーチェックの魔法のコマンド

KUSANAGI

特定の日付のエラーを確認する

zcat access.log-20190529.gz | grep "2019" | awk '{if ($12>=499) print $12}' | sort | uniq -c 

意味
access.log-20190529.gzというファイルの中の499以上のエラーを出力させ、重複を削除しわかりやすく並べ替える。

オプションの説明

zcat
gzipコマンドで圧縮されたファイルに対して利用できる「cat」コマンド 

awk
空白などで区切られたテキストを処理するコマンド 
Linux環境で使用されているのは、gawkコマンドがだが、
CentOS 7の場合、awkは/usr/bin/gawkへのシンボリックリンク。 
awk ‘{if ($12>=499) print $12}’ 
もし、499以上の数字(エラーコード)の場合は、出力する。 

sort 
テキストファイルを行単位で並べ替える 
他のコマンドの実行結果を並べ替える。 
「パイプ(|)」と組み合わせることで、コマンドの出力結果を並べ替えることができます。

uniq 
重複している行を削除
オプション:-c    は、各行の前に出現回数を出力
logのディレクトリに行ってから実施しましょう。KUSANAGIの場合(Nginx使用)は、以下です。

/home/kusanagi/プロファイル名/log/nginx

負荷の確認

sar -f /var/log/sa/sa29 

意味
過去の日付は1ヶ月以内であれば、遡ることができ、
29日の場合は $ sar -f /var/log/sa/sa29 。(末尾の2桁が日付の数値)

いわゆる「さー」と言うやつです。

見方
数値の見方ですが、%user が負荷、%idle が余力 として見る。 
負荷があがるにつれて、%user は 100 に近づき逆に %idle は 0に近づきます。 
(%user が 50 を超えるようになったりすると、ある程度対策の検討が必要といえる。)

 このサイトのsarを見てみました。(5月29日15:00〜19:00)

15時20分01秒     CPU     %user     %nice   %system   %iowait    %steal     %idle
15時30分01秒     all      4.67      0.00      1.41      2.06      0.02     91.84
15時40分01秒     all      2.59      0.00      0.80      1.16      0.01     95.44
15時50分01秒     all      6.81      0.00      1.88      2.16      0.02     89.12
16時00分01秒     all      8.93      0.00      2.46      2.88      0.03     85.71
16時10分01秒     all      0.26      0.00      0.10      0.03      0.00     99.61
16時20分01秒     all      2.59      0.00      0.82      1.29      0.02     95.28
16時30分01秒     all      4.53      0.00      1.20      1.20      0.01     93.06
16時40分01秒     all      5.00      0.00      1.47      2.14      0.02     91.37
16時50分01秒     all      9.29      0.00      2.59      4.07      0.03     84.01
17時00分01秒     all      2.43      0.00      0.72      1.03      0.01     95.81
17時10分01秒     all      6.94      0.00      1.95      2.30      0.02     88.79
17時20分02秒     all      6.83      0.00      1.88      2.21      0.02     89.06
17時30分01秒     all      4.58      0.00      1.28      1.53      0.01     92.59
17時40分01秒     all      2.48      0.00      0.69      0.69      0.01     96.14
17時50分01秒     all      3.86      0.00      1.22      1.88      0.02     93.02
18時00分01秒     all      3.09      0.00      0.82      0.77      0.01     95.30
18時10分01秒     all      6.15      0.00      1.74      2.09      0.02     90.01
18時20分01秒     all      0.73      0.00      0.20      0.05      0.00     99.01
18時30分01秒     all      2.50      0.00      0.77      1.15      0.01     95.57
18時40分01秒     all      0.08      0.00      0.07      0.03      0.00     99.81
18時50分02秒     all      4.88      0.00      1.35      1.48      0.02     92.28
19時00分01秒     all      4.61      0.00      1.28      1.52      0.02     92.57
19時10分01秒     all      4.79      0.00      1.41      1.50      0.02     92.29

%userが50を超えているところはなさそうなので、サーバーの負荷的には大丈夫そうですが、アクセスが少ないってことですね。。。
この中で一番負荷が高かったのは16時50分01秒でした。

オプションの説明

%user
ユーザが利用しているCPU使用率

%idle
待機中のCPU使用率

自分のサイトでもたまに見てみると面白いですし、サーバーかなりヤバいじゃん!と気づくこともできると思います。
コマンド1つだけですから簡単(*_*)

コメント

タイトルとURLをコピーしました