Linux の総合システム監視ツール dstat の詳細な例

Linux の総合システム監視ツール dstat の詳細な例

オールラウンドなシステム監視ツール dstat

dstat は、vmstat、iostat、netstat、ifstat コマンドを置き換えることができる多機能製品です。 dstat はこれらのコマンドの制限を克服し、いくつかの追加機能を追加し、監視項目を増やし、より柔軟になります。 dstat は、システムの健全性を監視するための便利なツールであり、ベンチマークやトラブルシューティングに使用できます。

dstat を使用すると、すべてのシステム リソースをリアルタイムで確認できます。たとえば、IDE コントローラーの現在のステータスをカウントしてディスク使用率を比較したり、ネットワーク帯域幅の値 (同じ時間間隔内) でディスク スループットを直接比較したりできます。

dstat はオプションに関する情報を表形式で提供し、出力がどの範囲と単位で表示されるかを明確に示します。これにより、情報の混乱や誤報をより適切に回避できます。さらに重要なのは、必要なデータ情報を収集するためのプラグインの作成が容易になり、これまで不可能だった方法で拡張できることです。

Dstat のデフォルトの出力は、人間がリアルタイムで表示できるように設計されていますが、詳細を CSV ファイルにエクスポートし、Gnumeric または Excel にインポートして表を生成することもできます。

特性

  • vmstat、iostat、ifstat、netstatなどからの情報を組み合わせます
  • 統計のリアルタイム表示
  • 分析やトラブルシューティングを行う際に、監視項目を有効にして並べ替えることができます。
  • モジュラー設計
  • Pythonで書かれているので、既存のタスクを拡張するのに便利です
  • 簡単に拡張してカウンターを追加できます (ぜひご協力ください)
  • 多数の拡張機能により、新しい監視項目を簡単に追加できます。
  • ブロックデバイス/ネットワークデバイスをグループ化し、合計数を表示できます
  • 各デバイスの現在のステータスを表示できます
  • 極めて正確な時間精度、システムの負荷が高い場合でも表示の遅延なし
  • 正確な単位を表示し、変換エラーを最小限に抑えます
  • 異なるユニットを示すために異なる色を使用する
  • 中間結果の表示の遅延は1秒未満です
  • CSV形式のレポートのエクスポートをサポートし、GnumericやExcelにインポートしてグラフィックを生成することができます。

インストール方法

1. CentOSでは、yum -y instatll dstatを実行できます。

2. インストール用のrpmパッケージをダウンロードする

http://packages.sw.be/dstat/dstat-0.7.2-1.el5.rfx.noarch.rpm で実行します。

rpm -ivh dstat-0.7.2-1.el5.rfx.noarch.rpm

使い方

dstat の基本的な使用方法は、dstat コマンドを入力することです。出力は次のようになります。

デフォルトの出力は次のようになります。

デフォルトでは、次の 5 つの領域があります。

1. --total-cpu-usage----CPU 使用率

usr: ユーザー空間内のプログラムの割合。

sys: システムスペースプログラムの割合。

idel: アイドル率;

待機: ディスク I/O の待機に費やされた時間の割合。

hiq: ハード割り込みの数;

siq: ソフト割り込みの数;

2. -dsk/total-disk 統計

読み取り: 読み取り総数

書き込み: 書き込み総数

3. -net/total- ネットワーク統計

recv: 受信したネットワークパケットの総数

送信: 送信されたネットワークパケットの合計数

4. ---ページング-- メモリページング統計

in: ページイン

アウト: ページアウト

注: システム ページング アクティビティ。ページングとは、システムシナリオを見つけるために使用されるメモリ管理手法を指します。ページが大きいほど、システムが大量のスワップ領域を使用していることを示します。通常、システムがスワップ領域を使い始めたときは、メモリが不足しているか、メモリが非常に断片化されていることを意味します。理想的には、ページインとページアウトの値は 0 0 です。

5. --system--システム情報

int: 中断回数

csw: コンテキストスイッチ

注: 割り込み (int) とコンテキスト スイッチ (csw)。この統計は、比較のための基準がある場合にのみ意味を持ちます。この列の統計値が高い場合、通常、多数のプロセスが輻輳を引き起こしており、CPU に注意を払う必要があることを示します。通常、サーバーでは何らかのプログラムが実行されているため、この項目には常に何らかの値が表示されます。

デフォルトでは、dstat は 1 秒ごとにデータを更新し、データの更新と出力を続けます。Ctrl+C を押して「dstat」を終了します。

dstat には多くの特定のパラメータがあり、それらは man dstat コマンドを通じて表示できます。

一般的なパラメータは次のとおりです。

dstatが使用できるすべてのパラメータはdstat --listで確認できます。

  • -l : 負荷統計を表示する
  • -m: メモリ使用量を表示します(使用済み、バッファ、キャッシュ、空き値を含む)
  • -r : I/O統計情報を表示する
  • -s: スワップパーティションの使用状況を表示
  • -t : 最初の行に現在の時刻を表示します
  • –fs : ファイルシステムの統計情報を表示します(ファイルの総数とinode値を含む)
  • –nocolor : 色を表示しない(便利な場合がある)
  • --socket : ネットワーク統計情報を表示する
  • –tcp : 一般的なTCP統計情報を表示する
  • –udp: 監視対象のUDPインターフェースの動的データと現在の使用状況を表示します。

もちろん、これらの用途以外にもさまざまなものがあります。dstat には、機能を大幅に拡張するプラグインがいくつか付属しています。 /usr/share/dstat ディレクトリを調べると、それらの使用法の一部を確認できます。よく使用されるものは次のとおりです。

  • -–disk-util: 特定の時間におけるディスクの使用状況を表示します
  • -–freespace: 現在のディスク容量の使用状況を表示する
  • -–proc-count : 実行中のプログラムの数を表示する
  • -–top-bio : ブロックI/Oが最も大きいプロセスを示します
  • -–top-cpu : CPUを最も多く使用するプロセスをグラフィカルに表示します
  • -–top-io: 通常I/Oが最も大きいプロセスを表示します
  • -–top-mem : 最も多くのメモリを使用するプロセスを表示します

アプリケーション例:

dstat のデフォルトの監視およびレポート出力間隔は 3 秒で、レポートには 10 件の結果が出力されます。

# dstat 3 10

メモリを占有しているユーザーを確認します。

# dstat -g -l -m -s --top-mem

CPU リソースの消費に関するデータを表示します。

# dstat -c -y -l --proc-count --top-cpu
csv ファイルを出力する方法# dstat --output /tmp/sampleoutput.csv -cdn

注: 出力された csv ファイルは、Windows の Excel で開いてグラフを生成できます。

要約する

上記は、編集者が紹介した Linux 汎用システム監視ツール dstat の詳細な例です。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。編集者がすぐに返信します。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

以下もご興味があるかもしれません:
  • Linux の運用と保守で netstat の代わりに ss コマンドを使用する方法
  • Linux mpstat コマンドの使用方法の詳細な説明
  • Linux パフォーマンス デバッグ vmstat 分析
  • Linux stat関数の説明(構成)
  • Linux でファイル属性を表示する詳細な例 (ls、lsattr、file、stat)
  • Linuxでnetstatを使用してネットワークステータスとポートステータスを表示する
  • Linux での stat 関数と stat コマンドの使用法の詳細な説明

<<:  MySQL データのバックアップと復元のサンプル コード

>>:  MySQL のデータベース パフォーマンスに影響を与える要因の説明

推薦する

Docker+jenkins+python3環境を使用して非常に詳細なチュートリアルを構築する

序文:自動化を記述した後、毎日サーバー上で実行する必要があります。このような問題に遭遇しました。Je...

ネイティブ js で呼び出し、適用、バインドを実装する方法

1. 呼び出しを実装するステップ:関数をオブジェクトのプロパティとして設定します。これを関数に割り当...

Linuxネットワーク構成ツールの使用

この記事では、RHEL8 のネットワーク サービスとネットワーク構成ツール、およびネットワーク ファ...

Nginx の書き換え正規マッチング書き換え方法の例

Nginx の書き換え機能は、リダイレクトと同様に、URL アドレスを一時的または永続的に新しい場所...

Vueコンポーネント通信方法事例まとめ

目次1. 親コンポーネントが子コンポーネントに値を渡す(props) 2. サブコンポーネントは親コ...

IIS 7.5はURL書き換えモジュールを使用してWebページのリダイレクトを実現します。

Apache では構成ファイルで Web ページまたは Web サイトの書き換えを簡単に設定できる...

CSS3 レーダースキャンマップのサンプルコード

CSS3 を使用して、クールなレーダースキャン画像を実現します。 コード上で直接: // インデック...

Alibaba Cloud Server で MySQL デュアルマシン ホットスタンバイを手動で実装する 2 つの方法

1. コンセプト1. ホットバックアップとバックアップの違いホット バックアップは高可用性 (HA)...

jQueryはキャンバスタグを使用して検証コードを描画します

<canvas> 要素は、クライアント側のベクター グラフィックス用に設計されています。...

Centos7 esxi6.7 テンプレートの実際のアプリケーションの詳細な説明

1. Centos7.6システムを作成し、システムを最適化する1. NetworkManagerをオ...

Vue はインターフェースのスライド効果を実装します

この記事では、インターフェースのスライド効果を実現するためのVueの具体的なコードを例として紹介しま...

数千万データを持つMySQLテーブルを最適化する実践記録

序文まずここで説明させてください。インターネット上では、Alibaba では 500 万のデータを異...

js を使用して XML オンライン エディターを作成する例

目次序文オンラインXMLエディタの必要性テクノロジー事前調査ビジュアルプログラミングVSCODEプラ...

MySQL 5.6.36 Windows x64 バージョンのインストールチュートリアルの詳細

1. 対象環境Windows 7 64ビット2. 材料(1)VC++2010リリースパッケージ(64...

docker を使用して Linux 環境に Springboot パッケージをデプロイするチュートリアル

springboot には tomcat サーバーが組み込まれているため、jar パッケージにパッケ...