| 項目 | 内容 |
|---|---|
| 実施日 | 2026年9月5日(JST) |
| 対象 | 監視サーバー / Grafana・Discord通知 |
| 種類 | 通知形式・重要度・状態管理の変更 |
| 状態 | 初回本番適用・基本通知試験の記録。後続修正は別記録で本番反映済み |
Grafana標準の内部情報中心の通知を、受信した人が対象・状態・影響・初動を読み取れる通知へ変更しました。Critical・Warningそれぞれの発生・終了について、Grafanaからの送信成功とDiscordでの受信・本文の状態表示を確認しました。
追補(2026年9月5日)
このページ後半の「未解決・未確認事項」は、初回検証時点の記録です。その後PR #7〜#10で通知文面、例外終了、発火時刻保持、Grafana起動時プラグイン処理、一時試験ルールの通知経路を追加修正し、本番へ反映しました。現在の状態と残課題はGrafana通知の追加修正・本番反映と運用ログ調査を参照してください。
本番確認の記録は、管理者から共有された2026年9月5日の実行報告と4件のDiscord通知本文に基づきます。Wiki編集時に本番テストを再実行したものではありません。
実装は ServerMonitoringStack PR #6 でマージしました。
| 項目 | 変更内容 |
|---|---|
| 状態表示 | Criticalの発生を🔴障害発生、終了を🟢復旧、Warningの発生を🟠警告、終了を🔵警告条件終了として表示 |
| 本文 | 発生用・終了用の要約を分離し、影響・初動・終了後の確認事項・必要最小限の技術情報を追加 |
| 対象名・情報量 | CASるWiki、石川メッキサーバー、ホスト監視、コンテナ監視などの名称を表示。式の内部値一覧・全ラベル・長大なSilence URLは非表示 |
| 時刻 | JSTの開始・終了時刻と、開始から終了までの時間を表示。現行の表示は今回の検証ではFiring開始基準 |
| 重要度 | Monitoring Target DownとService Slowをwarningへ変更し、再通知を4時間に変更。判定閾値・Pending時間は変更なし |
| リンク | Grafanaの基準URLをVPN内IP・ポートから生成し、localhostへのリンクを修正。監視構成と障害記録への名前付きリンクを追加 |
| データ欠落 | Monitoring Target Down以外の6ルールを noDataState: KeepLast に変更。MissingSeriesによる終了の識別は未実装 |
Service Slow のUIDは casru-service-slow-critical を維持しています。既存の同一ルール内のグループ化は維持しましたが、異なるルールをまたぐ障害集約・親子抑制、再発回数、共通インシデントID、自動スレッド・担当管理は導入していません。
| 項目 | 確認結果 |
|---|---|
| Grafana | 13.0.2 |
| 適用コミット | 9955722c7a2a155ccea606f99fb5a5f94781581f(PR #6のマージコミットと一致) |
| Git作業ツリー | クリーン |
| Health | database=ok |
| 本番ルール | 7件すべて有効。試験前後とも全件Normal |
| 通知先・テンプレート | Discord - 監視・アラート、casru-discord-alerts、casru.discord.message を確認。Resolved通知有効 |
| 重要度・再通知 | Monitoring Target DownとService Slowがwarning、再通知4時間 |
| VPN内URL | http://10.10.10.10:3001/ と一致 |
実サービスを停止せず、時刻条件で自然に終了する一時ルールをCritical・Warningで1件ずつ作成しました。両方とも07:28:30にPending、07:29:00にFiringへ移行し、07:33:30に条件が A=0 となってNormalへ戻りました。途中の編集・一時停止・削除を終了の代わりには使っていません。
時刻はすべて 2026年9月5日 JST です。Discord欄は受信と本文の確認結果であり、Discord側の受信時刻を示すものではありません。
| 通知 | 発生・終了の評価時刻 | Grafana送信成功時刻 | Discord受信・本文 |
|---|---|---|---|
| Critical発生 | 07:29:00 | 07:29:16 | 🔴 障害発生 |
| Critical終了 | 07:33:30 | 07:33:46 | 🟢 復旧 |
| Warning発生 | 07:29:00 | 07:29:18 | 🟠 警告 |
| Warning終了 | 07:33:30 | 07:33:48 | 🔵 警告条件終了 |
4件とも送信・受信に成功しました。Critical側は「CASるWiki」、Warning側は「石川メッキサーバー / コンテナ監視」と表示され、JST、名前付きリンク、終了通知の 4m30s を確認しました。共有された本文に <no value>、テンプレートエラー、内部値一覧はありません。
評価から送信成功までは16〜18秒でした。これはテスト専用の通知間隔での結果であり、本番ルールの通知遅延を保証する値ではありません。
Pending開始からNormal復帰までは5分、Firing開始からNormal復帰までは4分30秒でした。通知の「発生」と「継続時間」は後者を基準としており、実際のサービス停止時間やPending期間込みの異常継続時間ではありません。 この初回表示は後続修正で アラート発火、通知条件終了、発火から終了まで へ変更しました。
検証中のNo Data・評価エラー・通知失敗は0件でした。検証のための再デプロイ、コンテナ停止・再起動は行っていません。本番適用そのものと、その後の検証作業は区別しています。
終了通知を確認後、一時ルール2件と専用評価グループを削除し、残存0件を確認しました。既存設定・Git管理ファイル・.env は検証前後で変更ありません。
以下は初回本番検証時点で残っていた課題です。通知文面・状態判定・時間表示・起動時プラグイン処理については後続修正を本番へ反映済みです。現在残っている課題は追加修正・本番反映と運用ログ調査を参照してください。
| 課題 | 初回検証時の状態 | 後続対応 |
|---|---|---|
| 復旧時の影響文 | 終了通知でも発生時の impact を再表示 |
後続修正で終了通知から除外 |
| Warning終了時の改善断定 | Critical通知がまだなくても改善と読める可能性 | 実測値とCritical側のPending / Firingを確認する文面へ変更 |
| 終了理由の区別 | CriticalのResolvedを一律に緑の復旧として表示 | grafana_state_reason を確認し、MissingSeries等は 復旧未確認 と表示 |
| 時間の名称 | 発生 / 継続時間 がFiring基準と分かりにくい |
アラート発火 / 発火から終了まで へ変更し、発火時刻保持も追加 |
一部の系列だけが消えるMissingSeriesは、クエリ全体が空になるNo Dataとは別です。現在の通知では終了理由を確認し、正常値を確認できない終了を復旧として扱いません。
初回試験では、Discordの実画面での改行・スマートフォンでの視認性・埋め込み枠色・リンク操作、複数対象の同時通知、長時間継続時の再通知、WarningからCriticalへの悪化、No Data・MissingSeries・評価エラー時の通知は未確認でした。
後続作業では複数対象の本番実通知、MissingSeries等の隔離試験、DatasourceError / DatasourceNoDataのプレビューまで確認しています。PC / スマートフォンの実画面確認と、1時間 / 4時間を実際に待つ再通知試験は引き続き未実施です。
初回テスト前には、プラグイン設定ディレクトリ不在とElasticsearchプラグイン導入時の権限エラーが報告されていました。後続のPR #8で設定対策を行い、追加修正を反映した本番起動では再発していません。
別件として、Grafana 13.0.2の利用統計送信時に未導入Amazon Prometheusプラグインを照会する既知問題と、単発のSQLite SQLITE_BUSY を確認しています。これらは後続記録で扱います。
初回共有報告に記載されたサーバー上の証跡保存先は /tmp/casru-discord-verify-20260905-0728/REPORT.md です。/tmp 配下のため永続保存は保証されません。