TMPL-OPS-001
定期レポート自動生成テンプレート
Opsintermediatelongverified: 2026-02
sanitized snapshot
Last synced: 2026-02-14
要約
定期レポート作成と配信の運用を、再現可能な手順として整理した。
監視と復旧を前提に、停止しない運用を優先した構成にしている。
共有可能な情報だけで構成し、秘匿情報は除外した。
決定事項
- 作成処理と配信処理を分離して管理する
- 失敗時の再実行ルールを事前定義する
- 秘密値は設定領域で管理し本文には残さない
未決
- 再実行の判断基準をどの運用単位で持つか
- 通知の優先度をどう分類するか
- 監視結果の保管期間をどう決めるか
次アクション
- 実装担当: 処理分離と例外分岐をテンプレート化する
- 運用担当: 再実行手順を定型化する
- 監督担当: 監視項目のレビュー頻度を定義する
リスク
- 配信前検証が弱いと誤配信につながる
- 監視閾値が曖昧だと異常検知が遅れる
- 再実行ルールがないと対応品質が不安定になる
参照ID
- TMPL-OPS-001
- CL-2026-02
概要
定期レポート(日次/週次/月次)のデータ集計から整形・配信までを自動化し、手作業を排除する。
対象ユーザー
- 定期的にデータを集計しレポートを作成・送信している運用担当者
- レポート作成に毎回同じ作業を繰り返しているチーム
前提条件
- レポートに使用するデータソースへの読み取りアクセスがあること
- 自動化ツールがスケジュール実行に対応していること
- 配信先(メール受信者 or チャットチャンネル)が確定していること
構成(ノード/データフロー)
- スケジュールトリガー — Cron式で定期起動
- データ取得 — APIまたはDBクエリでraw dataを取得
- 集計・加工 — 必要な計算・フィルタ・ソートを実行
- テンプレート整形 — レポートフォーマットに整形
- 配信 — メール送信 or チャットツールへ投稿
- 実行ログ記録 — 成功/失敗をログに記録
セットアップ
Step 1: データソース接続
- 自動化ツールにデータソースの認証情報を設定(値は環境変数に格納、記載禁止)
- テスト接続で疎通確認
- 取得クエリ/APIコールを作成し、期待するデータ形式を確認
Step 2: 集計ロジックの構築
- Functionノードまたはコードノードで集計処理を記述
- 集計結果のスキーマ(列名・型)を定義
- テストデータで計算結果を検証
Step 3: レポート整形
- HTMLメール or Markdown形式のテンプレートを作成
- 動的値の埋め込み箇所を変数で指定
- ヘッダー/フッターに「自動生成レポート」の旨を明記
Step 4: 配信設定
- メール送信: SMTP設定 or メールAPIの認証情報を環境変数で設定
- チャット: Webhook URLを環境変数で設定(記載禁止)
- テスト送信で受信確認
Step 5: スケジュール設定
- スケジュールトリガーにCron式を設定(例: 毎週月曜9時)
- タイムゾーンを明示的に設定
運用(監視・例外・復旧)
- 監視: 各実行ログを確認。データ取得件数がゼロの場合はアラート
- 例外: データソース一時停止時はスキップしリトライ。配信先エラー時はログ記録のみ
- 復旧: 直前の正常実行結果を手動で再送(ログから取得)
詰まりTOP5
- スケジュールのタイムゾーン設定漏れで実行時刻がずれる
- データソースの認証トークンが期限切れで取得失敗
- 集計ロジックのNULL/欠損データ処理漏れ
- メールのSPF/DKIM設定不備で迷惑メール判定
- レポートのデータ量が大きすぎてタイムアウト
反証3(失敗条件)
- データソースの仕様変更: APIスキーマ変更で集計が壊れる。バージョン固定+変更通知の監視
- レポートの形骸化: 誰も読まないレポートを配信し続ける。定期的に配信先・内容の棚卸し
- 集計誤り: ロジック変更時のテスト不足で誤った数値を配信。テストデータでの検証を必須化
トラブルシュート
| 症状 | 原因 | 対処 |
|---|---|---|
| レポートが届かない | スケジュール未起動 or 配信エラー | 自動化ツールの実行履歴を確認 |
| データが空 | 認証エラー or クエリ誤り | データ取得ノードの単体テスト |
| 数値がおかしい | 集計ロジックの不具合 | テストデータで期待値と比較 |
| メールが迷惑メールに | SPF/DKIM設定不備 | 送信ドメインのDNS設定を確認 |
| 実行が途中で止まる | タイムアウト | データ量を制限 or タイムアウト値を延長 |
Secrets注意
- データソースの接続文字列、APIキー、パスワードは絶対に記事に記載しない
- メールのSMTP認証情報も非公開
- Webhook URLも記載禁止
- レポートに含まれる実数値は
raw_privateにのみ保存可(公開記事には含めない)
ロールバック(停止/戻し)
- 即時停止: スケジュールトリガーを無効化
- 配信停止: 配信ノードのみ無効化(集計は継続しログ確認可能)
- 完全戻し: ワークフロー全体を無効化し、手動レポート作成に切り替え
FAQ10
- Q: どの頻度が推奨か? A: 業務要件による。日次/週次/月次をそれぞれ別ワークフローで管理推奨
- Q: PDFで出力できるか? A: HTML→PDF変換ノードを追加すれば可能
- Q: 複数配信先に送れるか? A: 配信ノードをループまたは並列に設定
- Q: データソースを複数結合できるか? A: Mergeノードで結合可能
- Q: 過去のレポートを再生成できるか? A: 日付パラメータを手動指定して実行
- Q: レポートのフォーマットを変えたいとき? A: テンプレートノードを編集。本文構造の変更はDoD再チェック
- Q: 配信失敗のリトライは? A: エラーハンドリングノードでリトライ回数・間隔を設定
- Q: ダッシュボードとの違いは? A: プッシュ型(レポート) vs プル型(ダッシュボード)。用途で使い分け
- Q: 集計対象期間の指定は? A: トリガー実行日時から相対で算出(例: 「過去7日」)
- Q: コスト管理は? A: API呼び出し回数をモニタリングし、無料枠を超えないようアラート設定
変更履歴
| 日付 | 変更内容 | 関連ID |
|---|---|---|
| 2026-02 | 初版作成 | TMPL-OPS-001 |
last_verified
2026-02