きり丸アドベントカレンダー2020の14記事目です。
アプリケーションは常に動いている必要があります。ただし、障害で動かなくなることもよくあります。動かなくなった場合には、早く気付けるようなしくみが必要です。その1つとして常に同じ値を返すAPIを用意し、APIを実行しても目的どおりに値が取得できなくなった時に問題が発生したとみなす方法を死活監視と言います。
この常に同じ値を返すAPI、ヘルスチェック用APIを自作で作る工数は大きくありませんが、ライブラリを入れるとサクっと作成できたので、ライブラリを紹介します。ライブラリを使ったほうが、エンドポイントが推測しやすいですし。
使用ライブラリ
org.springframework.boot:spring-boot-starter-actuator:2.4.0
これ1つだけ。
使用方法
依存関係に含めるのみ。これだけでエンドポイントを公開できる。特にこだわりがなければ、設定ファイルも作成不要。
gradleでの設定方法。
dependencies { implementation 'org.springframework.boot:spring-boot-starter-actuator:2.4.0' }
デフォルト公開URL
- {ルートディレクトリ}/actuator/health
- http://localhost:8080/actuator/health
返却JSON
{"status":"UP"}
その他
今回、私はヘルスチェック用APIを作成するために、このライブラリを使いました。ただ、こちらの公式リファレンスに書いてあるとおり、単純なヘルスチェックだけではなく他にもメトリックを取れるようですので、ぜひ使ってみてください。
アクチュエータという意味もこのライブラリから知ったので、おそらくJavaやSpringに限らず運用・監視している人にとっては聞き慣れている言葉でしょう。
公式リファレンスより。
アクチュエーターの定義 アクチュエーターは、何かを動かしたり制御したりするための機械装置を指す製造用語です。アクチュエーターは、小さな変化から大量のモーションを生成できます。
ソースコード
アドベントカレンダー14日目。
github.com
終わりに
この記事がお役に立ちましたら、各種SNSでのシェアや、今後も情報発信しますのでフォローよろしくお願いします。
- 技術ブログはこちら
- 投資・資産運用ブログはこちら
- [雑記ブログはこちら](https://nainaistar.hateblo.jp
参考記事
spring-boot-actuatorの公式リファレンス spring.pleiades.io
類似記事
きり丸アドベントカレンダー2020 adventar.org
きり丸のHerokuページ
※ Basic認証を掛けているので、BASIC認証しないとヘルスチェックは確認できません。
https://kirimaru-todoapp.herokuapp.com/
15日目のアドベントカレンダーの記事 https://nainaistar.hatenablog.com/entry/2020/12/15/083000nainaistar.hatenablog.com