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

    Diagnosticsのログフォーマットが変わってた。だから・・・注意してね。

    はじめにくどうです。ちょっと、Azureで仮想マシンのDi…

  2. Azure

    Channel9で公開されてた。第1回 Tokyo Jazug Night!

    Tokyo Jazug Nightくどうです。第1回 …

  3. Azure

    Azure DNS をポータルから使ってみた。シンプルです。

    はじめにくどうです。Azure DNS がポータルから操作…

  4. Azure

    AKS ( Kubernetes ) のPod からログをFilebeat を使って収集してelas…

    はじめにくどうです。先日、fluentd によるKuber…

  5. Azure

    Azure Database for MySQL PreviewのServer parameters…

    Azure Database for MySQLのServer par…

  6. Azure

    AzureにVulsをインストールしてみる。コピペでどーん。Docker編

    はじめにくどうです。Vulsです。前回と一緒。いろ…

Comment

  1. No comments yet.

  1. February 26th, 2018

  1. Azure

    他社さんの、社内勉強会に行ってきた。
  2. Azure

    Azure Load Balancerと Azure Application G…
  3. 未分類

    National Information Security Center
  4. AWS

    超メモ:AWSでのSysprep回数についてどうなってるか
  5. Azure

    SCOMで監視できるAzure(リソースマネージャ側)のサービス
PAGE TOP