Skip navigation
2014

これまでの AppHA 系のポストを見直してみたところ、

コンポーネント多いので絵がないとつらいな。と思いました。

というわけで絵を描いてみました。

 

製品マニュアルにあるだけだと読み取りきれないところががあるため

ある程度、構築してみた上での推測で補ってます・・・違ったらすみません。

 

AppHA 環境全体の概要について

 

まず、AppHA のコンポーネントは だいたい下記のような感じです。

vSphere AppHA をデプロイするとこう見えます。

appha-image-00.png

こまかく見ると、下記のような感じのようです。

赤い矢印のあたりで、何かしらの連携をしているようです。何かしらの・・・

appha-image-01.png

 

AppHA の環境構築について

 

構築の様子を、順番に図示してみました。

Linux の Oracle Database 11g を保護します。

vCenter や ESXi 、ゲストOS、保護対象のアプリはすでに

構築済みの想定で進めています。

 

まずは、Hyperic の vApp をデプロイします。

vSphere AppHA への道。Part 1. Hyperic の vApp デプロイ

appha-image-p1.png

 

そして、Hyperic の vApp を起動します。

ここ以降で、Hyperic の DB(vPostgres)を意識することはほぼないでしょう。

vSphere AppHA への道。Part 2. Hyperic のセットアップ

appha-image-p2.png

 

vCenter に Hyperic のエージェントを導入し、

Hyperic サーバでは AppHA の連携で必要な「VC」リソースを登録します。

この「VC」リソースには vCenter へのログインユーザなどの設定をします。

vSphere AppHA への道。Part 3. Hyperic への VC 登録

appha-image-p3.png

AppHA の VM をデプロイします。

普通に OVF 形式の .ova ファイルをデプロイします。

vSphere AppHA への道。Part 4. AppHA の OVA デプロイ

appha-image-p4.png

AppHA のセットアップをします。

vSphere HA のセットアップもしておきます。

※今回は、vSphere HA の環境構築はすでにできている前提でした。

 

AppHA のために、vSphere HA のクラスタを

「仮想マシンとアプリケーションの監視」にします。

vSphere AppHA への道。Part 5. AppHA と vSphereHA のセットアップ

appha-image-p5.png

 

保護対象アプリが起動するゲスト OS に、

Hyperic エージェント(tar.gz ファイル版)を導入します。

保護対象の Oracle Database は事前に構築済みという想定です。

vSphere AppHA への道。Part 6. Hyperic エージェントの導入

 

Hyperic エージェントは RPM 版でもインストールできます。

vCenter Hyperic の HQ Agent を RPM でインストール。(AppHA 関連)

appha-image-p6.png

 

保護対象アプリに対して、AppHA のポリシーを作成します。

ここではポリシー作成だけで、まだ割り当てません・・・

vSphere AppHA への道。Part 7. AppHA ポリシーの作成

appha-image-p7.png

 

作成したポリシーを、保護対象アプリに割り当てます。

vSphere AppHA への道。Part 8. AppHA ポリシーの割り当て ~ 動作確認

 

AppHA のポリシーと監視対象アプリの関係はこんな感じです。

vSphere AppHA のアプリ監視とアプリ保護の設定について。

 

Hyperic エージェントの同期ができない場合は、時刻同期も確認します。

vSphere AppHA の「エージェントが同期していません」について。


最後にアプリケーションをわざと停止して、

Hyperic エージェントで Oracle が自動復旧される様子などを確認しています。

赤い矢印のあたりで色々な連携がされている模様・・・

appha-image-p8.png

 

ちなみに、Apache httpd Server(いわゆる Apache)を保護するときは

こんな感じになります。

vSphere AppHA で Linux ゲストの Apache httpd を保護してみる。

 

最後に、AppHA のマニュアルはこちら。

http://www.vmware.com/jp/support/support-resources/pubs/vsphere-esxi-vcenter-server-pubs/appha-pubs.html

 

以上、これまでの AppHA ポストのまとめでした。

今回は、vSphere AppHA のアプリケーション監視と

アプリケーション監視の設定についてです。

 

AppHA は vCenter Hyperic と連携して動作しています。

それぞれの役割分担は、下記のような感じです。

  • 保護対象アプリケーションの障害をどう検知するかは、Hyperic 側で設定します。
  • アプリケーションで障害があった時に、どう復旧するかは、WebClient の AppHA ポリシーで設定します。

 

AppHA アプリケーション保護までの流れ

 

AppHA で保護する場合、ゲスト OS には VMware Tools とあわせて

Hyperic のエージェント(HQ Agent)を導入します。

 

Hyperic は、ゲスト OS の HQ Agent によって監視情報を取得します。

Hyperic が対応しているアプリは自動検出されるので、Hyperic の Web UI で

それを監視リソースとして登録したうえで、監視のための設定をします。

※監視対象のアプリが一般的な構成であれば、設定変更が不要なこともあります。

 

Hyperic が監視リソース登録したアプリのうち、AppHA が対応しているものが

自動検出されて Web Client の AppHA の「アプリケーションの可用性」画面に表示されます。

 

AppHA では、この保護対象になりうるアプリに対して

アプリ保護設定を「ポリシー」として割り当てます。

 

絵にすると、下記のような感じです。

appha-hq-policy-01.png

 

たとえば、Apache httpd Server を AppHA で保護するときに、

監視対象の httpd のインストールディレクトリや、

IP アドレス、ポート名などは Hyperic 側で設定します。

その httpd プロセスが障害で停止したときに、どう保護(復旧)するか

(プロセス再起動して何分待ってだめだったら VM をリセットしてしまうか、など)

の設定は AppHA が担当するイメージです。

この AppHA 側での保護設定が AppHA ポリシーで設定されます。

 

AppHA のポリシーは、1つのポリシーを複数の(同種の)アプリに割り当てることもできます。

appha-hq-policy-02.png

 

Hyperic での監視リソース設定の表示/確認

 

Hyperic 側で、アプリの監視設定の確認・変更は下記のような手順になります。

今回は、すでに Hyperic で監視設定済みの Apache httpd Server の監視設定を見てみます。

 

Hyperic の Web UI で作業します。

appha-hq-edit-00.png

 

「Resources」タブを開きます。

ちなみに「Resources」→「Browse」でも同じ画面が開きます。

appha-hq-edit-01.png

 

「Servers」をクリックして、「Apache httpd」を選択して、

緑色の三角ボタンをクリックします。

appha-hq-edit-02.png

 

Apache httpd の監視リソースだけが表示されるようになるので、

設定を確認 / 変更したいリソースのリンクをクリックします。

appha-hq-edit-03.png

 

監視リソース個別の画面が表示されます。

画面の上の方に、どのリソースについての画面かが表示されています。

設定は「Inventory」タブで確認できます。

※他にも、Hyperic では色々な画面遷移で同じところにたどりつけます。

appha-hq-edit-04.png

 

各セクションの「Edit」ボタンで設定変更ができます。

画面の一番下に「Configuration Properties」というセクションがあり、

そこの「Edit」をクリックすると、監視設定を変更できます。

appha-hq-edit-05.png

 

このように設定変更できる画面が開きます。

appha-hq-edit-06.png

 

設定を変更する場合は、この画面の下の方にある「OK」ボタンをクリックします。

また、監視リソースの設定については、この画面の最後に説明があります。

httpd の場合は、監視に mod_status を利用することなどが書かれています。

appha-hq-edit-07.png

 

AppHA からの監視リソース設定

 

監視設定は、基本的に Hyperic が担当していますが、

一般的にアプリごと(ゲスト OS ごと)で個別に設定変更が必要になりそうな監視設定は、

ある程度 Web Client での AppHA のポリシー設定でも設定できるようになっています。

AppHA ポリシーで設定した監視設定は、前述の Hyperic 側の監視設定にも反映されます。

appha-hq-edit-08.png

 

AppHA ポリシーで設定できる監視設定はアプリによって異なります。

たとえば、AppHA 1.1 の Apache httpd 用の AppHA ポリシーで

設定できるものは下記です。(項目名は UI に書いてあるままです)

  • ホスト名
  • ソケット タイムアウト(秒)
  • ポート
  • パス
  • サービス名(Windows)
  • PID ファイル(Linux)
  • プログラム パスの制御(Linux)

 

アプリ保護のための設定を楽にするため

Hyperic の設定を AppHA 側の設定画面でもできるように

したのではないかと思われます。

 

AppHA 環境の構築については、こちらからどうぞ・・・

vSphere AppHA への道。Part 1. Hyperic の vApp デプロイ

 

以上、AppHA のアプリケーション監視、保護設定についてでした。

これまで、このブログの AppHA 系ポストでは

tar.gz 形式の Hyperic エージェント(HQ Agent)を使っていました。

 

vSphere AppHA への道。Part 3. Hyperic への VC 登録

vSphere AppHA への道。Part 6. Hyperic エージェントの導入

vSphere AppHA で Linux ゲストの Apache httpd を保護してみる。

 

しかし、よく見たら MyVMware のダウンロードサイトには RPM もありました。

vCenter-hyperic-agent-5.8.1.EE-1.noarch.rpm

 

そこで、さっそくインストールしてみようと思います。

 

インストール先は

今回も、いつもの Red Hat 系 Linux です・・・

[root@vm04 ~]# cat /etc/oracle-release

Oracle Linux Server release 6.5

 

RPM の情報です。

[root@vm04 ~]# rpm -qpi vCenter-hyperic-agent-5.8.1.EE-1.noarch.rpm

Name        : vCenter-hyperic-agent        Relocations: /opt/hyperic

Version     : 5.8.1.EE                          Vendor: VMware, Inc.

Release     : 1                             Build Date: 2014年02月23日 20時20分26秒

Install Date: (not installed)               Build Host: ubuntu

Group       : Applications/Monitoring       Source RPM: vCenter-hyperic-agent-5.8.1.EE-1.src.rpm

Size        : 75857497                         License: Commercial

Signature   : (none)

URL         : http://www.vmware.com/products/vfabric-hyperic/

Summary     : VMware vCenter Hyperic Agent

Description :

 

Agent for the vCenter Hyperic HQ systems management system.

 

この RPM では、下記のような感じでファイルがインストールされます。

HQ Agent は /opt/hyperic ディレクトリ配下にインストールされます。

そして /etc/init.d のスクリプトも用意されていました。

[root@vm04 ~]# rpm -qpl vCenter-hyperic-agent-5.8.1.EE-1.noarch.rpm | head

/etc/init.d/hyperic-hqee-agent

/opt/hyperic/hq-plugins

/opt/hyperic/hyperic-hqee-agent

/opt/hyperic/hyperic-hqee-agent/README.txt

/opt/hyperic/hyperic-hqee-agent/bin

/opt/hyperic/hyperic-hqee-agent/bin/hq-agent.sh

/opt/hyperic/hyperic-hqee-agent/bin/logBundleAgent.bat

/opt/hyperic/hyperic-hqee-agent/bin/logBundleAgent.sh

/opt/hyperic/hyperic-hqee-agent/bundles

/opt/hyperic/hyperic-hqee-agent/bundles/agent-5.8.1

[root@vm04 ~]# rpm -qpl vCenter-hyperic-agent-5.8.1.EE-1.noarch.rpm | tail

/opt/hyperic/hyperic-hqee-agent/wrapper/lib/libwrapper-linux-ppc-64.so

/opt/hyperic/hyperic-hqee-agent/wrapper/lib/libwrapper-linux-x86-32.so

/opt/hyperic/hyperic-hqee-agent/wrapper/lib/libwrapper-linux-x86-64.so

/opt/hyperic/hyperic-hqee-agent/wrapper/lib/license-wrapper.txt

/opt/hyperic/hyperic-hqee-agent/wrapper/lib/wrapper.jar

/opt/hyperic/hyperic-hqee-agent/wrapper/sbin

/opt/hyperic/hyperic-hqee-agent/wrapper/sbin/wrapper-linux-ppc-64

/opt/hyperic/hyperic-hqee-agent/wrapper/sbin/wrapper-linux-x86-32

/opt/hyperic/hyperic-hqee-agent/wrapper/sbin/wrapper-linux-x86-64

/opt/hyperic/hyperic-hqee-agent/wrapper/wrapper-community-license-1.1.txt

 

インストールしてみます。

[root@vm04 ~]# rpm -ivh vCenter-hyperic-agent-5.8.1.EE-1.noarch.rpm

準備中...                ########################################### [100%]

   1:vCenter-hyperic-agent  ########################################### [100%]

 

The HQ Agent has successfully been installed, and the service has been

configured to start at boot. Prior to starting the service, be sure to

uncomment and modify the agent.setup values in the agent.properties file in

/opt/hyperic/hyperic-hqee-agent/conf. Instructions for doing so can be found online

at http://support.hyperic.com/display/DOC/Configure+Agent+-+Server+Communication+in+Properties+File.

You will also want to check the sanity of the

HQ_JAVA_HOME setting in the /etc/init.d/hyperic-hqee-agent init script.

 

[root@vm04 ~]#

 

インストールすると、chkconfig でも「hyperic-hqee-agent」という名前で登録されます。

[root@vm04 ~]# rpm -qa | grep hyperic

vCenter-hyperic-agent-5.8.1.EE-1.noarch

[root@vm04 ~]# chkconfig --list | grep hq

hyperic-hqee-agent      0:off   1:off   2:on    3:on    4:on    5:on    6:off

 

エージェントの設定ファイルは下記になります。

/opt/hyperic/hyperic-hqee-agent/conf/agent.properties

 

今回も、これまで同様に設定ファイルを編集します。

80行目と、199行目の2か所だけ編集しています。

[root@vm04 ~]# cd /opt/hyperic/hyperic-hqee-agent/conf/

[root@vm04 conf]# cp -p agent.properties agent.properties_bk

[root@vm04 conf]# sed -i "s/#agent.setup.acceptUnverifiedCertificate=no/agent.setup.acceptUnverifiedCertificate=yes/" agent.properties

[root@vm04 conf]# sed -i "s/^accept.unverified.certificates=false/accept.unverified.certificates=true/" agent.properties

[root@vm04 conf]# diff agent.properties_bk agent.properties

80c80

< #agent.setup.acceptUnverifiedCertificate=no

---

> agent.setup.acceptUnverifiedCertificate=yes

199c199

< accept.unverified.certificates=false

---

> accept.unverified.certificates=true

 

デフォルトのままだと、Oracle Linux だと

JAVA_HOME が違って、HQ Agent を起動できません。

[root@vm04 conf]# service hyperic-hqee-agent start

Starting the hyperic agent...

Invalid Java Home detected at /usr/lib/jvm/java-6-openjdk/jre

 

そこで、起動スクリプト(/etc/init.d/hyperic-hqee-agent)の

JAVA_HOME を編集してしまいます。

[root@vm04 conf]# cd

[root@vm04 ~]# cp -p /etc/init.d/hyperic-hqee-agent hyperic-hqee-agent_bk

[root@vm04 ~]# vi /etc/init.d/hyperic-hqee-agent

[root@vm04 ~]# diff hyperic-hqee-agent_bk /etc/init.d/hyperic-hqee-agent

21c21,22

< export JAVA_HOME=/usr/lib/jvm/java-6-openjdk/jre

---

> #export JAVA_HOME=/usr/lib/jvm/java-6-openjdk/jre

> export JAVA_HOME=/usr/lib/jvm/jre-1.6.0-openjdk.x86_64

 

起動できました。

初回起動なので、対話形式でエージェント設定をしています。

[root@vm04 ~]# service hyperic-hqee-agent start

Starting the hyperic agent...

Starting HQ Agent...... running (5891).

- No token file found, waiting for Agent to initialize

[ Running agent setup ]

Should Agent communications to HQ be unidirectional [default=no]:

What is the HQ server IP address: 192.168.5.186 ★Hyperic サーバの IP

Should Agent communications to HQ always be secure [default=yes]:

What is the HQ server SSL port [default=7443]:

- Testing secure connection ... Success

What is your HQ login [default=hqadmin]:

What is your HQ password: ★Hyperic のパスワードを入力

What IP should HQ use to contact the agent [default=192.168.5.194]:

What port should HQ use to contact the agent [default=2144]:

- Received temporary auth token from agent

- Registering agent with HQ

The server to agent communication channel is using a self-signed certificate and could not be verified

Are you sure you want to continue connecting? [default=no]: yes

- HQ gave us the following agent token

    1401664631613-5447347474204685215-2001479113554227394

- Informing agent of new HQ server

- Validating

- Successfully setup agent

[root@vm04 ~]#

 

これで、RPM 版 HQ Agent の導入ができました。

tar.gz ファイルでも、RPM ファイルでも、どちらもインストールは簡単なので、

環境に合わせてなじみのある形式を選択するとよいと思いました。

 

vSphere AppHA 環境構築全体の流れはこちらからどうぞ・・・

vSphere AppHA への道。Part 1. Hyperic の vApp デプロイ

 

以上、HQ Agent の RPM インストールでした。