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

推薦する

専用ソリューション: 香港 WTT および HKT データセンター (物理) サーバー、1Gbps 帯域幅 (無制限)、月額 2,000 元から

Dedicatedsolutionは香港独自の独立サーバーの立ち上げを開始し、現在、プライベートカス...

クラウドコストの上昇にどう対処するか

クラウド コンピューティングの料金は前例のない高さに達しています。データセンターがエネルギーコスト、...

クラウド移行について

弊社の CIO Lele が大変な事態に陥っています。同社がパブリック クラウド サービス プロバイ...

ヒット曲「江南スタイル」に隠されたウェブサイト運営のノウハウ

「オパ カンナムスタイル」 このリズムを聞くと、つい一緒に踊りたくなる。 そう、これが神曲「カンナム...

クラウドネイティブとは何かを理解するための記事。

みなさんこんにちは。私はジョックです。クラウドネイティブとは何ですか?ほとんどの人がクラウド ネイテ...

タオバオCストアは群衆に従うことはできず、革新する際に評判の基本を忘れてはならない。

現在、ますます多くのタオバオCストアのオーナーが、事業内容を変えたり、タオバオTmallに多額の投資...

「Tiexue.com:静かに儲けるコミュニティ電子商取引会社」を読んで、コミュニティ開発の道を議論する

A5に「Tiexue.com - 静かに儲かるコミュニティ電子商取引」という記事があります。じっくり...

プロのSEO担当者の一日

夜も遅くなり、皆が寝静まった頃、私はコンピューターの前に一人座り、機械的にキーボードを叩き、クライア...

ウェブサイトのランキングを上げたいなら、外部リンクをしっかり張ってください。

私の友人の多くは、「ランキングは外部リンクを作ることだ」という一文を聞いたことがあるか、見たことがあ...

効率的な運用とイノベーションの加速により、SAP は Yongtai Biopharmaceuticals が患者にデジタルケアを提供できるよう支援します。

[51CTO.com からのオリジナル記事] 健康は常に国民が最も懸念する問題の 1 つです。 Yo...

要約: ウェブサイトのロングテールキーワードを掘り出す 12 の方法

キーワードマイニングは、ウェブサイトの最適化において非常に重要な部分であり、ウェブサイトのトラフィッ...

aquatis: 米国の大容量メモリ VPS、月額 6 ドル、8G メモリ/2 コア/20g NVMe/1T トラフィック/1Gbps 帯域幅

aquatis.host は 2009 年にゲーム サーバーとしてスタートし、その後、通常の VPS...

NodeBlade - 6 ドル / KVM / 2G メモリ / 4 コア / 20g SSD / 1T トラフィック / クアドラネット / ロサンゼルス

NodeBlade(2017年12月運用開始)は、米国ロサンゼルスデータセンターとオランダアムステル...

AI、5G、クラウドコンピューティングは2021年にエッジコンピューティングにどのような影響を与えるでしょうか?

11 月 17 日のニュース、これまでのところ、エッジ コンピューティングは常に大きな可能性を秘めて...