hawtioがSpring Boot 2に対応し、ActuatorがWebコンソールで利用できるようになっていました
はじめに
hawtioはJavaアプリケーションをモニタリングできるWebコンソールを提供します。
2018年11月にリリースされたhawtio 2.3.0では、Change Logに記載のとおりSpring Boot 2に対応しています。
※Spring Boot 1.xには以前から対応していました。
https://github.com/hawtio/hawtio/blob/hawtio-2.3.0/CHANGES.md
Spring Boot 2用のサンプルアプリケーションが用意されていたので、動かしてみた時のメモを記載していきます。
Spring Boot 2対応
Spring Boot 2対応したことによって何ができるのか?
Spring Bootには、Spring Boot Actuatorという機能があり、これを利用するとシステムの状態やメトリクスを確認するためのエンドポイントが追加されます。ActuatorのエンドポイントにアクセスするとJSONで情報を取得できます。
hawtioでは、このActuatorのエンドポイントから取得した情報をWebコンソールに表示したり、操作することができます。
ただし、Actuatorのエンドポイントの全てに対応しているわけではなく、対応しているのは以下の3つです。
/health
アプリケーションの状態確認用。アプリケーションの起動時間、ディスク使用量等の情報が取得できる。
/trace
HTTPリクエストの情報が取得できる。
/loggers
loggerの設定の表示とログレベルの変更ができる。
Spring Boot 2用のサンプルアプリケーションを試す。
サンプルアプリケーションの説明は以下に記載があります。
まず、hawtio 2.3.0のレポジトリをコピーします。
git clone -b hawtio-2.3.0 https://github.com/hawtio/hawtio
アプリケーションを実行します。
cd hawtio\examples\springboot
mvn spring-boot:run
※JAVA_HOMEの設定とmvnがインストール済みであり、パスに追加されていること。
warファイルを作成して実行する場合は以下のように実行する。
mvn clean package
cd target
java -Dhawtio.authenticationEnabled=false hawtio-example-springboot-2.3.0.war
サンプルアプリケーションはApache Camelフレームワークを使用しており、以下のように画面にHello World!と表示します。
また、以下のURLにアクセスするとブラウザにHello World!と表示されます。
hawtioのWebコンソールを見る
早速、hawtioのWebコンソールにアクセスします。
サンプルアプリケーションでは認証なしになっているので、以下のURLにアクセスするとすぐに利用できます。
表示された画面は以下のとおりで、メニューにSpring Bootが表示されています。
他にもサンプルアプリケーションがApache Camelを使用しているのでCamel、hawtioのデフォルトプラグインのJMX等がメニューに表示されています。
※サンプルアプリケーションにはサンプルプラグインも入っていたが、それはメニューに表示されず。理由は不明。
メニューからSpring Bootを選択すると、以下のような画面が表示されます。Actuatorのhealth、loggers、traceのエンドポイントに対応した3つのタブが表示されています。
Healthタブは以下のように表示されます。
Loggersタブは以下のように表示されます。
Traceタブは以下のように表示されます。
サンプルプログラムを確認する
長いので省略しますが、以下の2つがポイント。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!-- hawtio -->
<dependency>
<groupId>io.hawt</groupId>
<artifactId>hawtio-springboot</artifactId>
</dependency>
application.propertiesは次の2行がポイント。
- management.endpoints.web.exposure.include=hawtio,jolokia
- hawtio.authenticationEnabled=false
「management.endpoints.web.exposure.include」でエンドポイントにhawtio,jolokiaを追加、「hawtio.authenticationEnabled=false」でhawtioの認証をOFFにしています。
server.port=10000
management.server.port=10001
management.endpoints.web.exposure.include=hawtio,jolokia
logging.level.io.hawt=INFO
logging.level.org.springframework=WARN
logging.level.io.undertow=WARN
camel.springboot.name=SampleCamel
timer.period=10000
hawtio.authenticationEnabled=false
最後に
Spring BootにはSpring Boot AdminというWebコンソールがあり、提供する機能範囲が一部重なっており、hawtioとの比較対象になるかと思います。
Spring Boot Adminがサーバ/クライアントであるのに対して、hawtioはSpring Bootのアプリケーションへ組み込んですぐに使えるのが利点になります。どちらもプロダクション環境で使用したことはないのですが、開発環境で使うならhawtioが便利そう。
その他、hawtioはApache Camel、ActiveMQ、JMX等の標準プラグインがあるので、それらを利用するのであればhawtioの方が良さそうです。
参考
Author And Source
この問題について(hawtioがSpring Boot 2に対応し、ActuatorがWebコンソールで利用できるようになっていました), 我々は、より多くの情報をここで見つけました https://qiita.com/mkyz08/items/c96c2cbc99754e71dd5c著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .