現在位置: ホーム / みらくるブログ / Hatohol評価および開発用ターゲットサーバVMイメージ

Hatohol評価および開発用ターゲットサーバVMイメージ

Hatoholは、ZABBIXやNagiosから監視データを集約するソフトウェアです。その評価や開発時の動作確認には、稼働しているZABBIXなどが必要ですが、運用中のZABBIXをそのためには使用できないという方も多いでしょう。しかし、Hatoholのセットアップに加え、ZABBIXやその監視対象の設定までを行うことは、多くの手間を要します。Hatoholの開発コミュニティは、ZABBIXやNagios、加えてそられの監視対象がセットアップされたVMイメージを配布しています。本稿ではこれらを利用する方法を紹介します。

マニュアルなど

コミュニティによる、VMイメージのセットアップの手順書は以下にあります。

https://drive.google.com/file/d/0Bwxg1mm3GuhnbzRLSEtxTFM3WkU/view

また関連するドキュメントは、以下にアップロードされています。

https://drive.google.com/folderview?id=0Bwxg1mm3GuhnaDA2cXFHNU1yMXc&usp=sharing

VMイメージの概要

VMイメージには、仮想マシンとそのマシン内で動作する60個のコンテナが格納されています。全体のイメージは下の図のようになっています。

Test-Envrionmentの構成図

コンテナ群では、ZABBIXサーバ、Nagiosやそれらの監視対象が動作しています。各コンテナの詳細は、マシン構成表に記載されています。VMには、NICが2つあります。1つ目eth0は、KVM (libvirt)の標準的なブリッジであるvirbr0に接続され、一般的な操作に使用されることが想定されています。もうひとつはブリッジlxcbr0で、コンテナ上のホスト群と直結されています。これを利用すると、ホストマシンから直接、個々のコンテナのホストに簡便にアクセスできます。

セットアップ

上記コミュニティの手順書をベースに説明します。以下では、ホストマシンのOSとして、Ubuntu server LTS 14.04.3を使用します。

テスト用のホストネットワークインターフェイスの作成

前節で説明した2つ目のNICを接続するブリッジをホストマシンに作成します。/etc/network/interfacesに以下の設定を追加します。hatohol-testnetの部分を任意の名前に変えることができます。

auto hatohol-testnet
  iface hatohol-testnet inet static
  address 10.0.3.2
  network 10.0.3.0
  netmask 255.255.255.0
  broadcast 10.0.3.255
  bridge_ports none

次のコマンドで上記のブリッジをを有効にします。

# ifup hatohol-testnet

以下のようにインターフェイスが作成され、IPアドレスが設定されていれば、OKです。

$ ifconfig | grep -A1 hatohol-testnet
hatohol-testnet Link encap:Ethernet  HWaddr c2:f5:0a:df:82:31  
          inet addr:10.0.3.2  Bcast:10.0.3.255  Mask:255.255.255.0
10.0.3.0/24は、LXC用ネットワークのデフォルトのアドレス範囲であり、ホストマシンで、LXCを使用している場合、重複します。手順書の7節に示されているように、ホストマシンのLXC用ネットワークのアドレス範囲を変更することで解決できますが、すでにホストマシンでLXC用ネットワークが使用されている場合、簡単に変更できないこともあるでしょう。そのような状況でのもっと簡単な対処方法は、interfacesファイルで、hatohol-testnetのaddressを0.0.0.0にして、アドレスを割り振らないことです。もちろん、このNICからの通信はできなくなりますが、ひとつ目のNICを通じてVM内部の各マシンにアクセスは可能です。

KVM用イメージのダウンロード

下記のようにKVM用のイメージファイルをダウンロードし、展開します。 手順書では、一旦ダウンロードしてから、展開・移動していますが、ここではこれらを一気にやります。コマンド実行後、 Monitoring_Servers_for_Hatohol.imgというファイルが作成されます。

# cd /var/lib/libvirt/images
# https://googledrive.com/host/0Bwxg1mm3GuhnQnJUYVgxLW80eG8 | tar xzvf - -S

KVMマシンの作成

次にイメージファイルを使ったKVM用のマシンを作成します。手順書にあるようにvirt-managerから各種パラメータをGUIで入力することもできます。また、下記のようにコマンドラインで作成することも可能です。

$ virt-install --name hatohol-test --ram 4096 --file /var/lib/libvirt/images/Monitoring_Servers_for_Hatohol.img --vcpus 4 --os-type linux --network bridge=virbr0 --network bridge=hatohol-testnet --vnc --boot hd

起動したマシンには、virt-managerのグラフィカルコンソール(VNC)、または、sshでアクセスできます。初期のユーザーとパスワードはどちらもhatoholで、sudoも可能です。sshでアクセスする場合のアドレスは10.0.3.1です。

使用動作確認

ホストマシンから10.0.3.11にブラウザでアクセスしてみます。マシン構成表からも分かるように、このマシンではZABBIXサーバが動作しています。ユーザーAdmin、パスワードzabbixでログインすると、次のキャプチャ画像のようにあらかめじめ設定されている障害が表示されます。

1

このZABBIXサーバをはじめ、NagiosなどをHatoholから登録して、Hatoholの動作確認をしてみてください。

不要なコンテナの停止

 デフォルトでは60台のコンテナが動作していますが、評価の内容によっては、その全てが必要でない場合もあるでしょう。また、もう少しVMに割り当てるメモリを少なくしたい場合などには、一部のコンテナを停止させることができます。次の例は、マシン12-1を停止します。

$ sudo lxc-stop -n machine12_1

また、VMの再起動時に、コンテナの起動を抑制するには、/var/lib/lxc/コンテナ名/configのlxc.start.auto行の右辺を0にします。

lxc.start.auto = 0

コンテナ上のホストへのアクセス

各コンテナ上のホストには次のユーザー名とパスワードを使ってsshでログインできます。

  • ユーザー: root
  • パスワード: admin_hatohol