2020.08.26
MaxGaugeサーバのHAクラスタ検証 #1
こんにちは、日本エクセム おかむらです。
MaxGaugeサーバの可用性を高めるためアクティブ・スタンバイのHAクラスタ構成の検証を行いたいと思います。MaxGaugeサーバがダウンして復旧に時間がかかるサイトなどではHAクラス構成にすることでMaxGaugeで収集する稼働データのロスを防ぐことが出来ます。
今回の検証の対象はMaxGaugeサーバがLinux環境になります。
検証の前におさらい : MaxGaugeの構成について
MaxGauge for Oracle は、監視対象のOracleデータベースサーバにMaxGaugeのエージェントを設置してエージェントが取得したデータをMaxGaugeサーバにデータを保存しています。
保存したデータは、WEBブラウザからMaxGaugeサーバのWEBページにアクセスして監視対象Oracleの稼働情報を閲覧することが出来ます。
今回は、MaxGauge・構成イメージの真ん中にあるMaxGaugeサーバを冗長化構成にします。
MaxGaugeサーバがデータを収集出来ない状態(例えば、MaxGaugeサーバがダウン)になると、監視対象のOracleデータベースサーバで稼働するエージェントが一時的に稼働データをローカルのストレージに保存します。(デフォルトでは1GBを上限に保存)MaxGaugeサーバが復旧すると一時的に保存している稼働データをMaxGaugeサーバに順次送信する仕組みがあります。この仕組みは短時間のサービス停止ではデータのロスが発生しませんが、障害などで長時間MaxGaugeサーバが停止すると稼働データのロスが発生します。
ハードウェア障害など長時間MaxGaugeサーバの停止が発生するような状況の場合、冗長化することでMaxGaugeのサービスを継続することが可能となります。
MaxGaugeサーバの冗長化構成
今回の検証では、MaxGaugeサーバをアクティブ・スタンバイのHAクラスタで構成にします。
MaxGaugeサーバの動作に必要なサービス
MaxGaugeサーバは、主に2つの役割があります。
- 監視対象のOracleデータベースより稼働データを収集・リポジトリデータベースに保存
- 保存されたリポジトリデータベースの稼働データを閲覧させる
MaxGaugeサーバは上記を行うため、4つのサービスを稼働させます。
サービス名 | 説明 |
---|---|
DataGather Master | MaxGaugeの稼働データを管理するためのサービス(マスター) リポジトリデータベースの管理、スレーブサービスの管理などが主な役割 |
DataGather Slave | MaxGaugeの稼働データを管理するためのサービス(サービス) 稼働データをリポジトリデータベースに登録、データ収集などが主な役割 |
PlatformJS | 保存されたリポジトリデータベースの稼働データをWEBブラウザから閲覧させるためのWEBアプリケーションサーバ |
PostgreSQL | 収集した稼働データを保存するリポジトリデータベース |
通常のMaxGaugeサーバ(シングル構成)では各サービスをsystemdやinit.dで管理しています。
HAクラスタの構成
今回検証するMaxGaugeサーバのHAクラスタ構成は以下の図のように構成します。
共有ストレージには、PostgreSQLのデータディレクトリ(PGDATA)を保存して、ノードの切り替えが発生しても同一のデータを参照出来るようにします。
MaxGaugeのWEB閲覧は、VIP経由で閲覧させます。また、監視対象データベースに設置したMaxGaugeのエージェントはVIPに対して性能データをMaxGaugeサーバに送信します。
次回は、MaxGaugeサーバのHAクラスタ構成の構築方法について説明します。