2026.04.06

#65 URLにパラメータ情報を表示できるようになりました

 

目次

開く

     
    こんにちは。ES/1 Shelty担当の伊東です。
    ES/1 Shelty 3.2.0では、アプリケーションからサーバーへ送られるリクエストに含まれる各種パラメータを、必要に応じてJava Agentで取得できるようになりました。取得した情報はURLパスの末尾に付与して表示します。これにより、URLパスだけではわからなかったパラメータ単位での分析ができるようになります。

     

     

    機能の概要

    Java Agentで、アプリケーションがサーバーにリクエストを送るときに含まれる以下のパラメータ情報を取得します。取得した情報はURLパスの末尾に付与して表示され、現在のURLパス情報と同様に「統合ダッシュボード」「URL一覧」「閾値」などで利用することができます。
     
    • POSTパラメータ
      画面のフォーム入力やボタン操作でサーバーへ送るデータ(例:検索条件、ログイン情報)
    • HTTPヘッダー
      通信に自動付与される追加情報(例:アプリ内部で使う機能の識別子)※「Content-Type: application/x-www-form-urlencoded」のみ対応
    • Cookie
      ユーザーのブラウザに保存される値(例:テナント情報、ログイン状態)
    • クエリパラメータ
      URLの「?」以降に記載される条件(例:「?screen=xxx」、「?page=1」のような値)
     

    #65_1
    #65_1

    【URL一覧】クエリパラメータ「screen」を取得対象とした場合の表示

     

    #65_2
    #65_2

    【統合ダッシュボード】クエリパラメータ「screen」を取得対象とした場合の表示

     

     

    各種パラメータを取得するには、まず分析で見分けたい項目を決定し、その項目をJava Agentの設定に登録します。
    設定方法は後述の「使い方(設定情報)」をご参照ください。

     


    機能拡張の背景とメリット

    近年のWebアプリケーションでは、パラメータ情報で機能や表示を切り替える設計がよく見られます。たとえば、次のようなケースがあります。

     

    • クエリパラメータによって表示する画面を切り替える
    • Cookieにロール情報を保持し、同じURLであってもロールごとに表示内容が変わる
     
    こうした背景により、URLパスだけでは実際にどのような処理がおこなわれているのか判別しづらくなり、分析が思うように進まないケースが増えていました。

     

    今回の拡張ではこの実態を踏まえ、POSTパラメータ/HTTPヘッダー/Cookie/クエリパラメータの情報をURLパスに付与して表示できるようにしました。

    これにより、同一URLパスでも役割が異なる機能について「どの画面のアクセスが多いのか」「どのロールのレスポンスが遅いのか」「どのメニューでレスポンスコード4xxや5xxが発生しているか」といった情報を可視化できます。
     
    また、URLパスまでの情報だけでは切り分けが難しかった「特定の画面だけ遅い/失敗する」といった課題についても、パラメータ情報を軸に原因を切り分けて分析できるようになります。
     

    使い方(設定方法)

    前提

    Shelty ManagerとJava Agentを3.2.0以上にアップデートします。
    Java Agentのアップデートを反映させるためには、アプリケーションの再起動が必要です。ご留意ください。

     


    設定方法

    1. 下記を検討し、決定します。

     

    • どのURLリクエストについてパラメータ情報を取得するか。
    • どのパラメータ情報(キー)を取得するか。パラメータの種類は、POSTパラメータ/HTTPヘッダー(「Content-Type: application/x-www-form-urlencoded」のみ)/Cookie/クエリパラメータが指定できます。

      1.  
    2. サイドメニュー「導入設定」を選択し、Agentパラメータ設定の「Agent導入」をクリックします。
     
    #65_3
    #65_3

    導入設定画面

     


    3. Agent導入画面(DPLAGT01)でシステム、クラスターを選択し 、導入Agent設定の「Java(AP+RT)」にある編集アイコンをクリックします。
     
    #65_鉛筆アイコン-1
    #65_鉛筆アイコン-1

    Agent導入画面

     

     
    4.  収集の詳細設定にある「リクエストURLに含めるキー項目定義」で、取得したいパラメータを定義します。
     
    #65_5
    #65_5

    対象URLを「/shelty/*」クエリパラメータのキーを「screen」で指定する場合の表示

     

    5.  定義を保存します。定義反映後から、パラメータ文字列がURLパスの末尾に付与されて表示されます。
     
     
     

    注意事項① シリーズ数にご注意ください

    指定するパラメータ情報(キー)に対して、入ってくる値(バリュー)の種類が多すぎると、InfluxDBのシリーズ数(データの組み合わせパターン)が増加します。シリーズ数が増加すると、Shelty Managerの画面表示が重くなるなど、性能に影響が出る可能性があります。そのため、パラメータを設定する前に、次の点をご確認ください。

     

    • 取得対象とするパラメータ情報(キー)に入る値(バリュー)の種類が、多くても数百個程度であること。
    • Shelty ManagerのInfluxDBの総シリーズ数が、あらかじめ設定されている閾値を超えていないこと。
      • Influxdbの総シリーズ数は、Shelty Managerのサイドメニュー「運用管理」→「Shelty状態監視(CHKMON01)」で確認できます。「InfluxDBのシリーズ数」の判定が「OK」になっていることご確認ください。
      • 判定が「NG」の場合、Shelty Managerのサイドメニュー「導入設定」→「URLの丸め込み」や「SQL詳細丸め込み」を設定しシリーズ数の削減をご検討ください。
     
    #65_シリーズ数確認
    #65_シリーズ数確認

    Influxdbのシリーズ数判定がOKの場合の表示

     
     
     

    注意事項② 指定したパラメータ情報が取得できることをPoCでご確認ください

    パラメータ情報を取得できるかはアプリケーションの実装に依存します。事前に、検証環境などで情報が取得できることをご確認ください。たとえば以下のような場合は、Java Agentでパラメータ情報を取得できません。
     
    • POSTパラメータで送っているリクエストが、リクエストボディのContent-Typeがapplication/jsonやmultipart/form-dataである場合
    • Webアプリケーションの画面遷移でソフトルーティングを行っている場合
      ※ブラウザのURL欄には&以降にqueryParameterが表示されていても、サーバーへのリクエストには情報が含まれていない場合がございます。これはブラウザのURLの書き換えがソフトルーティングで行われていることに起因します。
       
     
     
     

    最後に

    ES/1 Shelty 3.2.0の新機能により、URLパスに加えてPOSTパラメータ/HTTPヘッダー/Cookie/クエリパラメータといった各種パラメータを取得できるようになりました。この機能により、URLパス情報をより詳細な単位で可視化・分析が可能になります。ぜひ現場の分析・改善活動にご活用ください。
     
    「このような情報は可視化できるか」「Agentの設定内容について相談したい」といったご要望がありましたら、担当SEまでお気軽にご連絡ください。
     

     


     
    本文中に記載されている製品名、サービス名は、各社の登録商標または商標です。

     

    執筆者

    S.I. 

    営業技術本部 カスタマーサクセス統括部 ES/1技術サービス部 担当課長

    関連記事