Tomcat サーバーは複数のメトリックをサポートしています。 Tomcat サーバーから Full-stack Observability アプリケーションにメトリックを収集できます。 この方法で、Simple Log Service コンソールでメトリックを表示できます。
アプリケーションはメンテナンス中です。 サーバーから Application Real-Time Monitoring Service (ARMS) にメトリックを収集することをお勧めします。 詳細については、「ARMS」をご参照ください。
前提条件
Full-stack Observability インスタンスが作成されていること。 詳細については、「インスタンスを作成する」をご参照ください。
サーバーに Java 1.6 以降がインストールされていること。
手順 1:Logtail 構成を作成する
Simple Log Service コンソール にログインします。
[ログアプリケーション] セクションで、[インテリジェント O&M] タブをクリックします。 次に、[Full-stack Observability] をクリックします。
[Simple Log Service Full-stack Observability] ページで、管理するインスタンスをクリックします。
左側のナビゲーションウィンドウで、[フルスタックモニタリング] をクリックします。
インスタンスでパフォーマンスモニタリングを初めて使用する場合は、[有効化] をクリックします。
左側のナビゲーションウィンドウで、[データ収集] をクリックします。 [データインポート構成] ページで、[ミドルウェアモニタリング] セクションの [Tomcat] をオンにします。
ホストモニタリングデータの Logtail 構成を初めて作成する場合は、スイッチをオンにして構成ページに移動します。 Logtail 構成を作成した場合は、
アイコンをクリックして構成ページに移動します。 マシングループを作成します。
マシングループが使用可能な場合は、[既存のマシングループを使用する] をクリックします。
使用可能なマシングループがない場合は、次の手順を実行してマシングループを作成します。 この例では、Elastic Compute Service (ECS) インスタンスを使用します。
[ECS インスタンス] タブで、[インスタンスを手動で選択] を選択します。 次に、使用する ECS インスタンスを選択し、[作成] をクリックします。
詳細については、「ECS インスタンスに Logtail をインストールする」をご参照ください。
重要サーバーが Simple Log Service プロジェクトとは異なる Alibaba Cloud アカウントに属する ECS インスタンス、サードパーティのクラウド サービス プロバイダーのサーバー、またはデータセンターのサーバーである場合は、Linux サーバーに Logtail V0.16.48 以降を手動でインストールする必要があります。 詳細については、「Linux サーバーに Logtail をインストールする」をご参照ください。 Logtail をインストールした後、サーバーでユーザー識別子を手動で構成する必要があります。 詳細については、「ユーザー識別子を構成する」をご参照ください。
Logtail がインストールされたら、[インストール完了] をクリックします。
[マシングループの作成] ステップで、[名前] パラメーターを構成し、[次へ] をクリックします。
Simple Log Service では、IP アドレスベースのマシングループとカスタム識別子ベースのマシングループを作成できます。 詳細については、「IP アドレスベースのマシングループを作成する」および「カスタム識別子ベースのマシングループを作成する」をご参照ください。
重要Logtail をインストールするサーバーが、モニタリングデータを収集する Tomcat サーバーに接続できることを確認してください。
[適用済みサーバーグループ] セクションにマシングループが表示されていることを確認し、[次へ] をクリックします。
重要マシングループを作成した直後にマシングループを適用すると、マシングループのハートビートステータスが [失敗] になる場合があります。 この問題は、マシングループが Simple Log Service に接続されていないために発生します。 この問題を解決するには、[自動再試行] をクリックします。 問題が解決しない場合は、「Logtail でハートビート接続が検出されない場合はどうすればよいですか?」をご参照ください。
[データソースの構成] ステップで、パラメーターを構成し、[完了] をクリックします。 次の表にパラメーターを示します。
パラメーター
説明
[構成名]
Logtail 構成の名前。 カスタム名を入力できます。
[クラスター名]
Tomcat クラスターの名前。 カスタム名を入力できます。
このパラメーターを構成すると、Simple Log Service は、Logtail 構成を使用して収集された Tomcat モニタリングデータに cluster=クラスター名 タグを追加します。
重要クラスター名が一意であることを確認してください。 そうしないと、データの競合が発生する可能性があります。
[アプリケーション名]
Java アプリケーションの名前。 カスタム名を入力できます。
[サーバー]
Tomcat サーバーに関する情報。 情報には、次の設定項目が含まれます。
[アドレス]: Tomcat サーバーのアドレス。
[ポート]: Tomcat サーバーのポート番号。 デフォルト値:7777。
ビジネス要件に基づいて、複数の Tomcat サーバーに関する情報を追加できます。
[カスタムタグ]
収集された Tomcat モニタリングデータに追加されるカスタムタグ。 タグはキーと値のペアです。
このパラメーターを構成した後、Simple Log Service は、Logtail 構成を使用して収集された Tomcat モニタリングデータにカスタムタグを追加します。
設定が完了すると、Simple Log Service は、メトリックストアなどのアセットを自動的に作成します。詳細については、「アセット」をご参照ください。
手順 2:JavaAgent を構成する
Logtail 構成を作成した後、Tomcat サーバーで JavaAgent を構成する必要があります。 Simple Log Service では、Jolokia を使用して JavaAgent を構成できます。 詳細については、「Simple Log ServiceJolokia」をご参照ください。 Jolokia の公式ドキュメントに基づいて Jolokia をダウンロードして使用できます。 また、Simple Log Service で Logtail と一緒に提供される Jolokia JavaAgent を使用することもできます。 Jolokia JavaAgent は Simple Log Service/etc/ilogtail/telegraf/javaagent/jolokia-jvm.jar に保存されています。
環境変数
JAVA_OPTSを構成します。たとえば、
export JAVA_OPTS="-javaagent:/etc/ilogtail/telegraf/jolokia-jvm.jar=port=7777"を指定します。 7777 は Tomcat サーバーのポート番号です。 ポート番号が、「手順 1:Logtail 構成を作成する」で指定したポート番号と同じであることを確認してください。説明デフォルトでは、Jolokia JavaAgent は IP アドレス 127.0.0.1 のみでリッスンし、ローカルホストからのリクエストのみを許可します。 Logtail と Java アプリケーションが異なるサーバーにインストールされている場合は、追加されたスクリプトに host= フィールドを追加できます。 これにより、Jolokia JavaAgent は他の IP アドレスでリッスンできます。 host=0.0.0.0 を追加すると、Jolokia JavaAgent はすべての IP アドレスでリッスンします。 コマンド例:
-javaagent:/tmp/jolokia-jvm.jar=port=7777,host=0.0.0.0jolokia-jvm.jar パッケージへのパスを実際の値に置き換えてください。
Java アプリケーションを再起動します。
Java アプリケーションが再起動に失敗した場合は、次のコマンドを実行して Jolokia JavaAgent を指定された Java プロセスに接続します。 これにより、構成がすぐに有効になります。 Java PID を実際の値に置き換えてください。
重要この操作はテストにのみ使用されます。 実際のシナリオでは、上記の記述に基づいて構成を完了する必要があります。 そうしないと、アプリケーションの再起動後に構成が無効になります。
java -jar /etc/ilogtail/telegraf/javaagent/jolokia-jvm.jar --port 7777 start Java PID次のコードのような情報が返された場合、接続は成功です。
Jolokia is already attached to PID 752 // Jolokia はすでに PID 752 にアタッチされています http://127.0.0.1:7777/jolokia/次の URL にアクセスして、接続を確認します。
curl http://127.0.0.1:7777/jolokia/次のコードのような情報が返された場合、接続は正常です。
{"request":{"type":"version"},"value":{"agent":"1.6.2","protocol":"7.2","config":{"listenForHttpService":"true","maxCollectionSize":"0","authIgnoreCerts":"false","agentId":"30.XX.XX.186-752-5b091b5d-jvm","debug":"false","agentType":"jvm","policyLocation":"classpath:\/jolokia-access.xml","agentContext":"\/jolokia","serializeException":"false","mimeType":"text\/plain","maxDepth":"15","authMode":"basic","authMatch":"any","discoveryEnabled":"true","streaming":"true","canonicalNaming":"true","historyMaxEntries":"10","allowErrorDetails":"true","allowDnsReverseLookup":"true","realm":"jolokia","includeStackTrace":"true","maxObjects":"0","useRestrictorService":"false","debugMaxEntries":"100"},"info":{"product":"tomcat","vendor":"Apache","version":"8.5.57"}},"timestamp":1602663330,"status":200}⏎ // {"request":{"type":"version"},"value":{"agent":"1.6.2","protocol":"7.2","config":{"listenForHttpService":"true","maxCollectionSize":"0","authIgnoreCerts":"false","agentId":"30.XX.XX.186-752-5b091b5d-jvm","debug":"false","agentType":"jvm","policyLocation":"classpath:\/jolokia-access.xml","agentContext":"\/jolokia","serializeException":"false","mimeType":"text\/plain","maxDepth":"15","authMode":"basic","authMatch":"any","discoveryEnabled":"true","streaming":"true","canonicalNaming":"true","historyMaxEntries":"10","allowErrorDetails":"true","allowDnsReverseLookup":"true","realm":"jolokia","includeStackTrace":"true","maxObjects":"0","useRestrictorService":"false","debugMaxEntries":"100"},"info":{"product":"tomcat","vendor":"Apache","version":"8.5.57"}},"timestamp":1602663330,"status":200}⏎
次のステップ
Tomcat モニタリングデータが Full-stack Observability アプリケーションに収集されると、アプリケーションはモニタリングデータ専用のダッシュボードを自動的に作成します。 ダッシュボードを使用して、モニタリングデータを分析できます。 詳細については、「ダッシュボードを表示する」をご参照ください。