2026年5月19日
2026年5月19日
サーバーの死活監視にcurlを使う簡易監視スクリプト
はじめに
サーバーの死活監視は、システムやサービスが正常に動作していることを確認する重要な作業です。特にWebサイトやアプリケーションサーバーを運営する際には、定期的な健康チェックが必要です。本記事では、cURLを使用した簡易なサーバー監視スクリプトを作成し、その設定方法と使用上の注意点について解説します。
手順・設定方法
ステップ1: cURLのインストール
まず、cURLがインストールされていることを確認しましょう。cURLは多数のLinuxディストリビューションで既定でインストールされていますが、必要であれば手動でインストールできます。
# cURLをインストール(Debian/Ubuntu系)
sudo apt-get update && sudo apt-get install -y curl
# cURLをインストール(CentOS/RHEL系)
sudo yum install -y curl
ステップ2: 簡易監視スクリプトの作成
次に、cURLを使用して簡易なサーバー死活監視スクリプトを作成します。このスクリプトでは、指定されたウェブサイトへのアクセスが正常に行われているかをチェックします。
# スクリプトファイルを作成
nano /usr/local/bin/server_monitor.sh
# 以下のように内容を追加
#!/bin/bash
# ホスト名またはIPアドレスを変数に設定
HOST="http://example.com"
# cURLコマンドでウェブサイトへのアクセスをチェック
RESULT=$(curl -o /dev/null --silent --head --write-out '%{http_code}' $HOST)
# 200 OKであるか確認
if [ "$RESULT" == "200" ]; then
echo "サーバー正常"
else
echo "サーバー異常: HTTPステータスコード $RESULT"
fi
# スクリプトを実行可能に設定
chmod +x /usr/local/bin/server_monitor.sh
ステップ3: 監視スケジューリング
定期的に監視スクリプトを実行するため、cronジョブを使用します。これにより、サーバーが正常に動作しているかを定期的に確認することができます。
# cronジョブの編集
crontab -e
# 1分毎に監視スクリプトを実行
*/1 * * * * /usr/local/bin/server_monitor.sh >> /var/log/server_monitor.log 2>&1
ステップ4: 実践/トラブルシュート/監視
実際に監視スクリプトが機能することを確認します。ログファイルを定期的にチェックして、問題が発生したかどうかを把握しましょう。
# ログファイルの確認
tail -f /var/log/server_monitor.log
注意事項
- cURLコマンドは非同期で動作するため、サーバーとの通信に時間がかかる場合があることに注意してください。
- 異常なHTTPステータスコード(例:404, 502)が返された場合も正常と判断しないようにしましょう。
- cronジョブの設定には適切な権限が必要です。必要であればrootとして実行するか、sudoを使用して実行できます。
まとめ
1. cURLのインストール: cURLが既にインストールされていることを確認し、必要であればインストールします。
2. 監視スクリプトの作成: cURLコマンドを使用して簡易なサーバー死活監視スクリプトを作成します。
3. cronジョブの設定: 定期的に監視スクリプトを実行するためのcronジョブを設定します。
4. 定期的な確認: ログファイルをチェックして、監視結果を確認します。
関連記事: