macOSの定期監視スクリプトがdocker/lsofのハングで止まらないようにする:bounded_runで二重に時間制限をかける
定期実行している監視スクリプトが、内部で呼ぶ `docker` や `lsof` の応答待ちで止まり、後続の失敗検出・GC・メトリクス収集・生存通知まで巻き込んで数時間止まる。実運用しているサービスで、こうした問題に遭遇しました。
エラー自動起票で同じ Issue が大量に立つ問題を3層の防御で止める(fingerprint 正規化・クローズ済み照合・起票上限)
エラーログ集約からGitHub Issueを自動起票する仕組みで、同じ原因なのにIssueが大量に立つ問題を、fingerprintの変動値正規化・クローズ済みIssueとの照合・時間あたりの起票上限という3層の防御で止める実装方法を解説します。
Woodpecker CIのcronだけ「secret not found」で止まる原因と、Events設定ずれを夜間に検出する方法
Woodpecker CI で cron のときだけ secret not found になるのは、repo secret の Events 設定が cron に対応していないためです。Node.js と GitHub Actions を使い、この設定ずれ(drift)を夜間ヘルスチェックで自動検出する方法を紹介します。
WordPressのエラー送信が止まったときの点検手順:error_get_last()の上書きとWP-CLI疎通確認
WordPressからのエラー送信が止まったとき、送信の故障を疑う前に行う点検の型と、error_get_last()が後続のNoticeで上書きされる欠陥の直し方、受け手のスキーマ検査をテストに写す方法、本番で安全に疎通確認できるWP-CLIコマンドの作り方をまとめます。
ジョブキューの孤児エントリで13日間止まった同期を防ぐ: GCの定期実行と「止まり続けた時間」の監視
ジョブキューの孤児エントリが原因で、同期処理が13日間も気づかれずに停止していた事例を解説します。未使用だったGC(回収処理)の定期実行と、停止時間をstateファイルに記録してWARNする仕組みを、シェルスクリプトの実装例とともに紹介します。
Woodpecker CIで特定リポジトリだけpipelineが生成されない原因はforge timeoutだった
セルフホストのWoodpecker CIを運用していると、「特定のリポジトリだけ、pushしてもpipelineが生成されない」という症状に出会うことがあります。
cron監視の「どれか1本成功すればOK」をやめる:ジョブごとの死活監視を周期クラスで設計する
定期ジョブの監視を「直近24時間に1件でも成功していれば green」で済ませていませんか。cron式から周期クラスを自動推定し、ジョブごとに適切な期間で成功を評価、失敗原因まで分類するper-cronヘルスチェックの設計を解説します。
夜間監視の自動起票が『同じ原因なのに量産される』を止めた話
夜間の監視ジョブが失敗するたびにGitHub Issueを自動起票する仕組みは便利ですが、同じ原因の失敗が続くと毎晩issueが積み上がります。本記事では同一原因のopenなissueに追記し、なければ新規作成するdedupロジックで増殖を解消した設計を紹介します。
デプロイ後スモークテストの「全断」誤判定、原因は失敗理由をひとまとめに扱っていたこと
デプロイ後に自動で「サイトが生きているか」を確認するスモークテストの話です。「サイト全断」と「バージョン未反映」を同じ失敗として扱うと、アラートが緊急度を正しく伝えられなくなります。失敗理由の文字列パターンによる分類と、期待バージョンの取得元の見直しで、この誤判定を防いだ設計を紹介します。
監視は監視対象の外に置く — セルフホストCIの死活監視をGitHub Actionsで担保する
ローカル1台のセルフホストCIはホストごと落ちると自己検知できない。常時稼働のGitHub Actionsから死活監視・SLO計測・config drift検出を外付けする設計を解説します。










