OpenShift 上の JBoss EAP の統計情報をコマンドラインで確認する
前回の続きとなりますが、今回はコマンドラインで JBoss EAP の統計情報を確認してみます。
手順としては以下のドキュメントで記載されている通りではあります。
ちなみに、個人的に通常は tcsh(古い)を利用してますが、OpenShift 関連に触れる際は bash に切り替えて利用しています。(すっかり csh 系がすたれてしまったな…)
事前準備
- TOKEN の取得
oc_project="$(oc project -q)"
SECRET=`oc get secret -n openshift-user-workload-monitoring | grep prometheus-user-workload-token | head -n 1 | awk '{print $1 }'`
TOKEN=`echo $(oc get secret $SECRET -n openshift-user-workload-monitoring -o json | jq -r '.data.token') | base64 -d`
- Prometheus 情報のアクセス先を取得
THANOS_QUERIER_HOST=`oc get route thanos-querier -n openshift-monitoring -o json | jq -r '.spec.host'`
- 対象となる Namespace を指定
NAMESPACE=$oc_project
統計情報の取得
- コマンドラインで統計情報を取得
curl -X GET -kG "https://$THANOS_QUERIER_HOST/api/v1/query?" --data-urlencode "query=jboss_undertow_active_sessions{namespace='$NAMESPACE'}" -H "Authorization: Bearer $TOKEN" | jq
- 実行例
$ curl -X GET -kG "https://$THANOS_QUERIER_HOST/api/v1/query?" --data-urlencode "query=jboss_undertow_active_sessions{namespace='$NAMESPACE'}" -H "Authorization: Bearer $TOKEN" | jq
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 411 100 411 0 0 37596 0 --:--:-- --:--:-- --:--:-- 41100
{
"status": "success",
"data": {
"resultType": "vector",
"result": [
{
"metric": {
"__name__": "jboss_undertow_active_sessions",
"deployment": "ROOT.war",
"endpoint": "metrics",
"instance": "10.217.0.2:9799",
"job": "eap-app-metrics",
"namespace": "eapdemo",
"pod": "eap-app-1-x77tm",
"prometheus": "openshift-user-workload-monitoring/user-workload",
"service": "eap-app-metrics",
"subdeployment": "ROOT.war"
},
"value": [
1664269215.69,
"2"
]
}
]
}
}
(補足)上記は 2セッションが存在する状態でアクティブセッション数を取得した結果です。
まとめ
以上のような手順でコマンドラインから JBoss EAP の統計情報を確認することができます。あとは jq などで CSV データなどへ整形し、ファイルへリダイレクトするような対応を実施すると Excel などで統計情報を可視化することが可能になるかと思います。