ES/1 Shelty Tips

#06 HTTP Access Logの データ取り込みに対応しました

作成者: IIM 遠藤 (ES/1 Shelty担当)|Mar 10, 2023 7:00:00 AM

こんにちは。ES/1 Shelty担当の遠藤です。
今回はV2.3.0より追加される新しいTelegraf Agentについてご紹介します。 

 

 

Telegraf Agent HTTPAccessLog

Telegraf Agent HTTPAccessLogは、トランザクション要求件数や応答時間を可視化します。

Webサーバーから標準的に出力されるアクセスログを使用するため、センシングのための環境変更が軽微なことがメリットの一つです。

 

これにより、APサーバーにJava Agentや.Net Agentを導入することが難しい環境でも、Webサーバーのレスポンス時間や業務量を取得することができます。


例えば、Java Agentを使用するには、アプリケーション起動引数にAgentを追加します。

これは、アプリケーション起動時に、処理時間の情報を報告させる仕組みを追加するためです。

 

しかし、データ収集対象の環境がES/1 Sheltyの対応バージョンに該当しなかったり、アプリケーションサーバーの処理に変更を加えたくないといった事情によりJava Agentを導入できないケースがあります。

 

Telegraf Agent HTTPAccessLogは、Webサーバーが出力するアクセスログに報告されるトランザクション情報を使用します。

 

報告される処理時間はWEBが起点となる情報です。(Java Agentとの起点の違いは下図を参照)
この情報を取得することで、アプリケーションに変更を加えることなくJava Agentが報告するレスポンス時間に近い値を取得できます。

 

 

 

 

 

 

取得項目

業務量(トランザクション要求件数)を可視化し、それに対するCPU、メモリ等の各種リソースの使用状況を確認できるようになる点で、Java Agentとおおむね同じ分析が可能になります。ただし、Java Agentとは異なり、Telegraf Agent HTTPAccessLogでは処理時間の内訳(CPU時間、DB時間)は取得対象外です。


また、レスポンスコード、クライアントIP情報も取得します。Java Agentをリリースした後、これらのIP情報の取り込みのご要望を多くいただきました。今回リリースされるTelegraf Agent HTTPAccessLogでは、Java Agentに先行してデータ取得に対応しています。
補足となりますが、今後Java Agentも同様の情報が取得できるよう対応を予定しております。

 

 

活用方法

Java AgentはAPサーバーで起動されたServletを1つのトランザクション要求件数として計上します。一方、HTTPアクセスログでは静的なコンテンツ(例えば、画像データ、アイコンなど)を1レコードとして計上します。
Telegraf Agent HTTPAccessLogはこれらのレコード1件をトランザクション要求件数として扱うため、エンタープライズダッシュボードや、システムダッシュボードに表示されるシステム全体のトランザクション要求数は、Java Agentよりも高い値で報告される傾向があります。
また、トランザクション要求数が大きいため、システム全体の平均応答時間はJava Agentと比べて低い値で表現される傾向があります。

 

重要な処理のトランザクション要求件数や平均応答時間をシステムダッシュボードに表示しておきたい場合には、カスタムグラフ機能を使って、ターゲットとなるURLのグラフを表示しておくことをお勧めします。

 

また、アプリグループ設定を使ってターゲットとなるURLをグルーピングすることにより、グルーピングされた単位でトランザクション要求件数や平均応答時間をシステムダッシュボードに表示しておくことができます。

 

 

 

 

Telegraf Agent HTTPAccessLogをサービス稼働状況の監視にぜひご活用下さい。