OpenShift 上の JBoss EAP の統計情報をコマンドラインで確認する

前回の続きとなりますが、今回はコマンドラインJBoss EAP の統計情報を確認してみます。

hnamaizawa.hatenadiary.org


手順としては以下のドキュメントで記載されている通りではあります。

docs.openshift.com

ちなみに、個人的に通常は 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 などで統計情報を可視化することが可能になるかと思います。