Azure

HDInsightのKafkaをJolokia(REST API)でモニタリングしてみる。

はじめに

くどうです

HDInsightをモニタリングしたい場合、Ambari UIを利用すると非常に便利です。
しかし、KafkaについてはAmbari UIでモニタリング出来る項目が少なく別の方法を検討する必要があります。
その一つとして、Jolokiaを利用した方法を紹介します。

Jolokiaとは

Jolokia
https://jolokia.org/index.html

JolokiaはJMXの情報を収集し、HTTP REST APIとして返答できるAgentです。
Agentは一つではなく下記が用意されています。

    1,WAR Agent for deployment as web application in a JEE Server.
    2,OSGi Agent for deployment in an OSGi container. This agent is packaged as a bundle and comes in two flavors (minimal, all-in-one).
    3,JVM Agent which can be used with any Oracle/Sun based JVM, Version 6 or later.
    4,Mule Agent for usage within a Mule ESB.

それぞれのAgentの詳細は下記で確認できます。
https://jolokia.org/agent.html

KafkaではJVM Agentを利用し、REST APIにてモニタリングします。

構成

今回の構成図
kfm01
Hdinsight はクラスターの種類はStorm、OSはLinux、バージョンはStorm 0.10.0(HDI 3.4)です。

ログインしてKafkaを確認

    hdinsight-kafka 2.4
    kafka-2-4-2-0-258 0.9.0.2.4.2.0-258

Hdinsight とモニタ用仮想マシン(Linux)は同Vnetの必要があります。

図中の、StormについてあStorm UIを利用して、REST APIが利用できます。
KafkaについてはJolokiaを利用します。

Jolokiaを設定

最初にHDInsight側にJolokiaを設置する必要があります。
AmbariUIを利用し、Kafkaが動作しているIPアドレスを確認します。

Summaryを見るとIPを確認できます。
kfm02

まず、Hdinsight にSSHでログインします。
その後、Summaryで確認したIPへログインします。

以上で設置は完了です、
次に、KAFKA_OPTSにてjavaagent動作させます。

直接、Configを書き換えでも大丈夫ですがAmbari UIから設定してみましょう。
kfm03

Advanced kafka-envを開きます。
kafka-env templateに下記を追記します。
追記する場所は

の直下

host=0.0.0.0はすべてのIPアドレスからREST APIのGETリクエストを受け付けることを意味します。
Saveします。
kfm05

Saveします。
kfm06

Restartします。
kfm07

以上でHdinsight 側に準備ができました。

REST API

実際にモニタ用仮想マシンから確認してみましょう。
モニタ用仮想マシンにログインします。

事前にjqをインストールします。

デフォルトポートは8778です
確認できるメトリクスを確認する場合のsearch書式は
http://[サーバーIP]:8778/jolokia/search/[メトリクス]

メトリクスを確認する場合のread書式は
http://[サーバーIP]:8778/jolokia/read/[メトリクス]

すべてを確認する場合は
curl -s http://10.1.0.13:8778/jolokia/read/kafka.*:* | jq .
にて確認できます。

これらをCronなどで定期的に取集することなども行えます。jqやawkなど利用してログに残すこともできます。

まとめ

Hdinsight をモニタリングする場合、ポータルで出来るのが理想ですが、さすがに無理なので今回はjolokiaを利用したモニタリングの方法を紹介しました。
これはHdinsight やkafkaに限った方法ではありません。JMXを利用してモニタリングを行いたい場合は非常に便利です。

ではでは

Related post

  1. Azure

    Azure Backup V2 !これで仮想マシンのバックアップは大丈夫。

    はじめにくどうですやっと、リソースマネージャーでも仮想マシ…

  2. Azure

    Azure Sphere MT3620 始めました。サンプルアプリがとりあえず動くまで編。

    はじめにMicrosoftがセキュリティ確保を目的に発表したIoT…

  3. Azure

    Azure AppService (WebApps)で Sendmailを利用する方法。これでSen…

    はじめにくどうです。Linuxではsendmailが重宝さ…

  4. Azure

    AzureでNAT設置パターンを考える。これでAWSからも移行できますね。

    はじめにくどうです。東京であつくて溶けました。 最近では、AW…

Comment

  1. No comments yet.

  1. February 26th, 2018

  1. Windows

    SQLServerで必要なポートをあける。コピペでどーん。
  2. お知らせ

    第10回北海道情報セキュリティ勉強会開催しました。
  3. 未分類

    Hotwired Japan → WIRED VISION
  4. Azure

    Azure Container Instances でPrometheus の …
  5. Windows

    ハードディスクの書き込みキャッシュを起動時にONにする
PAGE TOP