ここでは、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サーバーのインストールに関するチュートリアル