Edge for Private Cloud v. 4.16.05
このドキュメントでは、オンプレミスでサポートされているコンポーネントの監視手法について説明します。 デプロイする方法を説明します
JMX 認証の有効化と有効化 JMX パスワードの設定
Management Server、Message Processor、Qpid、Postgres のモニタリング プロセスでは JMX が使用されます。JMX はデフォルトで有効になっており、リモート JMX アクセスにパスワードは必要ありません。
JMX 認証を有効にするために、各コンポーネントには change_jmx_auth アクションがあり、これを使用して 認証の有効化/無効化、JMX 認証情報の設定などができます。
JMX 認証を有効にするには、次のコマンドを使用します。
> /<inst_root>/apigee/apigee-service/bin/apigee-service comp change_jmx_auth optionsOrConfigFile
ここで
- comp は、edge-management-server、edge-message-processor、 Edge-router、edge-qpid-server、または edge-postgres-server.
- 次の選択肢があります。
- -u: ユーザー名
- -p: パスワード
- -e: y(有効にする)または n (dsiable)
- 構成ファイルの内容:
- JMX_USERNAME=ユーザー名
- JMX_ENABLED=y/n
- JMX_PASSWORD=password (設定されていない場合、または -p で渡されない場合は、プロンプトが表示されます)
たとえば、コマンドラインでオプションを使用するには、次のようにします。
> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-management-server change_jmx_auth -u foo -p bar -e y
構成ファイルがある場合:
> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-management-server change_jmx_auth -f configFile
複数のノードで Edge を実行している場合は、すべてのノードで同じ ユーザー名とパスワードです。
後で JMX 認証を無効にするには、次のコマンドを使用します。
> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-management-server change_jmx_auth -e n
管理サーバー
JConsole を使用してシステムのヘルスチェックとプロセス情報をモニタリングする
JConsole(JMX 準拠のツール)を使用して、ヘルスチェックとプロセスの統計情報を管理およびモニタリングします。 JConsole を使用すると、Management Server(または任意のサーバー)によって公開された JMX 統計情報を利用できます。 グラフィカルインターフェースで表示できますJConsole の使用方法の詳細については、http://docs.oracle.com/javase/8/docs/technotes/guides/management/jconsole.html をご覧ください。
JConsole と次のサービス URL を使用して JMX 属性をモニタリングします (MBeans)です。
service:jmx:rmi:///jndi/rmi://<ip address>:<port>/platform
ここで、<ip address> は Management Server(または あります。デフォルトでは、Management Server のポートは 1099 です。
次の表に、一般的な JMX 統計を示します。
JMX MBeans |
JMX 属性 |
---|---|
メモリ |
HeapMemoryUsage |
NonHeapMemoryUsage |
|
用途 |
|
注: 属性値は、commit された、 init、max、used です。 |
Edge Application API の使用 チェック
Management Server(または任意のサーバー)で API チェックを実行するには、次の関数を呼び出します。 CURL コマンド:
curl http://<host>:8080/v1/servers/self/up
ここで、<host> は管理用の IP アドレスです。 できます。
この呼び出しでは、「true」と「false」が返されます。true の場合、ノードは稼働しており、Java サービスは稼働しています。 できます。
HTTP 200(OK)レスポンスを受信しない場合、Edge はポート 8080 に応答できません。 できます。
トラブルシューティング
- サーバーにログインして、次のコマンドを実行します。
/<inst_root>/apigee/apigee-service/bin/apigee-service Edge 管理サーバーのステータス - サービスが実行されていない場合は、サービスを開始します。
/<inst_root>/apigee/apigee-service/bin/apigee-service Edge-management-server start
Edge の使用 アプリケーション - ユーザー、組織、デプロイのチェック
Management Server は、各オンプレミス ゾーンでその他すべての区画をまとめて管理する インストールできます。ユーザー、組織、デプロイのステータスは管理サーバーで確認できます 以下のコマンドを発行します。
curl -u userEmail:password http://localhost:8080/v1/users curl -u userEmail:password http://localhost:8080/v1/organizations curl -u userEmail:password http://localhost:8080/v1/organizations/orgname/deployments
システムに「deployed」と表示されます。ステータスが表示されます。失敗した場合は、 次のとおりです。
- Management Server のログを確認する(<inst_root>/apigee/var/log/edge-management-server) 確認してください
- Management Server に対して呼び出しを行い、機能しているかどうかを確認します。 確認します。
- ELB からサーバーを削除してから、Management Server を再起動します。
/<inst_root>/apigee/apigee-service/bin/apigee-service Edge-management-server の再起動
ルーター
Router(または任意のサーバー)で API チェックを実行するには、次の CURL を呼び出します。 command:
curl http://<host>:8081/v1/servers/self/up
ここで、host は Router の IP アドレスです。
この呼び出しでは、「true」と「false」が返されます。true の場合、ノードが稼働していて、Java サービスが実行されていることを意味します。
HTTP 200(OK)レスポンスを受信しない場合、Edge はポート 8081 に応答できません。 できます。
トラブルシューティング
- サーバーにログインして、次のコマンドを実行します。
/<inst_root>/apigee/apigee-service/bin/apigee-service エッジルーターのステータス - サービスが実行されていない場合は、サービスを開始します。
/<inst_root>/apigee/apigee-service/bin/apigee-service エッジルーターの起動 - サービスが実行されている場合は、サービスが機能していることをテストします。クラスタのステータスをモニタリングするには、
「メンバー数」を「到達可能カウント」に対してチェックし、
'memberCount != reachableCount'
curl -v -u <userEmail>:<password>http://localhost:port/v1/cluster
ポート – Router の場合は 8081、Message Processor の場合は 8082。上記の出力は、 CURL コマンドを以下に示します。
{
「memberCount」: 12、
「pod」: "rea1gw001",
"reachableCount": 12、
「region」: "us-east-1",
"types": [ "management-server"]
* ホスト ms05apigee への接続 #0 はそのまま残る
* 接続 #0
を閉じる } - 機能していない場合は、次のコマンドを実行して障害を調べるか、問題のあるメンバーを見つけます。
curl http://localhost:port/v1/cluster/members
ここで、ポートは、Router の場合は 8081、Message Processor の場合は 8082 です。上記の出力は、 CURL コマンドは次のようになります。
{
"lastChange": 0、
"レイテンシ": 0、
"州": "CONNECTED"、
「uuid」: "9c4c8bde-0015-4dc5-82d2-59fb326c4074"
}, {
"住所": "/192.168.5.209:4526",
"clusterType": "router,message-processor",
"lastChange": 1350658037228、
"レイテンシ": 3、
「pod」: "rea1gw001",
「region」: "us-east-1",
「serverType」: "message-processor",
"州": "CONNECTED"、
「uuid」: "f1c663a1-2bb8-469f-b5fd-69a5c5aa91c5"
}, {
"住所": "/192.168.5.29:4526",
"clusterType": "router,message-processor",
"lastChange": 1350623005057、
"レイテンシ": 1、
「pod」: "rea1gw001",
「region」: "us-east-1",
「serverType」: "message-processor",
"州": "DISCONNECTED ",
「uuid」: "4cfe932b-f644-4581-b1ae-df338af9c7ce"
}, {
"住所": "/192.168.4.182:4526",
"clusterType": "router,message-processor",
"lastChange": 1350657730535、
"レイテンシ": 1、
「pod」: "rea1gw001",
「region」: "us-east-1",
「serverType」: "message-processor",
"州": "CONNECTED"、
「uuid」: "cba063d5-b8a4-409f-9e0b-f5d403e02091"
} - IP アドレス 192.168.5.29 が切断されていることに注意してください。サーバーを再起動する
/<inst_root>/apigee/apigee-service/bin/apigee-service エッジルーターの再起動
注: ルーターが切断されている場合は、ELB からルーターを削除してから、 再起動する必要があります。 - 再起動後、動作していることを確認します。
curl -v http://localhost:port/v1/cluster
ここで、port は Router では 8081、Message Processor では 8082 です。
Message Processor
使用 JConsole によるシステムのヘルスチェックのモニタリングと情報の処理
Management Server についても同じ操作を行います。
注: ポート – 1101 を使用してください。
Edge Application API の使用 チェック
前述のルーターについても同じ手順を行います。
注: ポート 8082 を使用していることを確認してください。
JMX メッセージ フロー チェックを使用する
Management Server の場合と同様に操作します。
注: ポート 1101 を使用してください。
Qpid Server
JConsole の使用 システムのヘルスチェックをモニタリングし、情報を
Management Server についても同じ操作を行います。
注: ポート – 1102 を使用してください。
Edge Application API チェックの使用
Management Server の場合と同様に操作します。
注: ポート 8083 を使用していることを確認してください。Qpid サーバーでは、次の CURL コマンドもサポートされています。
curl http://<qpid_IP>:8083/v1/servers/self
Postgres Server
使用 JConsole によるシステムのヘルスチェックのモニタリングと情報の処理
Management Server についても同じ操作を行います。
注: ポート - 1103 を使用していることを確認してください。
Edge Application API チェックの使用
Management Server についても同じ操作を行います。
注: ポート 8084 を使用していることを確認してください。Postgres サーバーでは、次の CURL コマンドもサポートされています。
curl http://<postgres_IP>:8084/v1/servers/self
Edge アプリケーションの組織と環境のチェックを使用する
Postgres サーバーにオンボーディングされている組織名と環境名を確認できます。 次の CURL コマンドを実行します。
curl http:// <postgres_IP>:8084/v1/servers/self/organizations
注: ポート 8084 を使用していることを確認してください。
システムに組織名と環境名が表示されます。
Edge アプリケーションの axstatus を使用する チェック
分析サーバーのステータスを確認するには、次の CURL を発行します。 使用できます。
curl -u userEmail:password http://<host>:<port>/v1/organizations/<orgname>/environments/<envname>/provisioning/axstatus
すべての分析サーバーの [SUCCESS] ステータスが表示されます。上記の CURL コマンドの出力は次のとおりです。
{ "environments" : [ { "components" : [ { "message" : "success at Thu Feb 28 10:27:38 CET 2013", "name" : "pg", "status" : "SUCCESS", "uuid" : "[c678d16c-7990-4a5a-ae19-a99f925fcb93]" }, { "message" : "success at Thu Feb 28 10:29:03 CET 2013", "name" : "qs", "status" : "SUCCESS", "uuid" : "[ee9f0db7-a9d3-4d21-96c5-1a15b0bf0adf]" } ], "message" : "", "name" : "prod" } ], "organization" : "acme", "status" : "SUCCESS" }
PostgreSQL データベース
check_postgres.pl の使用 スクリプト
PostgreSQL データベースをモニタリングするには、標準のモニタリング スクリプト check_postgres.pl を使用します。このスクリプトは、次の場所から入手できます。 http://bucardo.org/wiki/Check_postgres.
注: スクリプト check_postgres.pl は、各 Postgres ノードにインストールする必要があります。
スクリプトを実行する前に:
- perl-Time-HiRes.x86_64 がインストールされていることを確認します。これは、
高精度アラーム、スリープ、gettimeofday、インターバルタイマーを実装しています。たとえば、
次のコマンドを使用してインストールできます。
yum インストール perl-Time-HiRes.x86_64
スクリプト check_postgres.pl を使用した API 呼び出しのデフォルトの出力は、Nagios と互換性があります。スクリプトをインストールした後、次の検査を行います。
- データベースのサイズ - データベースのサイズを確認します。
check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -include=apigee -action database_size --warning='800 GB' --Critical='900 GB' - データベースへの受信接続 - データベースへの受信接続の数をチェックします。
データベースを調べて、最大許容接続数と比較します。
check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action バックエンド - データベースの可用性とパフォーマンス - データベースが稼働しているか、
使用可能:
check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action connection - ディスク容量 - ディスク容量を確認します。
check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action disk_space --warning='80%' --Critical='90%' - オンボーディングされた組織/環境 - 組織の数と
Postgres ノードにオンボーディングされた環境:
check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action=custom_query --query="select count(*) as result schemaname='analytics' の pg_tables から%fact などのテーブル名を使用します。--warning='80' --Critical='90'--valtype=integer
注: 上記のコマンドの使用についてサポートが必要な場合は、http://bucardo.org/check_postgres/check_postgres.pl.html をご覧ください。
DB チェック
PostgreSQL データベースに適切なテーブルが作成されていることを確認できます。PostgreSQL にログインする データベースに
psql -h /opt/apigee/var/run/apigee-postgresql/ -U apigee -d apigee
次のコマンドを実行します。
\d analytics."<org>.<env>.fact"
Postgres プロセスのヘルス ステータスを検査する
次の CURL コマンドを呼び出して、Postgres マシンで API チェックを実行できます。
http://<postgres_IP>:8084/v1/servers/self/health/
注: ポート 8084 を使用していることを確認してください。
postgres プロセスがアクティブになると、「ACTIVE」ステータスが返されます。Postgres が 「INACTIVE」ステータスが返されます。
Postgres のリソース
- http://www.postgresql.org/docs/9.0/static/monitoring.html
- http://www.postgresql.org/docs/9.0/static/diskusage.html
- http://bucardo.org/check_postgres/check_postgres.pl.html
Apache Cassandra
JConsole の使用 – モニタリングタスク 統計データ
JConsole と次のサービス URL を使用して JMX 属性をモニタリングします (MBeans)です。
service:jmx:rmi:///jndi/rmi://<ip address>:7199/jmxrmi
ここで、<ip address> は Cassandra の IP アドレスです。 あります。
JMX はデフォルトで Cassandra に対して有効になっています。Cassandra へのリモート JMX アクセスには、 あります。
JMX 認証を有効にしてパスワードを追加するには:
- /<inst_root>/apigee/customer/application/cassandra.properties を編集します。ファイルが存在しない場合は作成します。
- このファイルに次の内容を追加します。
conf_cassandra-env_com.sun.management.jmxremote.authenticate=true - ファイルを保存します。
- 次のファイルを $JAVA_HOME ディレクトリから以下にコピーします。
/<inst_root>/apigee/data/apigee-cassandra/:
cp ${JAVA_HOME}/lib/management/jmxremote.password.template $APIGEE_ROOT/data/apigee-cassandra/jmxremote.password
cp ${JAVA_HOME}/lib/management/jmxremote.access $APIGEE_ROOT/data/apigee-cassandra/jmxremote.access - jmxremote.password を編集し、ユーザー名とパスワードをファイルに追加します。
cassandra password
ここで、password は JMX パスワードです。 - jmxremote.access と
次のロールを追加します。
cassandra 読み取り / 書き込み - ファイルの所有者が「apigee」であることを確認します。ファイルモードが 400 であることを確認します。
>chown apigee:apigee /<inst_root>/apigee/data/apigee-cassandra/jmxremote.*
>chmod 400 /<inst_root>/apigee/data/apigee-cassandra/jmxremote.* - configure を実行する
Cassandra:
> /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-cassandra 構成 - Cassandra を再起動します。
> /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-cassandra 再起動
後で認証を無効にするには:
- /<inst_root>/apigee/customer/application/cassandra.properties を編集します。
- ファイルから次の行を削除します。
conf_cassandra-env_com.sun.management.jmxremote.authenticate=true - Cassandra で構成を実行します。
> /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-cassandra 構成 - Cassandra を再起動します。
> /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-cassandra 再起動
Cassandra JMX の統計情報
JMX MBeans |
JMX 属性 |
---|---|
ColumnFamilies/apprepo/environments ColumnFamilies/apprepo/organizations ColumnFamilies/apprepo/apiproxy_revisions ColumnFamilies/apprepo/apiproxies ColumnFamilies/audit/audits ColumnFamilies/audit/audits_ref |
PendingTasks |
MemtableColumnsCount |
|
MemtableDataSize |
|
ReadCount |
|
RecentReadLatencyMicros |
|
TotalReadLatencyMicros |
|
WriteCount |
|
RecentWriteLatencyMicros |
|
TotalWriteLatencyMicros |
|
TotalDiskSpaceUsed |
|
LiveDiskSpaceUsed |
|
LiveSSTableCount |
|
BloomFilterFalsePositives |
|
RecentBloomFilterFalseRatio |
|
BloomFilterFalseRatio |
nodetool ユーティリティを使用してクラスタノードを管理する
Cassandra のコマンドライン インターフェースである nodetool ユーティリティを使用して、 提供します。このユーティリティは <inst_root>/apigee/apigee-cassandra/bin にあります。
nodetool ユーティリティの詳細については、http://www.datastax.com/docs/1.0/references/nodetool をご覧ください。
すべての Cassandra クラスタノードで、次の呼び出しを行うことができます。
- 一般的なリング情報(単一の Cassandra ノードでも可能):
「上」「Normal」自動的に適用されます。
[host]# nodetool -h localhost 着信音
上記のコマンドの出力は次のようになります。
住所 DC ラック ステータス ステータス 負荷 所有 トークン
192.168.124.201 dc1 ra1 上方 通常 1.67 MB 33,33% 0
192.168.124.202 dc1 ra1 上方 通常 1.68 MB 33,33% 56713727820156410577229101238628035242
192.168.124.203 dc1 ra1 上方 通常 1.67 MB 33,33% 113427455640312821154458202477256070484 - ノードに関する一般情報(ノードあたりの呼び出し)
nodetool -h localhost info
上記のコマンドの出力は次のようになります。
トークン : 0
ゴシップがアクティブ : true
読み込み : 1.67 MB
世代番号 : 1361968765
稼働時間(秒): 78108
ヒープメモリ(MB): 46,80 / 772,00
データセンター : dc1
ラック : ra1
例外 : 0 件 - Thrift サーバーのステータス(クライアント API の提供)
host]# nodetool -h localhost ステータススリフト
上記のコマンドの出力には、ステータスが「running」と表示されます。 - データ ストリーミング オペレーションのステータス: Cassandra のトラフィックを監視します。
nodes
nodetool -h localhost netstats 192.168.124.203
上記のコマンドの出力は次のようになります。
モード: NORMAL
/192.168.124.203 には何もストリーミングされません
/192.168.124.203 から何もストリーミングされていません
プール名がアクティブ、保留中、完了
コマンド なし 0 1,688
回答 該当なし 0 292277
Cassandra モニタリング(UI)
datastax opscenter の URL(http://www.datastax.com/products/opscenter)を参照してください。
Cassandra リソース
http://www.datastax.com/docs/1.0/operations/monitoring をご覧ください。
Apache ZooKeeper
ZooKeeper ステータスの確認
- ZooKeeper プロセスが実行されていることを確認します。ZooKeeper は PID ファイルを <inst_root>/apigee/var/run/apigee-zookeeper/apigee-zookeeper.pid に書き込みます。
- ZooKeeper ポートをテストして、ポート 2181 とポート 2181 への TCP 接続を確立できることを確認する すべての ZooKeeper サーバーで 3888。
- ZooKeeper データベースから値を読み取れることを確認します。ZooKeeper を使用して接続する クライアント ライブラリ(または /<inst_root>/apigee/apigee-zookeeper/bin/zkCli.sh) 読み取ります
- ステータスを確認します。
> /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-zookeeper status
ZooKeeper の 4 文字の単語の使用
ZooKeeper は、サービス アカウントに送信される少数のコマンド(4 文字の単語)を netcat(nc)または telnet を使用してポート 2181 に接続し、
ZooKeeper コマンドの詳細については、http://zookeeper.apache.org/doc/r3.1.2/zookeeperAdmin.html#sc_zkCommands をご覧ください。
例:
- srvr: サーバーの詳細情報を一覧表示します。
- stat: サーバーと接続クライアントの簡潔な詳細情報を一覧表示します。
ZooKeeper ポートに次のコマンドを発行できます。
- 4 文字のコマンド ruok を実行して、サーバーがエラー以外の状態で動作しているかどうかをテストします。
「imok」が返されます。
echo ruok |nc <ホスト> 2,181
戻り値:
imok - 4 文字のコマンド stat を実行して、サーバーのパフォーマンスと接続されたクライアントを一覧表示する
できます。
echo stat |nc <ホスト> 2,181
戻り値:
Zookeeper バージョン: 3.4.5-1392090、 ビルド日: 09/30/2012 17:52 GMT
クライアント:
/0:0:0:0:0:0:0:1:33467[0](queued=0,recved=1,sent=0)
/192.168.124.201:42388[1](queued=0,recved=8433,sent=8433)
/192.168.124.202:42185[1](queued=0,recved=1339,sent=1347)
/192.168.124.204:39296[1](queued=0,recved=7688,sent=7692)
レイテンシ(最小/平均/最大): 0/0/128
受信済み: 26144
送信済み: 26160
接続数: 4
未処理: 0
Zxid: 0x2000002c2
モード: フォロワー
ノード数: 283
注: ZooKeeper が Mode: Leader に設定されているかどうかを確認することが重要な場合があります。 フォロワーやオブザーバーです。 - netcat(nc)を使用できない場合は、代わりに python を使用します。ファイルを作成する
zookeeper.py という名前の
次の要素が含まれます。
インポート時間、ソケット、
sys c = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
c.connect((sys.argv[1], 2181))
c.send(sys.argv[2])
time.sleep(0.1)
print c.recv(512)
以下の Python 行を実行します。
Python zookeeper.py 192.168.124.201 Ruok
Python zookeeper.py 192.168.124.201 stat
OpenLDAP
LDAP レベルのテスト
OpenLDAP をモニタリングして、特定のリクエストが正しく処理されているかどうかを確認できます。イン つまり、正しい結果を返す特定の検索があるかどうかを確認します。
- ldapsearch を使用する
(yum install openldap-clients)
システム管理者のエントリをクエリできますこのエントリは、すべての API 呼び出しの認証に使用されます。
ldapsearch -b "uid=admin,ou=users,ou=global,dc=apigee,dc=com"-x -W -D "cn=manager,dc=apigee,dc=com"- 時間 ldap://localhost:10389 -LLL
LDAP 管理者パスワード
の入力を求められます。 LDAP パスワードを入力します。
パスワードを入力すると、次の形式のレスポンスが表示されます。
dn: uid=admin,ou=users,ou=global,dc=apigee,dc=com
オブジェクト クラス: OrganizationsPerson
オブジェクト クラス: ユーザー
objectClass: inetOrgPerson
objectClass: 上
uid: 管理者
Cn: 管理者
sn: 管理者
userPassword:: e1NTSEF9bS9xbS9RbVNXSFFtUWVsU1F0c3BGL3BQMkhObFp2eDFKUytmZVE9PQ=
=
メール: opdk@apigee.com - Management Server が LDAP の問題に引き続き接続されているかどうかを確認します。
curl -u <userEMail>:<password>http://localhost:8080/v1/users/<ADMIN>
戻り値:
{
"emailId": <管理者>、
「firstName」: "admin",
"lastName": "admin"
}
また、OpenLDAP キャッシュをモニタリングすることもできます。キャッシュによりディスク アクセス回数が減少し、システム パフォーマンスの向上につながります。Google Cloud コンソールでキャッシュ サイズをモニタリングして OpenLDAP サーバーは、ディレクトリ サーバーのパフォーマンスに大きな影響を与える可能性があります。ログファイル(<inst_root>/apigee/var/log)でキャッシュの情報を確認します。