システム管理者の一般的なタスクは、サーバーを監視して管理することです。これはすぐに行うのはかなり簡単ですが、この情報を長期にわたって記録する方法はありますか?サーバーを監視する1つの方法は、Sysstatパッケージを使用することです。
Sysstatは、実際にはLinuxインストールのパフォーマンスに関する情報を収集し、それらを経時的に記録するように設計されたユーティリティのコレクションです。
多くのディストリビューションにパッケージとして含まれているため、インストールもかなり簡単です。
CentOSにSysstatをインストールする
Centos6またはCentOS7にSysstatをインストールするには、次のように入力します。
yum install sysstat
Sysstatシステムモニターの使用
これで、sysstatスクリプトがシステムにインストールされました。 sarコマンドを試してみましょう。
sar
11:00:02 AM CPU %user %nice %system %iowait %idle 11:10:01 AM all 0.00 0.00 0.00 0.00 99.99 Average: all 0.00 0.00 0.00 0.00 99.99
Linuxカーネル、ホスト名、日付など、いくつかの情報が報告されます。
さらに重要なことに、システムで費やされているCPU時間がさまざまな方法で表示されます。
%user、%nice 、%system、%iowait、および%idleは、CPUを利用する方法を示します。
%userおよび%niceは、MySQLやApacheなどのソフトウェアプログラムを指します。
%systemはカーネルを指します。 €™の内部動作。
%iowaitは、ディスクの読み取りや書き込みなど、入出力の待機に費やされる時間です。最後に、カーネルはスケジュール可能な実行可能時間の100%を占めるため、未使用の時間はすべて%idleになります。
上記の情報は、1秒間隔で表示されます。その情報を長期にわたって追跡するにはどうすればよいですか?
システムが%iowaitで常に大量に実行されている場合、ディスクが過負荷になっている、または故障していると推測される可能性があります。
少なくとも、調査する。
では、どのようにして情報を経時的に追跡するのでしょうか。 sarを定期的に、たとえば10分ごとに実行するようにスケジュールできます。
次に、後でレポートするために、出力をsysstatの特別なログファイルに送信するように指示します。
これを行う方法は次のとおりです。 Cronデーモンを使用します。
/etc/cron.dにsysstatというファイルを作成することで、cronに毎日sarを実行するように指示できます。
幸い、yumがインストールしたSystatパッケージはすでにこの手順を実行してくれました。
more /etc/cron.d/sysstat
# run system activity accounting tool every 10 minutes */10 * * * * root /usr/lib/sa/sa1 1 1 # generate a daily summary of process accounting at 23:53 53 23 * * * root /usr/lib/sa/sa2 -A
sa1スクリプトはsar出力をsysstatのバイナリログファイル形式に記録し、sa2はそれを人間が読める形式で報告します。
レポートは/ var / log/saのファイルに書き込まれます。
ls /var/log/sa
sa17 sar17
sa17はバイナリsysstatログ、sar17はレポートです。 (本日の日付は17日です)
sarレポートには非常に多くの情報が含まれていますが、サーバーのビジー状態を示す値がいくつかあります。
監視する値は、スワップ使用量、ディスクIO待機、および実行キューです。
これらは、sarを手動で実行することで取得できます。これにより、これらの値が報告されます。
sar
11:00:02 AM CPU %user %nice %system %iowait %idle 11:10:01 AM all 0.00 0.00 0.00 0.00 99.99 11:20:01 AM all 0.00 0.00 0.00 0.00 100.00 11:30:02 AM all 0.01 0.26 0.19 1.85 97.68 11:39:20 AM all 0.00 2.41 2.77 0.53 94.28 11:40:01 AM all 1.42 0.00 0.18 3.24 95.15 Average: all 0.03 0.62 0.69 0.64 98.02
%iowait列でディスクアクティビティが高い瞬間がいくつかありましたが、それはあまり長くそのようにとどまりませんでした。平均0.64はかなり良いです。
スワップの使用法はどうですか、RAMが不足していますか?時々スワップアウトされるLinuxカーネルでは、スワップアウトされるのは正常です。絶え間ないスワッピングは悪いことであり、一般的にはより多くのRAMが必要であることを意味します。
sar -W
11:00:02 AM pswpin/s pswpout/s 11:10:01 AM 0.00 0.00 11:20:01 AM 0.00 0.00 11:30:02 AM 0.00 0.00 11:39:20 AM 0.00 0.00 11:40:01 AM 0.00 0.00 11:50:01 AM 0.00 0.00 Average: 0.00 0.00
いいえ、見栄えがします。永続的なスワッピングは行われません。
システム負荷はどうですか?プロセスがCPUで実行するのに時間がかかりすぎていませんか?
sar -q
11:00:02 AM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 11:10:01 AM 0 47 0.00 0.00 0.00 11:20:01 AM 0 47 0.00 0.00 0.00 11:30:02 AM 0 47 0.28 0.21 0.08 11:39:20 AM 0 45 0.01 0.24 0.17 11:40:01 AM 0 46 0.07 0.22 0.17 11:50:01 AM 0 46 0.00 0.02 0.07 Average: 0 46 0.06 0.12 0.08
いいえ、.06の平均負荷は本当に良いです。右側に1、5、および15分の間隔があることに注意してください。 3つの時間間隔があると、システムがどの程度の負荷を担っているのかを感じることができます。 1分間の平均で3または4は問題ありませんが、15分間の列に同じ数値がある場合は、作業が完了していないことを示している可能性があり、詳しく調べる必要があります。
これはSysstatパッケージの概要です。
sarの3つの属性の出力のみを確認しましたが、他にもあります。これで、ツールボックスにsarが追加され、システム管理作業が少し簡単になりました。