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

推薦する

NodeBlade - 5 ドル / 4GB RAM / 4 コア / 100GB HDD / クアドラネット / ダラス

Quadranet のダラス データ センターにある NodeBlade の大容量メモリ構成の VP...

グループ購入モデルをどのように革新すれば、収益性を高め、投資を引き付けることができるでしょうか?

2011 年に急成長を遂げた後、共同購入 Web サイトは 2012 年に重要な時期を迎えました。現...

ウェブマスターネットワークニュース:ウェブサイト取引が急増、民生銀行が電子商取引に挑戦

1. アリババとテンセントがWeChatプラットフォーム上で競争し、起業家が損害を被るA5ウェブマス...

[速報] Google、コアアルゴリズムとSERP PCアップグレードのプレビューを開始

元旦の直後から、Google は仕事のリズムに入り、コア アルゴリズムのアップグレードと SERP ...

BaiduとGoogleのスパイダークローラーを誘惑しよう

私は起業家情報ネットワークの編集者です。今日は、スパイダーを誘惑して、ウェブサイトのコンテンツとスナ...

SecureDragon - 「言葉では言い表せない」山や尾根のための VPS

Secureragon の「最高の」 VPS です。リモート バックアップ VPS が必要な友人や、...

コンテンツオペレーション: コミュニティオペレーションの3つの主要な推進力

1 年間のコミュニティ運営に基づいて、私はコミュニティ運営において最も重要な 3 つの要素を「三頭の...

sharktech-$159/L5520/24g メモリ/2X2T ハードディスク/32IP/無制限 G ポート/IPMI/ロサンゼルス/DDOS 保護

米国の有名かつ老舗のDDOS保護ホスト業者であるsharktechが6月に実施した最新のプロモーショ...

年末レビュー | 2020 年のクラウド大手のダウンタイム インシデント

この記事はWeChatの公開アカウント「SDNLAB」から転載したものです。この記事の転載については...

Amazon Web Services の Chen Xiaojian: 未来志向のクラウドネイティブ データ インフラストラクチャの 4 つの要素

オフラインイベントには合計5万人以上の顧客とパートナーが参加し、オンラインミーティングには30万人以...

Dapu.com の創設者、王志全氏: 電子商取引の「速くて遅い」やり方

「Da Pu は有名になりたくない。」この言葉は、注目を集めるためにお金を燃やすことに頼っている現在...

ウェブサイトのデザインは人間のようなものです。調整に焦点を当て、特徴を強調します。

ウェブサイトのデザインは、ウェブサイトの将来の発展に関係しています。ユーザー エクスペリエンスの観点...

ハイブリッド クラウドの概念実証を成功させるための 4 つのステップ

ハイブリッド クラウドの概念実証は、展開が IT およびビジネスのニーズを完全に満たしていることを確...

vps1Net: オランダの VPS、無制限のトラフィック、月額 2.95 ドルから、毎日の購入をサポート

vps1.net はアラブ首長国連邦のシャルジャに拠点を置く会社です。現在は主にオランダの VPS ...