ろぼいんブログ

NetdataでWebサイト(HTTPエンドポイント)の死活監視をする

NetdataのHTTP死活監視のダッシュボードのスクリーンショット

このブログはGitHub Actionsによる自動デプロイを導入しているのですが、自動デプロイ中にほかのプログラムを手動でアップデートしたことにより、デプロイが途中で停止してしまいました。

ところが、それに半日ほど気づかず、その間はサイトが閲覧できない状態になってしまっていました。

広告

そこで、もしまたサイトが停止したらすぐに気づけるように、すでに導入していたNetdataにWebサイトの死活監視を追加したので、設定方法を紹介します。

NetdataでWebサイトの死活監視をする方法

Netdataを使うとサーバーの死活監視やリソースのモニタリングができますが、実はWebサイト(HTTPエンドポイント)の死活監視もできます。

設定は簡単です。

1. 設定を編集する

次のコマンドを実行して、Netdataの設定ファイルを開きます。

Terminal window
cd /etc/netdata
./edit-config go.d/httpcheck.conf

次のような設定を追加します。jobsをすでに定義している場合は、それを更新する形で追加してください。

アプリケーションの名前は任意の名前、https://example.comは実際のURLに置き換えてください。

広告
/etc/netdata/go.d/httpcheck.conf
jobs:
- name: アプリケーションの名前
url: https://example.com
status_accepted: [200]
timeout: 2

nameurlは、それぞれダッシュボードに表示される名前と監視対象のURLです。

また、status_acceptedは正常とみなすステータスコードで、200 OK以外も正常とみなしたい場合は、そのステータスコードを配列に追加します。

timeoutはタイムアウトの長さ(秒)です。

メソッドはデフォルトでGETですが、methodを指定することで別のメソッドを使用したり、bodyでリクエストのボディを設定したりできます。

そのほか、特定のレスポンスが返ってくるか確認したり、HTTPヘッダーを指定したりもできます。

広告

詳細なオプションは、公式ドキュメントを参照してください。

2. Netdataを再起動する

設定を編集して保存したら、Netdataを再起動します。

Terminal window
service netdata restart

3. 動作しているか確認する

Netdataを再起動したら、死活監視が動作しているか確認しましょう。

すでにNetdataのダッシュボードを開いている場合は再読み込みしてから、[Metrics]タブを開きます。

HTTPエンドポイントの死活監視は、[Synthetic]>[HTTP]セクションに表示されています。

広告

該当するセクションまでスクロールするか、サイドバーから選択します。

Netdataのサイドバーのスクリーンショット。[Synthetic]>[HTTP]が選択されている
Netdataのサイドバー

ステータスコードが正常かどうかのほか、レイテンシーなども確認できます。

NetdataのHTTP死活監視のダッシュボードのスクリーンショット
NetdataのダッシュボードにHTTPエンドポイントの状態が表示される

まとめ

Netdataを使うと、サーバーの状態だけでなくWebサイトの死活監視もできます。

簡単に設定できるので、ぜひ活用してみてください。

記事をシェア

Xに共有するBlueskyに共有するMisskeyに共有するLINEに共有するThreadsに共有する

フォローして最新情報を入手

Googleの優先ソースに追加すると、このサイトの記事をGoogleで見つけやすくなります。また、ぜひXやRSSフィードもフォローしてください。

Googleの優先ソースとして追加するGoogleの優先ソースとして追加するXのロゴ
著者のアイコン画像

生まれた時から、母国語よりも先にJavaScriptを使っていました。ネットの海のどこにもいなくてどこにでもいます。

Webフロントエンドプログラマーとして、TypeScriptを用いたWebアプリやブラウザー拡張機能を制作。Xのシャドウバン検知ツール「Shadowban Scanner」やリンクカード復活ツール「Restore Link Card」を公開し、国内外のメディアで紹介されました。iGEM 2023ではJapan-UnitedチームのWikiを制作してGrand Prizeの獲得に貢献。ブログではXやSNSの最新ニュース、不具合の検証と対処法、フロントエンド開発の知見を発信しています。