Linux管理者になるのは簡単な仕事ではありません。システムを稼働させ続けるには、多くの時間、忍耐、そしてハードワークが必要です。しかし、Linuxシステム管理者は、コマンドライン監視ツールの形でいくつかの助けを持っているので、少し息を呑むことができます。これらのツールは、Linuxサーバーのパフォーマンスを監視し、異常が見つかった場合は修正するのに役立ちます。この記事では、Linuxのパフォーマンスを監視するための上位12のコマンドラインツールについて説明します。
1)トップ
間違いなく、一番上のコマンドはLinuxを監視するための一番のコマンドラインツールです。これは、世界中のLinuxシステム管理者によって最も広く使用されているコマンドの1つです。実行中のすべてのプロセスに関する詳細を順序付きリストですばやく提供します。リストもリアルタイムで更新され続けます。プロセス名だけでなく、メモリ使用量やCPU使用率なども表示されます。
2)vmstat
vmststは、リストの2番目の位置を占めるコマンドラインユーティリティです。その主なタスクは、仮想メモリの統計を表示するために使用されます。また、すべてのシステムプロセス、CPUアクティビティ、ページング、ブロックIO、カーネルスレッド、ディスクなどのさまざまな情報を表示するのにも役立ちます。vmstatは、ほとんどすべてのLinuxディストリビューションのデフォルトのインストールの一部であるため、インストール後すぐに利用できます。 。
3)lsof
システムで現在開かれているすべてのファイルを確認する場合は、lsofコマンドを使用する必要があります。また、現在使用されているすべてのプロセスを監視するためにも使用されます。このコマンドの主な利点の1つは、ディスクをアンマウントできないときに、管理者が現在使用中のファイルを確認できることです。このコマンドを使用すると、これらのファイルを簡単に識別できます。 lsofコマンドは、デフォルトのLinux OSインストール後は使用できないため、最初に次のコマンドを使用してインストールする必要があります。
CentOS/RHELの場合
$ sudo yum install -y lsof // CentOS 7 /RHEL7以前$sudodnf install -y lsof // CentOS 8 / RHEL 8
Ubuntu/Debianの場合
$ apt-get install -y lsofOr $ apt-get install -y lsof
lsofコマンドを使用するには、lsofと入力し、Enterキーを押します
4)tcpdump
Tcpdumpは、Linuxシステム管理者とネットワークエンジニアがネットワーク経由で転送されるすべてのTCP/IPパケットを監視できるようにするもう1つのコマンドラインユーティリティです。 tcpdumpを使用すると、将来の分析のためにすべてのパケットを別のファイルに保存することもできます。
TcpdumpはデフォルトのOSインストールの一部ではないため、使用を開始する前に、次のコマンドを使用して最初にインストールしてください。
$ sudo yum install tcpdump -y // CentOS 7 /RHEL7以前$sudodnf install tcpdump -y // CentOS 8 / RHEL 8 $ sudo apt install tcpdump -y // Ubuntu / Debian
特定のインターフェースでパケットのキャプチャを開始するには、次のコマンドを実行します。
#tcpdump -i enp0s3
5)netstat
Netstatは、ネットワークのトラブルシューティングに使用される最も古いコマンドラインユーティリティの1つです。 netstatを使用すると、ネットワーク接続、ルーティングテーブル、イーサネットカードの統計、およびマスカレード接続を簡単に見つけることができます。つまり、ネットワーク関連の問題をすばやくトラブルシューティングするのにも役立ちます。最新のLinuxディストリビューションでは、netstatはデフォルトのインストールの一部ではありません。以下のコマンドを使用して、さまざまなLinuxディストリビューションにインストールします。
CentOS 8 /RHEL8の場合
$ sudo dnf install net-tools -y
Ubuntu/Debianの場合
$ sudo apt install -y net-tools
次のコマンドを実行して、Linuxシステム上のすべてのtcp接続を一覧表示します。
#netstat -tunlp
6)htop
htopコマンドは、Linuxシステムのさまざまな重要なリソースのリアルタイム監視を提供するもう1つの機能豊富なコマンドラインユーティリティです。 topコマンドと比較すると、htopは非常に即興的なバージョンであり、理解しやすいように色分けされた出力も提供します。また、水平方向と垂直方向の両方の表示をサポートし、管理者がプロセスを管理することもできます。
Linuxシステムにhtopをインストールするには、次のコマンドを実行します。
$ sudo yum install -y htop // CentOS 7 /RHEL7以前$sudodnf install -y htop // CentOS 8 /RHEL8以前$sudoapt install -y htop >htopコマンドの出力例:
$ htop
7)iotop
iotopは、管理者がディスクI/Oの使用状況の詳細を監視できるようにするもう1つの無料のコマンドラインユーティリティです。 topおよびhtopコマンドに似ていますが、iotopの主な利点の1つは、システム内の特定のスレッドまたはプロセスの詳細を提供することです。したがって、システム管理者は、サーバーに対して多くのI/O書き換えを引き起こしているプロセスを簡単に特定できます。
さまざまなLinuxディストリビューションにiotopをインストールするには、
を実行します。$ sudo dnf install -y iotop // CentOS 8 / RHEL 8 $ sudo yum install -y iotop // CentOS 7 / RHEL 7 $ sudo apt install -y iotop // Ubuntu / Debianiotopユーティリティの使用を開始するには、コマンドラインでiotopと入力し、Enterキーを押します。
$ iotop
8)iostat
名前が示すように、iostatは、デバイスとパーティションの両方のシステム入力/出力に関する詳細な統計を提供するLinuxコマンドラインツールです。 Linuxシステム管理者は、このコマンドラインツールを使用して、ローカルディスクとリモートディスク(NFS)の両方のパフォーマンスを監視することもできます。
iostatの出力例を以下に示します。
$ iostat
9)goaccess
Goaccessは、オープンソースのリアルタイムログビューアおよびアナライザのコマンドラインツールです。ほとんどすべてのLinuxディストリビューションで利用できます。すべてのウェブサーバー(Nginx、Apache、Amazon S3、CloudFrontなど)のリアルタイムログを表示するために使用できます。
CentOS 8 /RHEL8へのGoaccessのインストール
$ wget https://pkgs.dyn.su/el8/base/x86_64/goaccess-1.3-3.el8.x86_64.rpm $ sudo dnf localinstall goaccess-1.3-3.el8.x86_64.rpm -yUbuntu/Debianの場合
$ sudo apt get install goaccessリアルタイムのApacheWebサーバーのログを分析するには、次のgoaccessコマンドを実行します
$ sudo goaccess / var / log / httpd / access_log --log-format =COMBINED
10)一瞥
Glancesは、Linuxシステムを監視するための無料のクロスプラットフォームコマンドラインツールです。 Glanceは、ほとんどすべてのLinuxディストリビューションで利用可能であり、監視とは別にシステム統計を収集できます。 Pythonで記述されており、psutilライブラリを使用してシステムから有用な情報を取得します。 Glanceは、次の3つの方法で使用できます。
- スタンドアロンのコマンドラインユーティリティ
- クライアントとサーバー
- Webサーバー
CentOS / RHELシステムにglanceをインストールするには、
を実行します。$ sudo dnf install -y glances // CentOS 8 / RHEL 8 $ sudo yum install -y glances // CentOS 7 / RHEL 7
Ubuntu / DebianシステムにGlanceをインストールするには、
を実行します。$ sudo apt get install -y glances
glanceの使用を開始するには、glanceコマンドを入力します
$一瞥
11)iptraf
次のリストは、イーサネットカードとネットワークのリアルタイム監視を提供するコマンドラインユーティリティであるiptrafです。 iptrafを使用すると、システムおよびネットワーク管理者は次のような多くの詳細を収集できます。
- TCPトラフィックの概要
- ICMP
- IPトラフィック
- UDPトラフィック
- インターフェースアクティビティ
- 統計の内訳
- 詳細なインターフェース統計
iftopのような他のコマンドと比較すると、iptrafはより詳細な内訳と統計を提供すると言えます。 IptrafはデフォルトのOSインストールの一部ではないため、インストールするには次のコマンドを実行します。
CentOS/RHELの場合
$ sudo dnf install -y iptraf-ngOr $ sudo yum install -y iptraf-ng
Ubuntu/Debianの場合
$ sudo apt install -y iptraf-ng
iptrafユーティリティを起動するには、iptraf-ngコマンドを入力し、イーサネットカードを選択します。
$ iptraf-ng
12)Iftop
リストの12番目の位置を占めるコマンドラインツールはiftopツールです。これは、Linuxシステムのイーサネットカードの帯域幅使用量を表示するシンプルなコマンドラインツールです。システムおよびネットワーク管理者は、帯域幅の監視にこのツールを使用します。 iftopを使用すると、リッスンする最初のネットワークインターフェイスで送信元と宛先の両方を表示できます。
CentOS / RHELシステムにiftopをインストールするには、次のコマンドを実行します
$ sudo dnf install -y iftop $ sudo yum install -y iftop
Ubuntu / Debianシステムの場合は、
を実行します$ sudo apt install -y iftop
iftopと入力して、このユーティリティを開始します。例を以下に示します。
$ iftop