ThingWorx 高可用性 > 高可用性システムの監視
高可用性システムの監視
ThingWorx HA 構成は多数のコンポーネントから成ります。そのすべてを監視することは複雑であり、最良事例としては管理ツールを使用して管理者のタスクを軽減できます。
一般的な監視情報
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 で問題が発生した場合にはここにエラーが書き込まれます。
Ignite
ThingWorx 9.6 以降では、Ignite 2.16 がサポートされています。
Ignite 判定基準レポートは、以下のカテゴリについて JMX および Prometheus で使用できます。
キャッシュ
パーティションマップ交換
計算ジョブ
スレッドプール
通信 IO
検出 IO
判定基準レポートを有効にするには、次のコンフィギュレーションを有効にします。
コンフィギュレーション
タイプ
デフォルト値
有効な値
default-enable-metrics
BOOLEAN
false
true
false
選択済みのキャッシュレポートは、ignite のコンフィギュレーションでサポートされています。
"cache" : {
"ignite" : {
"caches" : {
"thing_propertyValueCache" : {
"enable-metrics" : true
}
}
}
}
Ignite 判定基準は、JMX を使用して MBean オブジェクトおよび MBean 属性として公開され、JConsole などのビジュアリゼーションツールで視覚化できます。
これらの判定基準は、Prometheus と Grafana におけるビジュアリゼーションでも使用できます。
Prometheus で使用可能な判定基準にアクセスするには、以下の構文を使用します。
キャッシュ - ignite_<name_of_the_cache>_<metric_name>
PME (パーティションマップ交換) - ignite_pme_<metric_name>
計算ジョブ - ignite_jobs_<metrics_name>
通信 - ignite_communication_<metrics_name>
検出 - ignite_discovery_<metrics_name>
クラスタ - ignite_cluster_<metric_name>
スレッドプール - ignite_threadpools_<metric_name>
これは役に立ちましたか?