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設定の作成
Log Serviceコンソールにログインします。
[データのインポート] セクションの [モニタリングデータ] タブで、[Kafkaモニタリングデータ] をクリックします。
プロジェクトとMetricstoreを選択します。 次に、[次へ] をクリックします。
マシングループを作成します。
マシングループが利用可能な場合は、[既存のマシングループを使用] をクリックします。
使用可能なマシングループがない場合は、次の手順を実行してマシングループを作成します。 この例では、Elastic Compute Service (ECS) インスタンスが使用されています。
[ECSインスタンス] タブで、[手動でインスタンスを選択] を選択します。 次に、使用するECSインスタンスを選択し、[作成] をクリックします。
詳細については、「ECSインスタンスへのLogtailのインストール」をご参照ください。
重要Simple Log Serviceとは異なるAlibaba Cloudアカウント、データセンター内のサーバー、またはサードパーティのクラウドサービスプロバイダーのサーバーに属するECSインスタンスからログを収集する場合は、Logtailを手動でインストールする必要があります。 詳細については、「LinuxサーバーへのLogtailのインストール」をご参照ください。 Logtailを手動でインストールした後、サーバーのユーザー識別子を設定する必要があります。 詳細については、「ユーザー識別子の設定」をご参照ください。
Logtailをインストールしたら、[インストールの完了] をクリックします。
[マシングループの作成] ステップで、[名前] パラメーターを設定し、[次へ] をクリックします。
Simple Log Serviceでは、IPアドレスベースのマシングループとカスタム識別子ベースのマシングループを作成できます。 詳細については、「IPアドレスベースのマシングループの作成」および「カスタム識別子ベースのマシングループの作成」をご参照ください。
[応用サーバーグループ] セクションにマシングループが表示されていることを確認し、[次へ] をクリックします。
重要マシングループを作成した直後にマシングループを適用すると、マシングループのハートビートステータスがFAILになる可能性があります。 この問題は、マシングループがSimple Log Serviceに接続されていないために発生します。 この問題を解決するには、[自動再試行] をクリックします。 問題が解決しない場合は、Logtailでハートビート接続が検出されない場合はどうすればよいですか?
[データソースの指定] ステップで、パラメーターを設定します。 下表にパラメーターを示します。
パラメーター 説明 設定名 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> という名前のダッシュボードを関連プロジェクトに自動的に作成します。 ダッシュボードでクエリと分析の結果を視覚化できます。 ダッシュボードのアラートルールを設定することもできます。