Skip to content

Commit c240306

Browse files
committed
🥖 docs: fix healthcheck
1 parent 615aa2c commit c240306

File tree

2 files changed

+52
-51
lines changed

2 files changed

+52
-51
lines changed

docs/nuxt/health-check-with-bff.md

Lines changed: 49 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,51 @@
1-
## Nuxtサーバーだけのヘルスチェック
1+
## NuxtサーバーとBFFを含めたヘルスチェック
22

3-
BFF を意識せずに `Nuxt サーバーだけ` のヘルスチェックをするなら `static` な画像ファイルを参照するの楽ちんです!
3+
Nuxt サーバーからさらに `BFF の API サーバーまでの疎通` を含めたヘルスチェックになります。
4+
5+
[typescript-nuxtjs-boilerplate/healthcheck.js at master · typescript-nuxtjs-boilerplate/typescript-nuxtjs-boilerplate](https://github.com/typescript-nuxtjs-boilerplate/typescript-nuxtjs-boilerplate/blob/master/src/api/healthcheck.js)
6+
7+
```javascript
8+
// https://ja.nuxtjs.org/api/configuration-servermiddleware/
9+
const axios = require('axios')
10+
11+
const HEALTHCHECK_PATH = '/healthcheck'
12+
13+
// 関数の仕様はこちら
14+
// https://github.com/senchalabs/connect#appusefn
15+
module.exports = (req, res, next) => {
16+
console.log('/start healthcheck---')
17+
18+
let internalHealthcheckUrl
19+
20+
if (process.env.BUILD_ENV === 'docker') {
21+
/** docker のビルド環境の環境変数から値を取ってくる */
22+
internalHealthcheckUrl = `${process.env.internalEndpointUrl}${HEALTHCHECK_PATH}`
23+
} else {
24+
/** docker でビルドされていない場合は、 .env.local から値を取ってくる */
25+
internalHealthcheckUrl = `http://localhost:5000${HEALTHCHECK_PATH}`
26+
}
27+
console.log('internalHealthcheckUrl:', internalHealthcheckUrl)
28+
29+
res.writeHead(200, {
30+
'Content-Type': 'text/plain'
31+
// 'Content-Type': 'application/json'
32+
})
33+
34+
axios.get(`${internalHealthcheckUrl}`).then(response => {
35+
console.log(response.data)
36+
console.log(response.status)
37+
38+
// res.writeHead を使う場合は、 end しか使えない
39+
// https://qiita.com/kukimo/items/e686d480209464c6372f
40+
// res.write('ok')
41+
res.end('ok')
42+
})
43+
44+
console.log('/end healthcheck---')
45+
46+
// このミドルウェアがレスポンスを返さず、次に処理を移譲させるなら next() を実行すること
47+
// https://expressjs.com/en/guide/writing-middleware.html
48+
// next()
49+
}
50+
```
451

5-
[typescript-nuxtjs-boilerplate/healthcheck.png at master · typescript-nuxtjs-boilerplate/typescript-nuxtjs-boilerplate](https://github.com/typescript-nuxtjs-boilerplate/typescript-nuxtjs-boilerplate/blob/master/src/static/healthcheck.png)

docs/nuxt/health-check.md

Lines changed: 3 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,5 @@
1-
## NuxtサーバーとBFFを含めたヘルスチェック
1+
## Nuxtサーバーだけのヘルスチェック
22

3-
Nuxt サーバーからさらに `BFF の API サーバーまでの疎通` を含めたヘルスチェックになります。
3+
BFF を意識せずに `Nuxt サーバーだけ` のヘルスチェックをするなら `static` な画像ファイルを参照するの楽ちんです!
44

5-
[typescript-nuxtjs-boilerplate/healthcheck.js at master · typescript-nuxtjs-boilerplate/typescript-nuxtjs-boilerplate](https://github.com/typescript-nuxtjs-boilerplate/typescript-nuxtjs-boilerplate/blob/master/src/api/healthcheck.js)
6-
7-
```javascript
8-
// https://ja.nuxtjs.org/api/configuration-servermiddleware/
9-
const axios = require('axios')
10-
11-
const HEALTHCHECK_PATH = '/healthcheck'
12-
13-
// 関数の仕様はこちら
14-
// https://github.com/senchalabs/connect#appusefn
15-
module.exports = (req, res, next) => {
16-
console.log('/start healthcheck---')
17-
18-
let internalHealthcheckUrl
19-
20-
if (process.env.BUILD_ENV === 'docker') {
21-
/** docker のビルド環境の環境変数から値を取ってくる */
22-
internalHealthcheckUrl = `${process.env.internalEndpointUrl}${HEALTHCHECK_PATH}`
23-
} else {
24-
/** docker でビルドされていない場合は、 .env.local から値を取ってくる */
25-
internalHealthcheckUrl = `http://localhost:5000${HEALTHCHECK_PATH}`
26-
}
27-
console.log('internalHealthcheckUrl:', internalHealthcheckUrl)
28-
29-
res.writeHead(200, {
30-
'Content-Type': 'text/plain'
31-
// 'Content-Type': 'application/json'
32-
})
33-
34-
axios.get(`${internalHealthcheckUrl}`).then(response => {
35-
console.log(response.data)
36-
console.log(response.status)
37-
38-
// res.writeHead を使う場合は、 end しか使えない
39-
// https://qiita.com/kukimo/items/e686d480209464c6372f
40-
// res.write('ok')
41-
res.end('ok')
42-
})
43-
44-
console.log('/end healthcheck---')
45-
46-
// このミドルウェアがレスポンスを返さず、次に処理を移譲させるなら next() を実行すること
47-
// https://expressjs.com/en/guide/writing-middleware.html
48-
// next()
49-
}
50-
```
5+
[typescript-nuxtjs-boilerplate/healthcheck.png at master · typescript-nuxtjs-boilerplate/typescript-nuxtjs-boilerplate](https://github.com/typescript-nuxtjs-boilerplate/typescript-nuxtjs-boilerplate/blob/master/src/static/healthcheck.png)

0 commit comments

Comments
 (0)