COLUMN

コラム

第78回:Docker を監視してみましょう

本コラムでは、System Answer G3 の新機能である Docker 監視機能についてご紹介します。

Docker といえばコンテナ仮想化の代表的なソフトウェアです。ご存知の方も多いとは思いますが、まずは簡単にコンテナ仮想化について説明します。

「仮想化」というと VMware などで有名なサーバー仮想化という技術もありますが、コンテナ仮想化はそれとは何が違うのでしょうか。一般的なサーバー仮想化では、ハイパーバイザーが複数の仮想的なハードウェア(仮想マシン)を提供し、その上でゲスト OS やミドルウェア、アプリケーションが動作するので、一台のハードウェア上で複数の異なる環境を同時に走らせることができます。コンテナ仮想化も、複数の異なる環境を用意するという点では同じですが、コンテナはカーネルをホスト OS と共有し、プロセスやファイルシステムをコンテナとして隔離することで実現しています。そのため、コンテナは仮想マシンよりも軽量で、起動や終了も高速におこなえるなどの利点があります

また最近ですと、サーバー仮想化が浸透してきたこともあり、各自が自由に使える環境が仮想マシンしかないという現場もあるのではないでしょうか。仮想マシン上にさらに仮想マシンを立てることはできませんが、仮想マシン上にコンテナを立てることはできますので、仮想マシンしか自由に使えないという状況において、複数の環境を用意するためにコンテナを立てるという使い方もあります。

 

 

他にも、Docker はコンテナの構成をコードとして記述することができ、それを元に作成したコンテナイメージを利用することで、簡単に同じ環境をいくつも用意できるというのも大きな利点です。このように Docker の紹介をし始めるとキリがないのですが、本コラムではここまでにして、ここからは System Answer G3 による Docker 監視について紹介させていただこうと思います

System Answer G3 の Docker 監視機能では、まず最初に System Answer G3 から監視対象の Docker Host に API で接続するための情報(Docker 認証情報)を登録します。Docker API をhttps 接続する場合に必要となる証明書などのファイルもここで登録します。

 

 

 

Docker 認証情報を登録したら、次に監視対象とする Docker ホストを IP アドレス指定でノード登録します。

 

 

その後、Docker 監視ノード設定画面のコンテナ追加ボタンを押すと、監視登録可能なコンテナの一覧が表示されます。

 

 

表示されたコンテナ一覧から、コンテナを選択して登録ボタンを押すことで、監視対象として登録されます。

 

 

コンテナ監視では、下記の項目が監視可能です。

 

 

コンテナを監視登録すると、System Answer G3 が Docker コンテナの稼働データを収集し始め、おなじみのグラフ表示がおこなえるようになります。

 

 

 

また、コンテナのステータス監視にも対応しています。例えばコンテナで何らかのサービスを提供していて、そのコンテナが稼働し続けている必要がある場合には、そのコンテナをステータス監視に登録することで、コンテナのステータスが稼働中(running)以外になったらアラートを発生させる、というような使い方が可能です。

さて、ここまでは「コンテナを継続的に監視する」という機能をご紹介しましたが、先にも述べました通り、コンテナは作ったり消したりが容易におこなえるため、ちょっと使って消すなどの一時的な利用も多いと思います。そのような短期で利用するコンテナについては監視したくないというケースもあるかもしれません。そのような場合でも、System Answer G3 の Docker サマリー表示機能を使えば、登録した Docker ホストノードの上でどんなコンテナが動作していて、それぞれどの程度リソースを消費しているかなどの現在値が閲覧できます

Docker では、コンテナが使用するリソースの量(CPU やメモリなど)に制限を設けることもできますが、設定していない場合は必要な分だけ使ってしまいます。そのため、特定のコンテナがリソースを大量に消費してしまうと、他のコンテナやホスト OS 上のアプリケーションなどにも影響が出てしまいます。そのような場合には、Docker サマリー表示のコンテナ一覧を CPU 使用率やメモリ使用量でソートすることで、リソースを大量消費しているコンテナを特定することが可能です。

 

 

また、Docker は内部に仮想的なネットワークを作ることができますが、これについてもサマリー表示が可能です。ネットワークの設定や、接続されているコンテナとそれぞれの IP アドレスなどのリストを表示できますので、コンテナ間通信が上手くいかない場合などには、この画面が原因特定の一助になるかもしれません。

 

 

 

Docker は大変便利ですが、何をどうやって監視すべきかは環境によって様々です。System Answer G3 の Docker 監視機能を使って、ユーザーの皆様それぞれの環境に適した使い方ができるようになれば幸いです。

System Answer G3 の詳細はこちら

by プロダクト & サービス統括部 プロダクト開発部 シニアエンジニア 野原 史朗

一覧を見る

CONTACT

お気軽にお問い合わせ下さい