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

    Microsoft Azure でDockerはじめちゃいますか?

    じゅんくどうです。本投稿は「Azure Advent Calende…

  2. Azure

    MCP70-532を受験してきた。

    はじめにくどうですAzureのMCP試験は3つあります。…

  3. Azure

    PowerMockupのAzure Icon Setを更新(ver2.5)

    更新アップデートしてたのでPowerMockupのシェイプも更新…

  4. Azure

    Azure Cloud Shell のユーザーを確認してみる。それでもrootが欲しい。

    rootにはなれません。アカウントのパスワードを入力しても無駄でし…

  5. Azure

    Serverless Meetup Sapporoで話てきた。

    はじめにくどうです先日12/11に札幌でServerles…

Comment

  1. No comments yet.

  1. No trackbacks yet.

  1. その他

    サンワサプライさんの Physical Web(TM) Beacon MM-BT…
  2. Azure

    specializedイメージをもとに仮想マシンを立ち上げるのに便利なテンプレー…
  3. 未分類

    ウェブ人間論 梅田望夫、平野啓一郎
  4. Azure

    PowerMockupのAzure Icon Setを更新(ver2.5)
  5. 未分類

    TeraStationが故障したときにバックアップを復元する方法
PAGE TOP