Linux ツールセットを使用してシステム アクティビティ レポートを作成および配信する方法 - パート 3
システム エンジニアは、多くの場合、1) リソースが最適に利用されていること、2) ボトルネックを防止していること、3) スケーラビリティを確保していることなどを確認するために、システムのリソースの利用状況を示すレポートを作成する必要があります。
ディスク、メモリ、CPU の使用状況をチェックするために使用されるよく知られたネイティブ Linux ツールに加えて、いくつかの例を挙げると、Red Hat Enterprise Linux 7 は、レポート用に収集できるデータを強化するための 2 つの追加ツールセットを提供します。 sysstat とdstat。
この記事では両方について説明しますが、まず古典的なツールの使用法を確認することから始めましょう。
ネイティブ Linux ツール
df を使用すると、ファイル システムごとのディスク容量と i ノードの使用状況をレポートできます。 inode が不足すると、それ以上のファイルを対応するデータにリンクできなくなるのと同じように、スペースが不足するとそれ以上ファイルを保存できなくなります (システムがクラッシュする可能性もあります) ため、両方を監視する必要があります。したがって、これらのファイルをディスクに保存できなくなり、同じ結果が生じます。
df -h [Display output in human-readable form]
df -h --total [Produce a grand total]
df -i [Show inode count by filesystem]
df -i --total [Produce a grand total]
du を使用すると、ファイル、ディレクトリ、またはファイル システムごとにファイル スペースの使用量を見積もることができます。
たとえば、ユーザーのすべての個人ファイルが含まれる /home ディレクトリで使用されている容量を見てみましょう。最初のコマンドは、/home ディレクトリ全体で現在使用されている全体のスペースを返します。一方、2 番目のコマンドは、サブディレクトリごとに細分化されたリストも表示します。
du -sch /home
du -sch /home/*
お見逃しなく:
- Linux のディスク領域の使用状況を確認するための 12 の「df」コマンドの例
- ファイル/ディレクトリのディスク使用量を調べるための 10 の「du」コマンドの例
ツールセットに欠かせないもう 1 つのユーティリティは vmstat です。プロセス、CPU とメモリの使用状況、ディスク アクティビティなどに関する情報を一目で確認できます。
引数なしで実行すると、vmstat は最後の再起動以降の平均を返します。この形式のコマンドを時々使用することもできますが、サンプル間に定義された時間間隔をあけて、一定量のシステム使用率サンプルを次々に取得する方が便利です。
例えば、
vmstat 5 10
5 秒ごとに取得された 10 個のサンプルが返されます。
上の図からわかるように、vmstat の出力は列ごとに分割されています: procs (プロセス)、memory、swap、 >io、システム、およびCPU。各フィールドの意味は、vmstat のマニュアル ページのフィールドの説明 セクションに記載されています。
vmstat はどのような場合に役立ちますか? yum アップデートの前と最中のシステムの動作を調べてみましょう。
vmstat -a 1 5
ディスク上のファイルが変更されると、アクティブメモリの量が増加し、 ディスク(bo)に書き込まれるブロック数と CPU 時間も増加することに注意してください。ユーザープロセス(私たち)専用。
または、大きなファイルをディスクに直接保存するプロセス中 (dsync によって発生):
vmstat -a 1 5
dd if=/dev/zero of=dummy.out bs=1M count=1000 oflag=dsync
この場合、予期されていたとおり、さらに多くのブロックがディスク (bo) に書き込まれていることがわかりますが、待機する必要がある CPU 時間も増加しています。タスク(わ)を処理する前に完了する I/O 操作。
お見逃しなく: Vmstat – Linux パフォーマンス監視
その他の Linux ツール
この章の冒頭で述べたように、システムのステータスと使用率を確認するために使用できるツールは他にもあります ( これらのツールはRed Hat だけでなく、公式にサポートされている他の主要なディストリビューションによっても提供されています)リポジトリ)。
sysstat パッケージには次のユーティリティが含まれています。
- sar (システム アクティビティ情報を収集、レポート、または保存)。
- sadf (sar によって収集されたデータを複数の形式で表示)。
- mpstat (レポート プロセッサ関連の統計)。
- iostat (デバイスとパーティションの CPU 統計と I/O 統計をレポートします)。
- pidstat (Linux タスクの統計レポート)。
- nfsiostat (NFS の入出力統計をレポートします)。
- cifsiostat (CIFS 統計のレポート) および
- sa1 (バイナリ データを収集し、システム アクティビティの日次データ ファイルに保存します。
- sa2 (日次レポートを /var/log/sa ディレクトリに書き込みます) ツール。
一方、dstat は、これらのツールによって提供される機能にいくつかの追加機能を追加し、さらに多くのカウンタと柔軟性を提供します。各ツールの全体的な説明は、yum info sysstat または yum info dstat をそれぞれ実行するか、インストール後に個々のマニュアル ページを確認することで確認できます。
両方のパッケージをインストールするには:
yum update && yum install sysstat dstat
sysstat の主な構成ファイルは /etc/sysconfig/sysstat です。このファイルには次のパラメータがあります。
How long to keep log files (in days).
If value is greater than 28, then log files are kept in
multiple directories, one for each month.
HISTORY=28
Compress (using gzip or bzip2) sa and sar files older than (in days):
COMPRESSAFTER=31
Parameters for the system activity data collector (see sadc manual page)
which are used for the generation of log files.
SADC_OPTIONS="-S DISK"
Compression program to use.
ZIP="bzip2"
sysstat がインストールされると、2 つの cron ジョブが追加され、/etc/cron.d/sysstat で有効になります。最初のジョブは、10 分ごとにシステム アクティビティ アカウンティング ツールを実行し、レポートを /var/log/sa/saXX に保存します。XX は月の日。
したがって、/var/log/sa/sa05 には、毎月 5 日からのすべてのシステム アクティビティ レポートが含まれます。これは、上記の設定ファイルのHISTORY変数のデフォルト値を使用していることを前提としています。
*/10 * * * * root /usr/lib64/sa/sa1 1 1
2 番目のジョブは、毎日午後 11 時 53 分 にプロセス アカウンティングの日次概要を生成し、それを /var/log/sa/sarXX ファイルに保存します。ここで XX は前の例と同じ意味です。
53 23 * * * root /usr/lib64/sa/sa2 -A
たとえば、毎月 6 日の午前 9 時 30 分から午後 5 時 30 分までのシステム統計を .csv に出力するとします。 > LibreOffice Calc または Microsoft Excel を使用して簡単に表示できるファイル (この方法では、チャートやグラフを作成することもできます):
sadf -s 09:30:00 -e 17:30:00 -dh /var/log/sa/sa06 -- | sed 's/;/,/g' > system_stats20150806.csv
あるいは、上記の sadf コマンドで -d の代わりに -j フラグを使用して、JSON でシステム統計を出力することもできます。 形式。これは、たとえば Web アプリケーションでデータを使用する必要がある場合に便利です。
最後に、dstat が提供するものを見てみましょう。引数なしで実行した場合、dstat はデフォルトで -cdngy (それぞれ CPU、ディスク、ネットワーク、メモリ ページ、システム統計の略) を想定し、1 つを追加することに注意してください。 1 秒ごとに 1 行ずつ実行されます (Ctrl + C でいつでも実行を中断できます):
dstat
統計情報を .csv ファイルに出力するには、–output フラグの後にファイル名を指定します。これが LibreOffice Calc でどのように見えるかを見てみましょう:
読みやすいように、PDF 形式の sysstat のマニュアル ページとともに dstat のマニュアル ページを確認することを強くお勧めします。カスタムで詳細なシステム アクティビティ レポートの作成に役立つオプションが他にもいくつかあります。
お見逃しなく: Sysstat – Linux 使用状況監視ツール
まとめ
このガイドでは、システム使用率に関するレポートを作成するために、RHEL 7 で提供されるネイティブ Linux ツールと特定のユーティリティの両方を使用する方法を説明しました。ある時点で、あなたはこれらのレポートを親友として信頼するようになるでしょう。
おそらく、このチュートリアルで取り上げていない他のツールも使用したことがあるでしょう。その場合は、以下のフォームを使用して、他の提案、質問、コメントとともにコミュニティの他のメンバーと自由に共有してください。
お返事おまちしております。