GNU/Linux >> Linux の 問題 >  >> Debian

LinuxにSysdigをインストールしてシステムの負荷を監視する方法

ここでは、Linuxシステムまたはサーバー監視ツールであるSysdigをCentOS、Redhat、Debian Ubuntu 20.04 / 18.04 / 16.04とともに、LinuxMintやElementaryOSなどの他の非LTSバージョンにインストールする手順を説明します。

Sysdig Linux監視ツールとは何ですか?

Sysdigは、top、iotop、iftop、strace、tcpdump、htop、iftop、lsof、およびトランザクショントレースのオープンソースの代替ツールです。 CPU、メモリ、IO、ユーザーなどの使用法の完全な概要を、適切に構造化されたインターフェイスのコマンド端末で直接提供します。 Sysdigは、WindowsやOS Xを含め、ほぼすべてのオペレーティングシステムにインストールできます。

要件

  • Ubuntuサーバーまたはデスクトップ
  • このチュートリアルのすべてのコマンドを実行するには、rootユーザーアクセスが必要です。 またはsudo権限を持つroot以外のユーザー 。

ステップ1:システムを更新する

system updateコマンドを実行して、すべてのリポジトリとその他のインストール済みパッケージが最新の状態になっていることを確認します。

sudo apt update

ステップ2:さまざまなLinuxシステムにSysdigをインストールする

Ubuntu 20.04/18.04以前

UbuntuとLinuxMintの最新のオペレーティングシステムでは、リポジトリを追加する必要はなく、1つのコマンドを使用してSysdigをインストールできます。

sudo apt install sysdig

ただし、Debianおよびそれに基づく他のLinuxディストリビューションでは、以下のスクリプトを実行して、リポジトリを追加するだけでなく、Sysdigもインストールします。

スクリプトを作成する前に、コマンドを実行してcurlとその他のsoftware-common-propertiesをインストールすると、APTがさまざまなソースからのソフトウェアを効率的に管理できるようになります。

sudo apt -y install software-properties-common curl
curl -s https://s3.amazonaws.com/download.draios.com/stable/install-sysdig | sudo bash

インストールは完全に自動化されており、それ以上の介入は必要ありません。

CentOS、RHEL、Fedora、AmazonLinuxへのSysdigのインストール

yumリポジトリを追加します

sudo rpm --import https://s3.amazonaws.com/download.draios.com/DRAIOS-GPG-KEY.public
sudo curl -s -o /etc/yum.repos.d/draios.repo https://s3.amazonaws.com/download.draios.com/stable/rpm/draios.repo
sudo yum -y install sysdig

または

sudo dnf -y install sysdig

CentOSへのSysdigのインストール

DockerSysdigのインストール

docker pull sysdig/sysdig
docker run -i -t --name sysdig --privileged -v /var/run/docker.sock:/host/var/run/docker.sock -v /dev:/host/dev -v /proc:/host/proc:ro -v /boot:/host/boot:ro -v /lib/modules:/host/lib/modules:ro -v /usr:/host/usr:ro sysdig/sysdig
>

ステップ3:Sysdigコマンドの使用方法

実行中のプロセス、それらによるメモリの消費などを表示するSysdigの最初の簡単なコマンド。次のように入力するだけです:

sudo csysdig

Sysdigは、現在の負荷やその他の情報を提供するために、/ procファイルシステム、/ dev / sysdig *デバイスなど、システムの重要な領域にアクセスする必要があるため、sudoを使用して実行しています。

以下の出力のようなものが表示されます…

PID :プロセスPID。
CPU :プロセスで使用されているCPUの量。
TH :プロセスに含まれるスレッドの数。
VIRT :プロセスの合計仮想メモリ。
RES :プロセスの常駐非スワップメモリ​​。
ファイル :プロセスによって生成された合計(入力+出力)ファイルI / O帯域幅(バイト/秒)。
NET :プロセスによって生成された合計(入力+出力)ネットワークI / O帯域幅(バイト/秒)。
コマンド :プロセスの完全なコマンドライン

システムプロセスを確認するためのSysdigコマンド

上のスクリーンショット 、現在実行中のプロセス、コマンド、およびそれらがシステム使用率(CPUとメモリの負荷)に与える影響を確認できます。メニューまたはキーの割り当ては下部にあります。 を押す F2 別のメニューが表示されます。ここで、見たいものを選択できます。

Linuxシステムを監視するためのクイックSysdigコマンド

上のスクリーンショットで重要なことを確認できます 監視する必要があるものは、コマンドターミナルの左側のパネルに表示されています。矢印キーを使用して、興味のあるものを選択し、 Enterを押すことができます。 インターフェイスを対応するフィルターに切り替えるキー。

たとえば、接続をテストするには それを選択し、以下を示します。

Sysdigを使用した接続の監視

これにより、現在サーバーに接続されている接続が表示されます。たとえば、アクティブなSSHセッションとプレックスメディアサーバーが表示されます。詳細を知りたい場合は、 F6を押してください。

ネットワーク接続の深さ分析

同様に、エラーを選択します オプションは、失敗したすべてのプロセスを表示します。それらは発生頻度に従ってソートされます。

プロセスとそれらが使用する合計CPUについて知るには、「プロセスCPU」を選択します。 」オプションを選択し、 Enterを押します キー。

PID :プロセスPID。
TOT :プロセス(ユーザー+システム)によって使用されたCPUの合計量。
ユーザー :プロセスで使用されているユーザーCPUの量。
SYS :プロセスで使用されているシステムCPUの量。
SYSCALLS :プロセスによって行われた1秒あたりのシステムコールの数。
コマンド :プロセスの完全なコマンドライン。

プロセスと合計CPU

ファイルオープンリストの下 、 たとえば、現在アクセスされているすべてのファイルと、それらにアクセスしているユーザーまたはプログラムのリストが表示されます。

タイプ別のI/O: どのプロセス、またはどのトリガーが現在データメディアに書き込みおよび読み取りを行っているかを示します。これは転送速度に関するものであり、移動されたデータの総数はここでは表示できません。

BPS IN: 特定のタイプのFDから読み取られた1秒あたりのバイト数。
BPS OUT :特定のタイプのFDに書き込まれる1秒あたりのバイト数。
IOPS :指定されたI/OカテゴリのI/O操作の数。これは、開く、閉じる、読み取り、書き込み、統計など、ファイルに対するすべての操作をカウントします。結果として、ファイルのI / Oバイトがゼロであっても、この値は非K8sサービスゼロになる可能性があります。
時間 :このタイプのI / O操作(待機を含む)を実行するプロセスによって費やされた時間。
I/Oタイプ :I/Oのタイプ。ファイル、ディレクトリ、ipv4、ipv6、パイプ、Unix、シグナル、イベント、inotifMesos Frameworks y

のいずれかになります。

タイプ別IO

の下 スパイユーザー システムや他のプロセスではなく、ユーザーによって呼び出されたすべてのプロセスのリストが表示されます。ここでは、インタラクティブに実行されるすべてのコマンド、つまり親プロセスとしてシェルを持つすべてのコマンドのリストを確認できます。ファイルの結果は、時間でソートされたすべてのユーザーアクティビティの表示です。

時間 :コマンドが実行された時刻。
ユーザー :コマンドを実行しているユーザーの名前。
SHELL :このコマンドが実行されたシェルのPid。これは、基本的に「セッションID」に対応します。この列でファイラーまたはソートして、特定のインタラクティブユーザーセッションを分離できます。
コマンド :実行されたコマンド(引数を含む)。

同様に 、Linuxシステムを監視するための他のオプションを探索できます。

CPU、ネットワークなど、システムの特定の詳細を取得したい場合は、それに対応する直接コマンドを使用することもできます。純粋なコマンドラインバージョンと同様に、設定、変数、フィルターが非常に多いため、ここにすべてをリストしたくありません。すべての機能の完全なリストは、公式のSysdigWikiにあります。

これらのいくつかは次のとおりです:

CPU使用率に従ってプロセスを直接監視するには、次のコマンドを実行します。

sudo sysdig -c topprocs_cpu

sysdigCPUプロセス監視コマンド

両方のネットワーク接続を監視するコマンド

sudo sysdig -c netstat

すべてのLinuxネットワーク接続

ネットワーク入力/出力ごとの上位のネットワーク接続とプロセスを確認するには

sudo sysdig -c topconns
sudo sysdig -c topprocs_net

他のクイックコマンドは、次のコマンドを使用して表示できます:

 sudo sysdig -cl

カテゴリごとのコマンドは次のとおりです:

たとえば、以下のリストにある最初のコマンドであるHTTPリクエストログを確認したいと思います。これを使用するには、単に

と入力します
sudo sysdig -c httplog

太字のコマンドは…

Category: Application
---------------------
httplog HTTP requests log
httptop Top HTTP requests
memcachelog memcached requests log

Category: CPU Usage
-------------------
spectrogram Visualize OS latency in real time.
subsecoffset Visualize subsecond offset execution time.
topcontainers_cpu Top containers by CPU usage
topprocs_cpu Top processes by CPU usage

Category: Errors
----------------
topcontainers_error Top containers by number of errors
topfiles_errors Top files by number of errors
topprocs_errors top processes by number of errors

Category: I/O
-------------
echo_fds        Print the data read and written by processes.
fdbytes_by        I/O bytes, aggregated by an arbitrary filter field
fdcount_by       FD count, aggregated by an arbitrary filter field
fdtime_by        FD time group by
iobytes             Sum of I/O bytes on any type of FD
iobytes_file      Sum of file I/O bytes
spy_file             Echo any read/write made by any process to all files. Optionally, you can provide the name of one file to only intercept reads
/writes to that file.
stderr        Print stderr of processes
stdin          Print stdin of processes
stdout             Print stdout of processes
topcontainers_file               Top containers by R+W disk bytes
topfiles_bytes                  Top files by R+W bytes
topfiles_time              Top files by time
topprocs_file                Top processes by R+W disk bytes
udp_extract                 extract data from UDP streams to files.

Category: Logs
--------------
spy_logs                   Echo any write made by any process to a log file. Optionally, export  the events around each log message to file.
spy_syslog                     Print every message written to syslog. Optionally, export the events around each syslog message to file.

Category: Misc
--------------
around                  Export to file the events around the time range where the given filter matches.

Category: Net
-------------
iobytes_net    Show total network I/O bytes
spy_ip            Show the data exchanged with the given IP address
spy_port        Show the data exchanged using the given IP port number
topconns         Top network connections by total bytes
topcontainers_net   Top containers by network I/O
topports_server     Top TCP/UDP server ports by R+W bytes
topprocs_net        Top processes by network I/O

Category: Performance
---------------------
bottlenecks             Slowest system calls
fileslower               Trace slow file I/O
netlower               Trace slow network I/0
proc_exec_time              Show process execution time
scallslower               Trace slow syscalls
topscalls                Top system calls by number of calls
topscalls_time             Top system calls by time

Category: Security
------------------
list_login_shells    List the login shell IDs
shellshock_detect     print shellshock attacks
spy_users             Display interactive user activity

Category: System State
----------------------
lscontainers                                 List the running containers
lsof                                     List (and optionally filter) the open file descriptors.
netstat                               List (and optionally filter) network connections.
ps                                List (and optionally filter) the machine processes.

Category: Tracers
-----------------
tracers_2_statsd        Export spans duration as statds metrics.

Use the -i flag to get detailed information about a specific chisel
 

sysdigの例を使用して、関連するすべてのコマンドおよびその他の情報を知る およびcsysdig マニュアルページを見ることができるツール:

man sysdig
man csysdig

Sysdigのエンディングノート

Sysdig は、システムの現在のステータスと負荷を追跡するための非常に広範なツールです。 Csysdigを使用している間 それはあなたに効果的に働くためにあなたにコンソール内の快適なコマンドラインベースのインタラクティブなインターフェースを提供します。コマンドラインツール自体を使用して、効果的なスクリプトを作成し、独自のカスタムログファイルを作成できます。

その他のLinuxチュートリアル:

  • 起動時にGRUBメニューのタイムアウトを変更するにはどうすればよいですか?
  • Ubuntu20.04LTSへのOpenSSHサーバーのインストールに関するチュートリアル

Debian
  1. LinuxシステムのIDを変更する方法

  2. Sysstatを使用してLinuxシステムのパフォーマンスを監視する方法

  3. LinuxにWineをインストールする方法

  1. Linuxのシステム負荷を確認してください

  2. Linux システムを監視するために Glances をインストールして使用する方法

  3. Linux システムに「convert」をインストールするにはどうすればよいですか?

  1. LinuxでApt-Getコマンドを使用する方法

  2. Linuxftpコマンドの使用方法

  3. Ubuntu20.04でシステム負荷を監視するためにSysdigをインストールする方法