ThingWorx 高可用性 > 高可用性システムの監視
高可用性システムの監視
ThingWorx HA 構成は多数のコンポーネントから成ります。そのすべてを監視することは複雑であり、最良事例としては管理ツールを使用して管理者のタスクを軽減できます。
PTC System Monitor
PTC System Monitor (PSM) は、Dynatrace の Production Edition によって駆動される、独立したアプリケーションパフォーマンス監視システムです。Dynatrace Production Edition は、ThingWorx などの PTC 製品を監視するための要件を満たすように、PTC によって調整されています。PTC System Monitor では便利なダッシュボードと計装が提供され、監視を行いながら重要なパフォーマンス要件を維持できます。
PTC System Monitor に関するドキュメンテーション:
PSM のデフォルトの展開では、ThingWorx サーバーおよびデータベースサーバーごとに監視ソリューションが提供されます。PSM を使用することで、追加のいくつかのプラグインを介して ThingWorx HA 構成のその他のコンポーネントも監視できます。
データベース監視 PSM
PSM には Microsoft SQL Server の監視機能が組み込まれています。
PostgreSQL 用のオプションの監視プラグインも用意されています。最新のプラグインを入手するには、 Dynatrace の GitHub リポジトリに移動し、'postgresql' をサーチしてください。この結果として表示されたリンクから、プラグイン、インストールとコンフィギュレーションの手順、および監視対象のメトリックスについての説明をダウンロードします。
ZooKeeper 監視 PSM
Dynatrace JMX モニターを使用して ZooKeeper からメトリックスを収集できます。
HAProxy 監視 PSM
Dynatrace JMX モニターを使用して HAProxy からメトリックスを収集できます。
一般的な監視情報
ThingWorx HA 構成では各サーバーで以下のメトリックスを監視することをお勧めします。
各マシンまたはプロセスの CPU 利用率
メモリ使用率
ハードディスク領域
開いているポート
環境下の各コンポーネントに、監視するその他のメトリックスがあります。コンポーネントのメトリックスの詳細については、以下のセクションを参照してください。
ZooKeeper
ZooKeeper の監視方法については以下を参照してください。
ZooKeeper は 2 つの方法による監視をサポートしています
1. 4 文字の決まった単語を指定してそのコマンドポートへの呼び出しを行います。
2. JMX
デフォルトのコンフィギュレーションでは、ZooKeeper は以下のポートで通信します。
ポート 2181 - クライアント接続に使用
ポート 2888 - フォロワーハートビートメッセージに使用
ポート 3888 - リーダー選出時にその他の ZooKeeper ノードとの通信に使用
ZooKeeper はそのログ作成ソリューションとして Log4j を使用します。詳細については、 https://zookeeper.apache.org/doc/r3.4.12/zookeeperAdmin.html#sc_logging を参照してください。
Pgpool-II
デフォルトでは、Pgpool-II はウォッチドッグメッセージをポート 9000 で伝達し、ハートビートをポート 9694 で伝達します。
ウォッチドッグを使用した Pgpool-II は、ファイルの場所 /usr/sbin/pgpool にある pgpool という名前の 1 つのプロセスとして動作します。以下のコマンドを使用して、プロセスのステータスをチェックできます。
ps -elf | grep pgpool
Pgpool-II が動作していることを示す、プロセスのリストが返されます。
発生したイベントやエラーが syslog に記録されています。
以下のメッセージは、ウォッチドッグを使用した Pgpool-II が正常に開始したことを示しています。
...
wd_init: start watchdog
pgpool-II successfully started. version x.x.x (...)
find_primary_node: primary node id is 0
...
PostgreSQL
PostgreSQL には統計コレクターと呼ばれる監視用のサブシステムが含まれており、これは postgresql.conf ファイルで設定されています。詳細については、 http://www.postgresql.org/docs/current/static/monitoring-stats.html を参照してください。PostgreSQL 監視オプションの詳細については、 https://wiki.postgresql.org/wiki/Monitoring を参照してください。
デフォルトでは、PostgreSQL はポート 5432 でデータベース接続を受け付けます。
Ubuntu 環境では、PostgreSQL は postgresql という名前のサービス上で実行します。
PostgreSQL はそのログを /var/log/postgresql/postgresql-10.x-main.log ファイルに保管します。システムが動作していることを確認するには、以下のメッセージがログに記録されている必要があります。
...
(...) LOG: database system is ready to accept connections
...
HAProxy
HAProxy には組み込みのステータス Web ページがあり、haproxy.cfg ファイルにコンフィギュレーション設定を追加し、ブラウザで設定済みのポートに移動することで、このページにアクセスできます。デフォルトのコンフィギュレーションでは、ポート 1936 で HAProxy ステータスページに移動できます。
HAProxy ポートの使用はユーザーの環境でのコンフィギュレーションによって異なりますが、HAProxy と ThingWorx のコンフィギュレーションの例ではポート 8080 が使用されています。SSL 環境では、ポート 8443 を許可するように設定されている必要があります。デフォルト設定のコンフィギュレーションファイルを使用している場合、HAProxy ステータスページはポート 1936 で通信します。
HAProxy は haproxy という名前のサービス上で実行します。
HAProxy はサービス詳細のログを /var/log/syslog に記録します。/var/log/haproxy.log にも HAProxy 独自のログがあり、起動時またはランタイム中に HAProxy で問題が発生した場合にはここにエラーが書き込まれます。