Docker管理ツール、Kubernetes、etcd、flannel、cAdvisorの概要とインストール、基本的な使い方:Docker運用管理製品/サービス大全(3)(5/6 ページ)
数多く台頭しているDockerの運用管理に関する製品/サービスの特長、使い方を徹底解説する特集。今回は、グーグルが主導で開発しているOSSであるKubernetes、flannel、cAdvisorの概要や主な機能、環境構築方法、使い方について。
cAdvisorの主な機能
cAdvisorはグーグルが開発しているコンテナー環境を監視するOSSです。コンテナーリソースの使用率と性能特性を提供するものです。しきい値監視や通知といった機能はありません。
cAdvisorは取得した情報をブラウザーで確認したり、外部のDBに保存したり、RESTを使ってJSON形式でアウトプットしたりするものです。このアウトプットした情報を他のソフトウエアで監視や通知するという形になると思われます。
cAdvisor自身はメモリ上にデータを持つためデータを蓄積することはありません。cAdvisorのドキュメントによるとInfluxDBにデータをエクスポートして蓄積する方法があります。
cAdvisorで取得できる項目
cAdvisorで取得できる情報はホストとコンテナーのリソース使用率と性能特性です。ホストのリソース使用率と性能特性は「http://<IPアドレス>:8080/containers/」で取得できます。
カテゴリ | 取得値 | 値の例 | |
---|---|---|---|
CPU | ホストのCPU使用率 | 0.5 | |
CoreごとのCPU使用率 | 0.2 | ||
System/UserそれぞれのCPU使用率 | 0.3/0.2 | ||
メモリ | Total/Hot(使用中)のメモリ使用量 | 1577/1277Mib | |
ネットワーク | スループット | 1175ByteperSec | |
エラー | 0 | ||
ファイルシステム | ホスト全体のディスク使用量と使用率 | 1.54GB / 105.55GB(1%) | |
各コンテナーのディスク使用量と使用率 | 98.85MB / 105.56GB(0%) |
カテゴリ | 取得値 | 値の例 | |
---|---|---|---|
CPU | プロセスのCPU使用率 | 0.5 | |
プロセスのCoreごとのCPU使用率 | 0.3 | ||
プロセスのSystem/UserのCPU使用率 | 0.3/0.2 | ||
メモリ | プロセスのメモリ使用量 | 28Mib |
コンテナーのリソース使用率と性能特性は「http://<IPアドレス>:8080/docker/」で取得できます。
カテゴリ | 取得値 | 値の例 | |
---|---|---|---|
名前 | コンテナー名 | k8s_POD.e4cc795_kube-apiserver-k8s-guestbook-maste…… | |
CPU | コンテナーのCPU使用率 | 0.00003 | |
コンテナーのCoreごとのCPU使用率 | 0.00002 | ||
コンテナーのSystem/UserのCPU使用率 | 0.00002/0.00001 | ||
メモリ | コンテナーのメモリ使用量 | 3Mib | |
ネットワーク | スループット | 0 | |
エラー | 0 |
また、「http://<IPアドレス>:8080/docker/」でDockerが使用しているリソースの情報やイメージ情報が取得できます。
カテゴリ | 取得値 | 値の例 | |
---|---|---|---|
システム | Docker Version | 1.6.0 | |
Kernel Version | 3.10.0-229.4.2.el7.centos.plus.x86_64 | ||
OS Version | CentOS Linux 7(Core) | ||
Host Name | ip-172-31-21-207 | ||
Docker Root Directory | /var/lib/docker | ||
Execution Driver | native-0.2 | ||
Number of Images | 115 | ||
Number of Containers | 26 | ||
ストレージ | Data Space Total | 107.4GB | |
Data Space Available | 5.369GB | ||
Metadata Space Total | 2.147GB | ||
Pool Blocksize | 65.54KB | ||
Data Space Used | 2.139GB | ||
Pool Name | docker-202:1-410601-pool | ||
Data file | /dev/loop0 | ||
Metadata Space Used | 5.628MB | ||
Metadata Space Available | 2.142GB | ||
Data loop file | /var/lib/docker/devicemapper/devicemapper/data | ||
Metadata loop file | /var/lib/docker/devicemapper/devicemapper/metadata | ||
Backing Filesystem | extfs | ||
Metadata file | /dev/loop1 | ||
Udev Sync Supported | TRUE | ||
Library Version | 1.02.93-RHEL7(2015-01-28) | ||
イメージ | Repository | docker.io/kubernetes/redis | |
Tags | v1 | ||
ID | 690e15a8b1493a98d7c14836 | ||
Virtual Size | 139.19MiB | ||
Creation Time | 2015/1/23 8:21 |
cAdvisorで値を取得する方法
cAdvisorでは下記のURLにアクセスすることで値を取得できます。
http://<hostname>:<port>/api/<version>/<request>
例えばVersion 1.3のAPIには、下記のアドレスにアクセスし、さらにそこからmachineを選択して値を表示させます。
http://<hostname>:<port>/api/v1.3
出力される値はJSON形式です。2015年6月現在、入手できるcAdvisor 0.14ではAPIのv1.0、1.1、1.2、1.3、2.0を使用できます。v2.0はベータ版です(参考)。
cAdvisorを使いコンテナー環境を監視する手順
ここからは、cAdvisorを使いコンテナー環境を監視する手順を記載します。
Dockerデーモンが起動している環境で下記のコマンドでcAdvisorのコンテナーを作成します。
docker run \ --volume=/:/rootfs:ro \ --volume=/var/run:/var/run:rw \ --volume=/sys:/sys:ro \ --volume=/var/lib/docker/:/var/lib/docker:ro \ --publish=8080:8080 \ --detach=true \ --name=cadvisor \ google/cadvisor:latest
下記のエラーが出力されて起動できない場合は「--logtostderr」オプションを最後に追記してください。
I0527 06:18:05.589150 00001 storagedriver.go:100] No backend storage selected log: exiting because of error: log: cannot create log: open /tmp/cadvisor.e7e91c812442.root.log.INFO.20150527-061805.1: permission denied
「http://<IPアドレス>:8080」にWebブラウザーからアクセスを行いcAdvisorの振る舞いを確認してください。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 所要時間わずか10分で「Docker」を体験しよう――Azureで始めるDocker入門
2014年から急速に注目度が増しているコンテナー型仮想化技術「Docker」。すでに多くのLinuxで利用可能な技術ですが、次期Windows Serverでもサポートされる予定です。Dockerとはどのようなものなのか、一度、実際に触って体験してみてはいかがでしょうか。 - Linux/OSSに不慣れでも大丈夫! WindowsでDockerを扱う際のポイント
本連載第31回は「Azureで始めるDocker入門」を掲載しました。掲載後、すぐに「Docker 1.6」がリリースされたので、意図したわけではありませんが、タイムリーな記事になったと思います。今回は、その記事でも紹介した「Docker Client for Windows」をフォローアップします。 - Docker代替のコンテナーランタイム「Rocket」をCoreOSが公開
CoreOSがDocker代替のシンプルなコンテナーランタイムを公開。Dockerの当初の目的であるシンプルなコンテナーを目指すプロトタイプだ。 - Docker、そしてCloud FoundryとPaaSの価値とは
Docker人気を踏まえたとき、Cloud Foundryはどのように位置付けられるのか。PaaSの最終的な価値とは何なのか。AWSとの競合とは。Cloud Foundryの責任者である米PivotalのJames Watters氏に聞いた。 - レッドハットが発表したOpenShift Enterprise 3は「Dockerを知らなくても使える」基盤
レッドハットが2015年7月22日に国内発表したPaaS製品「OpenShift Enterprise 3」の最大の狙いは、Dockerを知らなくてもアプリケーションの開発・運用ができるようにすることだという。ここでは、レッドハットの日本法人の説明に基づき、OpenShift Enterprise 3を紹介する。 - 米グーグルのDockerコンテナ管理サービスが一般提供開始
米グーグルがGoogle Cloud Platform上で提供しているDockerコンテナオーケストレーション/管理サービス、Google Container Engineが2015年8月26日、ベータ段階を終了、一般提供が開始された。毎週20億以上のコンテナを立ち上げているグーグルの経験に基づくサービスだとしている。