すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:Kafkaサーバーからメトリックデータを収集する

最終更新日:Aug 23, 2024

Telegrafを使用して、Kafkaサーバーからメトリックデータを収集できます。 次に、Logtailを使用して、メトリックデータをLog ServiceのMetricstoreに送信できます。 これにより、Kafkaサーバーのメトリックデータを視覚化して監視できます。 このトピックでは、Log Serviceを使用してKafkaサーバーからメトリックデータを収集し、データを視覚化する方法について説明します。

始める前に

  • Java 1.6以降がサーバーにインストールされます。

  • プロジェクトとMetricstoreが作成されます。 詳細については、「プロジェクトの作成」および「Metricstoreの作成」をご参照ください。

制限

Kafkaメトリックデータを収集できるのは、Linux Logtail V0.16.48以降のみです。 以前のバージョンのLogtailがサーバーにインストールされている場合は、サポートされているバージョンにLogtailを更新する必要があります。 詳細については、「LinuxサーバーにLogtailをインストールする」をご参照ください。

ステップ1: Logtail設定の作成

  1. Log Serviceコンソールにログインします。

  2. [データのインポート] セクションの [モニタリングデータ] タブで、[Kafkaモニタリングデータ] をクリックします。

  3. プロジェクトとMetricstoreを選択します。 次に、[次へ] をクリックします。

  4. マシングループを作成します。

    • マシングループが利用可能な場合は、[既存のマシングループを使用] をクリックします。

    • 使用可能なマシングループがない場合は、次の手順を実行してマシングループを作成します。 この例では、Elastic Compute Service (ECS) インスタンスが使用されています。

      1. [ECSインスタンス] タブで、[手動でインスタンスを選択] を選択します。 次に、使用するECSインスタンスを選択し、[作成] をクリックします。

        詳細については、「ECSインスタンスへのLogtailのインストール」をご参照ください。

        重要

        Simple Log Serviceとは異なるAlibaba Cloudアカウント、データセンター内のサーバー、またはサードパーティのクラウドサービスプロバイダーのサーバーに属するECSインスタンスからログを収集する場合は、Logtailを手動でインストールする必要があります。 詳細については、「LinuxサーバーへのLogtailのインストール」をご参照ください。 Logtailを手動でインストールした後、サーバーのユーザー識別子を設定する必要があります。 詳細については、「ユーザー識別子の設定」をご参照ください。

      2. Logtailをインストールしたら、[インストールの完了] をクリックします。

      3. [マシングループの作成] ステップで、[名前] パラメーターを設定し、[次へ] をクリックします。

        Simple Log Serviceでは、IPアドレスベースのマシングループとカスタム識別子ベースのマシングループを作成できます。 詳細については、「IPアドレスベースのマシングループの作成」および「カスタム識別子ベースのマシングループの作成」をご参照ください。

  5. [応用サーバーグループ] セクションにマシングループが表示されていることを確認し、[次へ] をクリックします。

    重要

    マシングループを作成した直後にマシングループを適用すると、マシングループのハートビートステータスがFAILになる可能性があります。 この問題は、マシングループがSimple Log Serviceに接続されていないために発生します。 この問題を解決するには、[自動再試行] をクリックします。 問題が解決しない場合は、Logtailでハートビート接続が検出されない場合はどうすればよいですか?

  6. [データソースの指定] ステップで、パラメーターを設定します。 下表にパラメーターを示します。

    パラメーター説明
    設定名Logtail設定の名前。 カスタム名を入力することができます。
    クラスター名Kafkaクラスターの名前。 カスタム名を入力することができます。

    このパラメーターを設定すると、Simple Log Serviceは、Logtail設定を使用して収集されたKafkaモニタリングデータにcluster=<Cluster name> タグを追加します。

    重要 クラスター名が一意であることを確認してください。 そうしないと、データの競合が発生する可能性があります。
    サーバーリストKafkaサーバーに関する情報。 情報には、次の設定項目が含まれます。
    • Address: Kafkaサーバーのアドレス。 サーバーのIPアドレス、ホスト名、またはドメイン名を入力できます。
    • Port: Kafkaサーバーのポート番号。 デフォルト値: 7777

    ビジネス要件に基づいて、複数のKafkaサーバーに関する情報を追加できます。

    カスタムタグ収集されたKafkaモニタリングデータに追加されるカスタムタグ。 タグはキーと値のペアです。

    このパラメーターを設定すると、Simple Log Serviceは、Logtail設定を使用して収集されたKafkaモニタリングデータにカスタムタグを追加します。

ステップ2: JavaAgentの設定

Logtail設定の作成後、HTTP経由でJMXデータへのアクセスを有効にする必要があります。 Log Serviceでは、Jolokiaを使用してHTTP経由でJMXデータにアクセスできます。 Jolokiaをダウンロードしてロードできます。 あなたが助けを必要とするならば、あなたはJolokiaの公式文書を参照することができます。 Logtailが提供するJolokia JavaAgentを使用することもできます。 Jolokia JavaAgentは、/etc/ilogtail/telegraf/javaagent/jolokia-jvm.jarに格納されます。

KafkaサーバーでKAFKA_JVM_PERFORMANCE_OPTS環境変数を設定する必要があります。 たとえば、export KAFKA_JVM_PERFORMANCE_OPTS=-javaagent:/etc/ilogtail/telegraf/javaagent/jolokia-jvm.jar=port=7777を指定します。 この例では、7777はKafkaサーバーのポート番号を示します。 このポート番号は、ステップ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.0

設定後、Javaアプリケーションを再起動する必要があります。 Javaアプリケーションの再起動に失敗した場合は、次のコマンドを実行して、Jolokia JavaAgentを指定されたJavaプロセスに接続します。 このように、構成はすぐに有効になります。 PIDを実際の値に置き換えます。

説明

このコマンドはテストにのみ使用されます。 上記の手順に基づいて設定を完了する必要があります。 それ以外の場合、アプリケーションの再起動後に設定が無効になります。

java -jar /etc/ilogtail/telegraf/javaagent/jolokia-jvm.jar --port 7777 start PID

次の出力が返された場合、接続は成功です。

Jolokia is already attached to PID 752
http://127.0.0.1:7777/jolokia/

接続が確立されたら、次のURLにアクセスして接続を確認できます。

curl http://127.0.0.1:7777/jolokia/
# Sample response
{"request":{"type":"version"},"value":{"agent":"1.6.2","protocol":"7.2","config":{"listenForHttpService":"true","maxCollectionSize":"0","authIgnoreCerts":"false","agentId":"30.**.**.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}⏎

よくある質問

Telegrafが期待どおりにデータを収集しているかどうかを確認する方法?

サーバー上の /etc/ilogtail/telegraf/telegraf.logファイルのログを確認できます。 Log Serviceを使用してこのログファイルを収集し、log Serviceで必要な情報を検索できます。

次のタスク

  • データのクエリと分析

    設定後、TelegrafはLogtailを使用して、収集したメトリックデータをLog Serviceの指定されたMetricstoreにアップロードします。 Metricstoreの [クエリと分析] ページでデータを照会および分析できます。 詳細については、「メトリックデータの照会と分析」をご参照ください。

  • クエリと分析の結果を視覚化する

    設定後、Log ServiceはKafka Monitoring Data_<cluster name> という名前のダッシュボードを関連プロジェクトに自動的に作成します。 ダッシュボードでクエリと分析の結果を視覚化できます。 ダッシュボードのアラートルールを設定することもできます。