Consul v0.2.0 のWebUI、他を使ってみた

Consul v0.2.0 のWebUI、他を使ってみた はてなブックマーク - Consul v0.2.0 のWebUI、他を使ってみた


Consul v0.2.0 が 5/1 (日本時間では 5/2) に公開されました。

今回のバージョンアップは、主な変更点が Web UI が搭載されたこと(デモが公式で用意されています)、バグに関する修正が行われています。

Web UI では、consul 内部で指定するデータセンタ毎に、サービス一覧、ノード一覧、KVS の操作に加え、ヘルスチェックの状況表示を確認することができるようになりました。

■ ダウンロードと使い方

本体パッケージの使い方は、これまでと変わりません。開発環境が変わったためか、今回は普通に CentOS 6 の環境でも、そのまま動きました。

wget -O 0.2.0_linux_amd64.zip \
   https://dl.bintray.com/mitchellh/consul/0.2.0_linux_amd64.zip
chmod 750 ./consul
./consul

( consul ファイルのパーミッションが前と違うようで、chmod する必要があります)

ここまでなら以前と同じですが、Web UI を使いたい場合は、別途ダウンロードが必要です。

mkdir ./webui
wget -O 0.2.0_web_ui.zip \
    https://dl.bintray.com/mitchellh/consul/0.2.0_web_ui.zip
unzip 0.2.0_web_ui.zip

Web UI を使って起動するには、consul の起動オプションで「-ui-dir=」を指定します。以下は実行例です。他のオプション指定は、これまでと変わりません。

./consul agent -server  -bootstrap  -dc=local -node=consul1 \
    -data-dir=/tmp/consuldat/ \
    -ui-dir=/opt/consul/webui/

設定後は、ブラウザから http://127.0.0.1:8500/ui/ としてアクセスすると、表示されます。このポート 8500 は、HTTP 用のインターフェースであり、/ui/ だけがブラウザから直接操作可能になります。たとえば、Web UI から KVS のデータ登録を行った後は、crul を使ってそのデータを参照する事ができます。

$ curl http://192.168.39.3:8500/v1/kv/kvs
[{"CreateIndex":18,"ModifyIndex":18,"Key":"kvs","Flags":0,"Value":"Y2hlY2s="}]

ここでは key 「kvs」に対する Value が確認できますが、

$ curl -s http://192.168.39.3:8500/v1/kv/kvs |jq '.[].Value' -r
Y2hlY2s=

標準のままでは文字化けして見えます。base64 を通してデコードすると読めます。

$ curl -s http://192.168.39.3:8500/v1/kv/kvs |jq '.[].Value' -r |base64 -d
check

このように、Web UI の KVS と、コマンドラインのものは、同じデータを参照・操作していることが確認出来ます。

その他の変更点としては、CHANGELOG を参照すると、

  • 一貫性に関するモード指定の追加(高速読込対応)
  • ヘルスチェックで正常なものだけを表示するオプション(?passing)の追加
  • KVS に ‘?keys’  ‘?seperator=’ のオプション追加
  • 細かな改善やバグ修正

が行われた模様です。

今回のバージョンでは、Web UI の搭載が一番大きな変更点です。Web UI が搭載され、ブラウザからノードやサービスの情報を参照したり、KVS を参照できるようになっています。そうなると、Consul に対しては、これまでとはまた違った印象を受けるのではないでしょうか。