ヘルスチェック API

It would be nice to have some sort of health check API. We recently faced an issue with an update and Discourse was producing 500 errors.

However, curl returned 200:

curl -I https://forum.gitlab.com
HTTP/2 200
server: nginx
「いいね!」 2

This exists, see

/srv/status

「いいね!」 15

Ah, thank you! I was searching “health check” and that didn’t yield any results.

「いいね!」 2

投稿が見つかりません(404)。エンドポイントは何ですか?

投稿を更新しました。

「いいね!」 2

実は、上記のような移行の問題は /srv/status では検出できないと思います…

(そのような問題を検出するチェックを構築するのはかなり難しいでしょう)

「いいね!」 2

はい… /srv/status は非常に安価なテストとして用意されており、アプリのミドルウェアスタックが正常に動作していることを確認するだけのものです。

自動デプロイ時の問題を検知するには、200 番ステータスの監視をお勧めします。200 番以外のステータスが大幅に増加した場合はアラートを出すようにしてください。

「いいね!」 5

https://discourse.example.org/srv/status」をアップタイムモニターの監視先として指定するのは良いアイデアでしょうか?「サイトが稼働しているか」 reliably を測るためには不十分かもしれませんが、システムへの負荷が少ない監視方法があればと思います。

(あるいは、このエンドポイントに記載されているコンポーネントを拡張する予定はありますか?)

「いいね!」 3

そうですね、それは妥当な場所です。より高度なことをしたい場合は、特定のトピックを指してテキストを検索することもできます。

「いいね!」 7

はい、以前は /about を使っていましたが、こちらを使う方向で検討しています。

昔のオペレーションやオンコール対応の経験から、以下のような形式にすると、場合によってはトラブルシューティングに役立ったり、興味深いものになったりするかもしれないと考えました。

db ok
middleware ok
whatever-else ok
...
all systems ok
「いいね!」 4