Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ヘルスチェック用APIを追加する #312

Merged
merged 10 commits into from
Nov 10, 2023

Conversation

rnakagawa16
Copy link
Contributor

Spring Boot Actuatorの設定を追加しました。
テストケースの実行結果は以下の通りです。

  1. GET http://localhost:8080/actuator/healthを実行するとステータスコード200がマップされる
     APIの結果として、サーバステータスのUPとDBステータスのUPを確認する

    HTTP/1.1 200 
    Content-Type: application/json
    Transfer-Encoding: chunked
    Date: Fri, 06 Oct 2023 01:36:52 GMT
    Connection: close
    
    {
      "status": "UP",
      "components": {
        "db": {
          "status": "UP"
        },
        "diskSpace": {
          "status": "UP"
        },
        "ping": {
          "status": "UP"
        }
      }
    }
    
  2. HEAD http://localhost:8080/actuator/healthを実行するとステータスコード200がマップされる
     APIの結果が表示されない

    HTTP/1.1 200 
    Content-Type: application/json
    Transfer-Encoding: chunked
    Date: Fri, 06 Oct 2023 00:38:53 GMT
    Connection: close
    
  3. DBの設定情報(application-dev.properties)を変更し、GET http://localhost:8080/actuator/healthを実行するとステータスコード503がマップされる
     APIの結果として、サーバステータスのDOWNとDBステータスのDOWNを確認する

    HTTP/1.1 503 
    Content-Type: application/json
    Transfer-Encoding: chunked
    Date: Fri, 06 Oct 2023 01:30:22 GMT
    Connection: close
    
    {
      "status": "DOWN",
      "components": {
        "db": {
          "status": "DOWN"
        },
        "diskSpace": {
          "status": "UP"
        },
        "ping": {
          "status": "UP"
        }
      }
    }
    
  4. DBの設定情報(application-dev.properties)を変更し、HEAD http://localhost:8080/actuator/healthを実行するとステータスコード503がマップされる

    HTTP/1.1 503 
    Content-Type: application/json
    Transfer-Encoding: chunked
    Date: Fri, 06 Oct 2023 01:31:39 GMT
    Connection: close
    

以上、テスト結果です。

@tsuna-can-se tsuna-can-se changed the title Feature/ヘルスチェック用apiを追加する ヘルスチェック用apiを追加する Oct 27, 2023
@tsuna-can-se
Copy link
Contributor

@rnakagawa16
もう少し教えてほしいことがあります。

  1. フロントエンドと組み合わせたとき、開発環境ではViteの設定にある通り、「/api」へのアクセスをバックエンドに流します。本番環境だとLB経由でヘルスチェックAPIにアクセスすることはないですが、開発環境でストレスなく動作確認できるように、ヘルスチェックAPIも「/api」で始まるURLにマップしたいと思います。設定でどうにかできますか?
  2. Open API仕様書にヘルスチェックAPIの仕様は掲載できますか?
  3. swaggerのUI画面で、ヘルスチェックAPIの仕様を確認できますか?

@rnakagawa16
Copy link
Contributor Author

@tsuna-can-se
上記質問の回答と追加の質問となります。

  1. management.endpoints.web.base-path=/apiの記載を行うことで対応可能です。
      http://localhost:8080/actuator/health/datasource から http://localhost:8080/api/health/datasource に変更されます。
  2. OpenAPIの記述がなされているapi-specification.jsonはコントローラークラスのアノテーションによって自動生成されているのでしょうか。
     自動生成されているのであれば、アノテーションの記述をするクラスファイルがないのでjsonファイルに自動生成できない可能性が高いです。
  3. Spring Boot ActuatorのAPIをswaggerに記載できる環境設定によって使用を確認することができます。
     しかし、説明文章の編集を行うような方法は見つかっていません。
     springdoc.show-actuator=true
     
    image

 

Copy link
Contributor

@ShumpeiYamada36 ShumpeiYamada36 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

指摘事項2点追加しました。

@tsuna-can-se tsuna-can-se added the target: Dressca サンプルアプリケーションDresscaに関係がある label Nov 10, 2023
@tsuna-can-se tsuna-can-se merged commit 3140119 into main Nov 10, 2023
7 checks passed
@tsuna-can-se tsuna-can-se deleted the feature/ヘルスチェック用APIを追加する branch November 10, 2023 01:50
@tsuna-can-se tsuna-can-se changed the title ヘルスチェック用apiを追加する ヘルスチェック用APIを追加する Nov 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
target: Dressca サンプルアプリケーションDresscaに関係がある
Projects
None yet
Development

Successfully merging this pull request may close these issues.

バックエンドサーバーのヘルスチェック用APIを追加する
3 participants