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の買収を発表

推薦する

外部リンクキーワードランキングの価値はどれくらいですか?

ウェブサイトの外部リンク情報の構築に多くの時間と労力を費やした後、Baiduの自然ランキングでいくつ...

Bandwagonhost 公式サイト (Bandwagonhost 公式サイト)

この記事ではbandwagonhost VPSの本当の公式サイトを紹介します!多くの新規ユーザーは、...

アプリプロモーションで高品質なチャンネルを見極める5つの方法

前回の記事「アプリプロモーションで200以上のチャンネルを見つける方法」では、チャンネルを見つける方...

TigerGraph が業界初のネイティブ グラフ データベース サービスを開始

TigerGraph Cloud は、今日のデータ速度と接続性の需要を満たす最も簡単な方法です。無料...

ウェブサイトの外部リンク内の「/」とスペースは SEO 最適化にどのような影響を与えますか?

ウェブサイトの外部リンクに「/」が含まれているか、スペースが残っているかは、ウェブマスターがあまり考...

Amazon re:Invent: イノベーションの再発明と加速

[51CTO.comからのオリジナル記事] 今年の流行病の影響を経験した後、多くの企業もデジタル変革...

毎日の話題:ジュメイ・ユーピンが今夜ニューヨーク証券取引所に上場、偽造品は依然として大きな懸念事項

A5ウェブマスターネットワーク(www.admin5.com)は5月16日、化粧品電子商取引サイトJ...

A5マーケティング:企業はユーザーエクスペリエンスを向上させ、降格を避けるためにどのようにウェブサイトのスペースを選択すべきか

ウェブサイトを構築したり、ウェブサイトを新しいスペースに移動したりする場合、企業のウェブマスターが懸...

クラウド コンピューティング アーキテクチャにおける Cloud TiDB の技術的秘密 (パート 1)

最近、中国を代表する中立型クラウドコンピューティングサービスプロバイダーであるUCloudと、国内の...

MarTech の威力を発揮する JD Cloud「F4」がマーケティングのデジタル変革を促進

[51CTO.com オリジナル記事] 「広告予算の半分が無駄になっていることはわかっていますが、ど...

優良なインターネット会社が作成したウェブサイトが運営の基盤となる

ウェブサイトを運営する過程で、私はいくつかの企業のウェブマスターと頻繁にコミュニケーションを取ります...

ブランドマーケティング: ブランドを構築するには?

まず、「ブランドとは何でしょうか?」という質問に答えましょう。誰もが知っているのはブランドです。する...

iniz-6モデル販売中/128Mメモリ/KVM/年額15.5ドル

iniz は 6 つの特別価格 VPS をリリースしました。その中で、128M メモリと年間支払いを...

楊磊氏との対談:「究極のシンプルさ」と「究極の真実」でユーザーにとっての価値を継続的に創造する

[51CTO.comより引用] 設立以来7年間で、8万人以上のユーザーに高品質のサービスを提供してお...

ウェブマスターのおすすめ:フィリピンVPSのおすすめ、フィリピンのネイティブIP、CN2、本土への高速直接接続、安い価格

VPS レンタルの料金、フィリピン VPS の推奨: フィリピンは中国に近いため、フィリピン VPS...