ServerMonitoringStack / Prometheus・Grafana・Blackbox Exporter・Discord既存のサーバーリソース監視に加えて、公開サービスと監視基盤自身の死活監視、Grafana Alerting、Discordへの自動通知を導入しました。
これにより、Grafanaで状態を確認するだけでなく、サービス停止、監視ターゲット停止、応答遅延、ディスク使用率、TLS証明書期限を自動検知し、Discordの 監視・アラート へFiring / Resolved通知を送れるようになりました。
CASる Service Availability を追加Grafanaへ次の7件のAlert Ruleを追加しました。
Service DownMonitoring Target DownService Slow CriticalRoot Disk WarningRoot Disk CriticalTLS Certificate Expiring WarningTLS Certificate Expiring Critical通知先としてContact Point Discord - 監視・アラート を追加し、Firing通知とResolved通知を有効にしました。
具体的な監視対象・閾値・通知間隔は監視・アラート構成を参照してください。
最終的な本番反映は成功しました。
fd2211cc179ad58792016f1032f2a4b18562bae43ed20ef889f67a62ffe52c790939bb03bdec8876main / cleanrunning0database okGrafanaのみを再作成し、Prometheus、Blackbox Exporter、node_exporter、cAdvisorは再作成していません。既存監視への回帰もありませんでした。
本番サービスを停止せず、Grafanaの通知機能と一時テストAlertを使って確認しました。
これにより、GrafanaからDiscordまでの通知経路と、FiringからResolvedまでの一連の動作を確認しています。
Discord Webhook URLはサーバー上の .env で管理し、GitHub・Wiki・Discord通常メッセージには記載していません。
本番反映前に .env をバックアップし、内容が一致することを確認しました。また、.env の権限を 664 から 600 へ是正しています。設定内容自体の変更はありません。
GrafanaログにはAlertingの動作に影響しないplugin関連エラーが確認されています。また、一部annotationの日本語表現と実際の厳密な条件に差がある箇所があります。どちらも今回の導入完了には影響しないため、必要に応じて別の改善作業として扱います。
fd2211cc179ad58792016f1032f2a4b18562bae43ed20ef889f67a62ffe52c790939bb03bdec8876