LinuxでのCPU使用率を経時的に監視する方法
- Anthony Heddings
- April23,2020,10:00am EDT
top
ユーティリティは、実行中の各プロセスの現在のCPU使用率を表示しますが、これを時間の経過とともに監視してグラフに表示したい場合はどうでしょうか? あうためのユーティリティこの場合はクラウドプロバイダがない一つです。サイドノートとして、まだインストールされていない場合は、htop
ユーティリティ(上の写真)は、デフォルトのtop
よりも使いやすいです。,
簡単な解決策:あなたのクラウドプロバイダのグラフを使用してください
この解決策ははるかに使いやすいですが、誰にでも利用でき AWSを利用している場合、CloudWatchによりCPU使用率の監視が非常に簡単になります。
CloudWatch管理コンソールから、”Metrics”を選択し、EC2のメトリックを表示します。 “CPUUtilization”メトリックには、平均CPU使用率が表示されます。
平均CPU使用率は5分単位で測定されますが、インスタンスの拡張モニタリングを有効にして、1分単位までバンプすることができます。, そうすることは余分にしかし要する。 また、CPU使用率が高すぎるときのアラームを簡単に設定することもできます。
Google Cloud Platformを使用している場合、インスタンスを選択すると、”監視”タブの下にグラフが表示されます。
AzureにはAzure Monitorがあり、同様の情報が表示されます。
他のほとんどのクラウドプロバイダーでは、このようなグラフも表示される可能性があります。
を使用して/proc/loadavg
これをネイティブに行う最良の方法は、top
から情報を取得する場所を調べることです。 /proc/loadavg
には、1分、5分、および15分の平均が含まれます。, あなたはそれをログに記録することができますcat
cat /proc/loadavg/ 1.71 1.32 1.38 2/97 6429
いくつかのawk
magic:
cat /proc/loadavg | awk "{print $1","$2","$3}" >> cpu.csv
これをcron
毎分実行されているジョブは、logrotateでログを回転させ、あなたは自分自身にジェリー装備のcpuモニタを持っています。 CSVファイルをExcelにインポートすると、平均CPU使用率を折れ線グラフで簡単にグラフ化できます。,
上記のコマンドは、1分、5分、および15分の平均を出力します。 毎分実行している場合は、計算上それを把握できるので、5分と15分の平均を印刷する必要はありません。
Sysstatのインストール
sar
ユーティリティは、システムのパフォーマンスを監視するのに最適です。 これは一部として含まれていますsysstat
、おそらくあなたのシステムにデフォルトではインストールされていません。 Distroのパッケージマネージャーから取得する必要があります。, UbuntuのようなDebianベースのシステムでは、次のようになります。
sudo apt-get install sysstat
次に、/etc/default/sysstat
を編集して有効にし、”ENABLED”をtrueに設定します。
そうすることで、システムを監視し、10分ごとにレポートを生成し、一週間後にそれらを回転させます。 この動作を変更するには、/etc/cron.d/sysstat
のsysstat crontabを編集するか、sysstat
の/etc/sysstat/sysstat
の設定で回転設定を変更します。,
次のコマンドでリアルタイムレポートを生成できます。
sar -u 1 3
sysstat
バックグラウンドCPU使用率データを毎分収集し、/var/log/sysstat/
に保存します。 その後、スプレッドシートプログラムまたはsargraphのようなカスタムツールを使用して分析のためにこのデータをインポートすることができます。
ttyplot
のようなグラフをプロットするためのコマンドラインユーティリティを使用することもできますが、GUIほど使いやすい(そして見栄えの良い)ものはありません。, コマンドラインはこの一つでビートです—チャートはより良いです。
Monitは、CPU使用率が高すぎる場合にアラームすることができます
Monitは、サーバーの正常性をチェックし、サーバーのCPU使用率が危険なほど高くなった場合に通知を送信するように構成することができるUnix用のオープンソースの監視スイートです。 詳細については、設定ガイドをお読みください。
CloudWatchは、アラームを使用してすぐに同じことを実現し、CPU使用率だけでなく、複数の異なるメトリックで動作できることに注意してください。,
Anthony HeddingsはLifeSavvy Mediaの常駐クラウドエンジニアであり、テクニカルライター、プログラマー、AmazonのAWSプラットフォームのエキスパートです。 彼は何百万回も読まれているハウツーオタクとCloudSavvyそれのための記事の何百も書かれています。フルバイオを読む”