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

    Power BIはモテると誰かがいっていたのでOMSのデータを表示させてみる。

    はじめにくどうです。Power BIはモテると誰かが言って…

  2. Azure

    AzureでNAT設置パターンを考える。構築編、これでルートテーブルも大丈夫かもよ。

    はじめにくどうです。前回の投稿では概要だけ説明しました。Azur…

  3. AWS

    Azure仮想マシンがやってるポートフォワーディングをAWSのELBでやってみる。

    くどうです。小ネタです。Azureでは便利なことに仮想マシンを新…

  4. Azure

    マルチテナントでWindows 10 を利用できるパートナー一覧

    くどうです。Client周りの規約が変わってAzureでも利用でき…

  5. Azure

    Azure RemoteApp でローカルのドライブを利用する。

    はじめにくどうです。RemoteAppでもローカル(クライアント)…

Comment

  1. No comments yet.

  1. February 26th, 2018

  1. AlibabaCloud

    Alibaba Cloud Elastic Compute Service (E…
  2. 未分類

    RHEL5とRHEL4ESのベンチマーク
  3. 未分類

    CentOSにHinemosをインストールする方法(1)
  4. 未分類

    シスタン きたみりゅうじ
  5. AWS

    意外と知られていないAWS認定試験の合格特典、模擬試験が無料で受けれます。
PAGE TOP