play1 には status というサブコマンドがあります。 status.py, PlayStatusPlugin.java あたりのコード。 コマンドのドキュメント (cmd-status.txt)
$ play status APPDIRport がデフォルトと違う場合は port を指定
$ play status APPDIR --http.port=8080環境ごとの設定を行っている場合は --%ENV で指定
$ play status APPDIR --%prodJVM のメモリ情報、Thread の状態や、Request と Job を実行する thread pool の情報
Java:
~~~~~
Version: 1.8.0_171
Home: /usr/java/jdk1.8.0_171/jre
Max memory: 4294967296
Free memory: 2981053320
Total memory: 4294967296
Available processors: 4Requests execution pool:
~~~~~~~~~~~~~~~~~~~~~~~~
Pool size: XX
Active count: XX
Scheduled task count: XXXXX
Queue size: XURL にマップされているメソッドごとの実行回数(hit), 実行時間(avg, min, max)、 DBCP 設定、Job の情報などが確認できます。 status コマンドは内部で /@status に HTTP でアクセスしてそのレスポンスをそのまま返しています。 /@status.json という URL も用意されており、JSON でレスポンスが返されます。ただし、残念ながら情報量がずっと少ない、バグかな? ただ、HTTP でアクセスしても 401 Unauthorized となります、認証を通すためには conf/application.conf で設定してある secret が必要です。 status コマンドは python で次のようになっているので
| |
shell では openssl で次のようにして得ることができます
| |
これを Authorization ヘッダーとして渡せばアクセスできます。

