Sysdigでコンテナを監視する

Sysdigでコンテナを監視する

[51CTO.com クイック翻訳]あなたのコンテナは今何をしていますか?あなたは知っていますか?どうやって走っているんですか?デプロイされたマイクロサービスに関連するシステムコールとイベントはどれですか?知らないなら、あなたは少し遅れています。

ご心配なく。詳細を掘り下げて必要な情報を簡単に入手できるツールがあります。 Sysdig はそのようなツールの 1 つです。設計上、sysdig はシステム コールとイベントを Linux カーネル (/proc からではなく) から直接収集し、strace、tcpdump、htop、iftop、lsof、および Wireshark が実行する作業を (独自に) 実行します。つまり、6 つのツールではなく 1 つのツールだけを使用すればよいことになります。さらに良いことに、Sysdig は 2015 年からコンテナに対応しています。そのため、Linux 上のマイクロサービスのトラブルシューティングが必要な場合、Sysdig が役立ちます。 Sysdig はコマンドライン ツールですが、この情報を簡単に表示できるようにする ncurses ユーザー インターフェイスが含まれています。

私が選択したサーバー オペレーティング システムである Ubuntu Server 20.04 への Sysdig のインストールと使用方法について説明します。もちろん、Sysdig は Debian または Red Hat ベースのディストリビューションにインストールできます。これを機能させるには、Ubuntu Server の実行中のインスタンスと、sudo 権限を持つユーザーが必要です。コンテナ ランタイムも必要です (コンテナをデプロイおよび監視できるようにするため)。デモンストレーションのために、Docker エンジンと WordPress デプロイメント環境を使用します。

Sysdigをインストールする

最初に行う必要があるのは、Sysdig をインストールすることです。これを行うには、Ubuntu サーバーにログインし、次のコマンドを実行します。

  1. curl -s https://s3.amazonaws.com/download.draios.com/stable/install-sysdig |sudo bash

これにより、すべての依存関係と Sysdig の最新バージョンがインストールされます。

WordPress Dockerコンテナをデプロイする

監視対象として WordPress Docker コンテナをデプロイしましょう。これは、1 回限りのコンテナをデプロイするよりも少し複雑ですが、デプロイ方法を知っておく必要があります。

まず、次のコマンドで MariaDB コンテナをプルします。

  1. sudo docker pull mariadb

次に、次のコマンドを使用して、WordPress データ (永続ストレージ用) を保持する必要なフォルダーを作成します。

  1. sudo mkdir /opt/wordpress
  2. sudo mkdir -p /opt/wordpress/データベース 
  3. sudo mkdir -p /opt/wordpress/html

MariaDB コンテナを作成します。

  1. docker run -e MYSQL_ROOT_PASSWORD=PWORD1 -e MYSQL_USER=wpuser -e MYSQL_PASSWORD=PWORD2 -e MYSQL_DATABASE=wordpress_db -v /opt/wordpress/データベース:/var/lib/mysql --name wordpressdb -d mariadb  

PWORD1 と PWORD2 は固有の強力なパスワードです。

次のコマンドを使用して、WordPress の最新バージョンを取得します。

  1. docker pull wordpress:最新

WordPress コンテナをデプロイします。

  1. docker run -e WORDPRESS_DB_USER=wpuser -e WORDPRESS_DB_PASSWORD=PWORD2 -e WORDPRESS_DB_NAME=wordpress_db -p 8081:80 -v /opt/wordpress/html:/var/www/html --link wordpressdb:mysql --name wpcontainer -d wordpress  

ここで、「PWORD 2」は、前の docker run コマンドで wpuser に設定したパスワードです。

これで、ブラウザで http://SERVER:8081 (SERVER はホスティング サーバーの IP アドレス) にアクセスし、WordPress のインストールを完了できます。

Sysdig の使い方は?

監視対象が決まったので、Sysdig の使い方を見てみましょう。私は ncurses コマンドライン インターフェイスを使用することを好むため、sysdig コマンドの代わりに csysdig を使用します。

まず、次のコマンドを使用して、現在実行中のコンテナを一覧表示します。

  1. sudo csysdig -vコンテナ

デプロイしたコンテナが WordPress サイト用のみである場合は、次の 2 つのコンテナが実行されているはずです。

  • ワードプレス
  • マリアdb

リストには、各コンテナが使用する CPU の量、関連付けられているプロセス、スレッド、仮想メモリ、常駐メモリ、ファイル、使用されているエンジン、コンテナ ID の数も表示されます。つまり、Sysdig を使用することの価値がわかりました。

このビューを終了するには、[Ctrl]+キーボードショートカットを使用します。

さらに詳しい情報を入手したほうが良いかもしれません。コンテナに関連付けられているすべてのプロセスを表示するには、次のコマンドを実行します。

  1. sudo csysdig -pc

見つかったプロセスごとに次の内容がリストされます:

  • PID (プロセスID)
  • PPID (親プロセス ID)
  • VPID (仮想プロセスID)
  • CPU (コンテナが使用するCPU)
  • USER (コンテナを起動するユーザー)
  • 仮想メモリ
  • RES (割り当てられた常駐メモリ)
  • ファイル(コンテナが使用するファイル)
  • ネット(コンテナが使用するネットワークI/Oの合計)
  • コンテナ(コンテナ名)
  • コマンド(コンテナが使用するコマンド)

上記のコマンドの問題点は、提供される情報が多すぎる可能性があることです。たとえば、特定のコンテナー (この記事では wpress という名前のコンテナー) に関連する情報のみを表示したいとします。これを行うには、次のコマンドを実行します。

  1. sudo sysdig -pc -c topprocs_cpu コンテナ。名前=wpコンテナ

上記のコマンドを実行すると、次の情報がリストされます。

  • CPU%
  • プロセス
  • ホストpid
  • コンテナpid
  • コンテナ名

おそらく、コンテナのネットワーク I/O を確認する必要があるでしょう。再び例を挙げて、以下を実行します。

  1. sudo sysdig -pc -c topprocs_net コンテナ。名前=wpコンテナ

または

  1. sudo sysdig -pc -c topprocs_net コンテナ。名前=wordpressdb

上記のコマンドを実行すると、次の内容がリストされます。

  • バイト
  • プロセス
  • ホストpid
  • コンテナpid
  • コンテナ名

上記のコマンドについて知っておくべきことの 1 つは、実際のネットワーク トラフィックがある場合にのみデータが表示されるということです。

WordPress コンテナへの I/O に関連するファイルを表示したい場合はどうすればよいでしょうか?これを行うには、次のコマンドを実行します。

  1. sudo sysdig -pc -c topfiles_bytes コンテナ。名前=wpコンテナ

これは、ファイルが使用されている場合にのみ出力を表示する別のコマンドです。

csysdig を使用してビューを切り替えることもできます。上記のコマンドのいずれかを表示しているときに、F2 キーを押して、使用可能な csysdig ビューのメニューを開きます (図 1)。

図1: csysdigビューメニューではビューを変更できます

コンテナ、コンテナ エラー、K8S コントローラー、K8S デプロイメント、K8S 名前空間などのオブジェクトのコンテナ中心のビューが表示されます。

ただし、csysdig コマンドを実行する前に、必要なパラメータとオプションを覚えておく必要があるとは思わないでください。実際には、次のようにするだけで済みます。

  1. sudo csysdig

コマンドが実行されたら、キーボードの F2 キーを押して目的のビューを選択します。これにより、コマンドの使用が非常に簡単になります (使用可能なオプションやパラメータ スイッチを覚えておく必要はありません)。

結論

Sysdig と csysdig は、ターミナル ウィンドウからコンテナーの展開環境を監視およびトラブルシューティングするのに役立つ強力なツールです。インストールも使用も簡単です。 csysdig の機能の詳細については、次のコマンドを実行してください。

  1. 男 csysdig

または

  1. マンシスディグ

原題: Sysdig でコンテナを監視する、著者: Jack Wallen

[51CTOによる翻訳。パートナーサイトに転載する場合は、元の翻訳者と出典を51CTO.comとして明記してください。

<<:  Xinchuang Cloudについてどれくらい知っていますか?

>>:  シスコ、イスラエルのクラウドサービスアプリケーションソリューションスタートアップEpsagonの買収を発表

推薦する

raksmart: 格安香港サーバー/e3-1230v3/16g/1T/5M 帯域幅 | Alipay

香港のサーバーには、登録が不要、速度が中国本土とほぼ同じ、一部のコンテンツの管理が非常に緩いなど、多...

ウェブマスター自身だけが独立したブログの発展に影響を与えることができる

独立系ブログが今後も生き残れるかどうかという話題を、私は一度や二度は耳にしたことがあります。QQグル...

広告で最大の効果を達成する方法についての簡単な説明

多くの中小企業は、強力な広告を打つことを好みますが、結果は満足のいくものではありません。その理由は、...

ウェブサイトのコンバージョン率を向上させる方法

多くの SEO ウェブサイトは、ウェブサイトのコンバージョン率という問題に直面しています。キーワード...

iwfhosting: 10Gbps 帯域幅、E3-1270v6/64g メモリ/月額 109 ドル

月額 109 ドルからご利用いただける、10Gbps の帯域幅を備えた iwfhosting の独立...

Hostsailor: $157/E3-1231v5/8g メモリ/1T ハードディスク/100T トラフィック/ルーマニア

Hostsailor の以前のサーバーは、ルーマニアでもオランダでも、すべて 1 か月あたり 5T ...

アプリプロモーション企画:無料チャンネルと有料チャンネル!

スタートアップチームの初期段階では、チャネルが未熟で、予算が不十分で、ユーザーが定着していない場合に...

2023 年のクラウド コンピューティングのトップ 10 トレンド

クラウド コンピューティングは、ビジネスに不可欠なツールとなり、データを効率的に保存、共有する方法と...

ウェブサイトの重量を総合的に改善するには何をする必要がありますか?

このウェブサイトは複合体であると言えます。これには、ウェブサイトのトラフィック、ウェブサイトのコンバ...

UplinkVPS - $2.49/3 コンピュータ ルーム/KVM/256m メモリ/20g ハード ディスク/1T トラフィック

UplinkVPS には、50% オフの VPS 割引コードがあります。これは、uplinkvps ...

ユニクロ:オンラインとオフラインを融合した「型破りな」ゲームプレイで、最も成熟したO2Oモデルを創出

ユニクロといえば、北京や上海などの都市の主要ショッピングモールに店舗が頻繁に出店していることに加え、...

ウェブサイトが降格された後の正しい対処とトラブルシューティングのアイデア

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています多くの S...

クラウドストレージが軽量セキュリティに翼を添える

クラウド ストレージの概念の観点から見ると、その本質は、クラウド コンピューティング システムが外部...

新浪微博のエコシステムが悪化、アリババはタオバオから学ぶために投資する

丁晨玲著アリババの投資や、新浪無線の王高飛氏が彭少斌氏に代わって新トップに就任するという噂により、最...