<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>オブザーバビリティ on hdknr blog</title><link>https://hdknr.github.io/blogs/tags/%E3%82%AA%E3%83%96%E3%82%B6%E3%83%BC%E3%83%90%E3%83%93%E3%83%AA%E3%83%86%E3%82%A3/</link><description>Recent content in オブザーバビリティ on hdknr blog</description><generator>Hugo -- 0.157.0</generator><language>ja</language><lastBuildDate>Fri, 08 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://hdknr.github.io/blogs/tags/%E3%82%AA%E3%83%96%E3%82%B6%E3%83%BC%E3%83%90%E3%83%93%E3%83%AA%E3%83%86%E3%82%A3/index.xml" rel="self" type="application/rss+xml"/><item><title>Apprise + シフト管理ツールで OnCall 自作スタックを組む — PyShift・OR-Tools・GoAlert の役割と選び方</title><link>https://hdknr.github.io/blogs/posts/2026/05/apprise--%E3%82%B7%E3%83%95%E3%83%88%E7%AE%A1%E7%90%86%E3%83%84%E3%83%BC%E3%83%AB%E3%81%A7-oncall-%E8%87%AA%E4%BD%9C%E3%82%B9%E3%82%BF%E3%83%83%E3%82%AF%E3%82%92%E7%B5%84%E3%82%80-pyshiftor-toolsgoalert-%E3%81%AE%E5%BD%B9%E5%89%B2%E3%81%A8%E9%81%B8%E3%81%B3%E6%96%B9/</link><pubDate>Fri, 08 May 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2026/05/apprise--%E3%82%B7%E3%83%95%E3%83%88%E7%AE%A1%E7%90%86%E3%83%84%E3%83%BC%E3%83%AB%E3%81%A7-oncall-%E8%87%AA%E4%BD%9C%E3%82%B9%E3%82%BF%E3%83%83%E3%82%AF%E3%82%92%E7%B5%84%E3%82%80-pyshiftor-toolsgoalert-%E3%81%AE%E5%BD%B9%E5%89%B2%E3%81%A8%E9%81%B8%E3%81%B3%E6%96%B9/</guid><description>&lt;p&gt;&lt;a href="https://hdknr.github.io/blogs/posts/2026/05/2026-05-08-grafana-oncall-irm-incident-response/"&gt;前回の記事&lt;/a&gt;で「Apprise + 自作 Web サービスで OnCall 相当を組む」例を示しました。この記事ではよくある誤解を整理し、&lt;strong&gt;シフト管理を含めた自作 OnCall スタックの現実的な選択肢&lt;/strong&gt;を深掘りします。&lt;/p&gt;
&lt;h2 id="まずは-apprise-の正しい位置付けを確認"&gt;まずは Apprise の正しい位置付けを確認&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://github.com/caronc/apprise"&gt;Apprise&lt;/a&gt; は名前から「シフト管理ができそう」と誤解されがちですが、実際の役割は明確に分かれています。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;正しい位置付け&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Apprise は &lt;strong&gt;「通知の超便利ハブ」&lt;/strong&gt; — 1 つのコードで Slack / メール / SMS / LINE / Telegram など 100 種類以上の通知先に統一インタフェースで送る&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;シフト管理機能（カレンダー、ローテーション、当番判定）は持たない&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;「シフト管理に Apprise を使う」とは、&lt;strong&gt;シフトロジックは別のライブラリ / DB / カレンダーで持ち、通知配信だけ Apprise に任せる&lt;/strong&gt;という意味&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;つまり Apprise は「&lt;strong&gt;組んだシフトを確実に届ける道具&lt;/strong&gt;」であり、「シフトを組む道具」ではありません。前回記事のコード例で &lt;code&gt;get_policy_for_now()&lt;/code&gt; を Python で書いていたのは、まさにこの「シフト判定ロジックを自作」の実装です。&lt;/p&gt;
&lt;h2 id="シフト管理を自作する場合に組み合わせる-python-ライブラリ"&gt;シフト管理を「自作する場合」に組み合わせる Python ライブラリ&lt;/h2&gt;
&lt;p&gt;シフトロジックを自分で書くなら、以下のライブラリが Apprise と相性が良い。&lt;/p&gt;
&lt;h3 id="1-pyshiftpoint85pyshift--古典的なシフトローテ"&gt;1. PyShift（point85/PyShift） — 古典的なシフトローテ&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://github.com/point85/PyShift"&gt;point85/PyShift&lt;/a&gt; は、Java 版の Shift ライブラリを Python に移植したもの。PyPI では &lt;code&gt;PyWorkShift&lt;/code&gt; として配布されています。&lt;/p&gt;</description></item><item><title>Grafana OnCall は終わった、Grafana Cloud IRM が始まった — オンコール体制の現代的選択肢を整理する</title><link>https://hdknr.github.io/blogs/posts/2026/05/grafana-oncall-%E3%81%AF%E7%B5%82%E3%82%8F%E3%81%A3%E3%81%9Fgrafana-cloud-irm-%E3%81%8C%E5%A7%8B%E3%81%BE%E3%81%A3%E3%81%9F-%E3%82%AA%E3%83%B3%E3%82%B3%E3%83%BC%E3%83%AB%E4%BD%93%E5%88%B6%E3%81%AE%E7%8F%BE%E4%BB%A3%E7%9A%84%E9%81%B8%E6%8A%9E%E8%82%A2%E3%82%92%E6%95%B4%E7%90%86%E3%81%99%E3%82%8B/</link><pubDate>Fri, 08 May 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2026/05/grafana-oncall-%E3%81%AF%E7%B5%82%E3%82%8F%E3%81%A3%E3%81%9Fgrafana-cloud-irm-%E3%81%8C%E5%A7%8B%E3%81%BE%E3%81%A3%E3%81%9F-%E3%82%AA%E3%83%B3%E3%82%B3%E3%83%BC%E3%83%AB%E4%BD%93%E5%88%B6%E3%81%AE%E7%8F%BE%E4%BB%A3%E7%9A%84%E9%81%B8%E6%8A%9E%E8%82%A2%E3%82%92%E6%95%B4%E7%90%86%E3%81%99%E3%82%8B/</guid><description>&lt;p&gt;&lt;a href="https://hdknr.github.io/blogs/posts/2026/05/2026-05-08-prometheus-loki-grafana-server-monitoring-stack/"&gt;前回の記事&lt;/a&gt;で「サーバー監視の王道スタック」として Prometheus + Loki + Grafana + Alloy を整理しました。アラート設計のセクションで触れた &lt;strong&gt;Grafana OnCall&lt;/strong&gt; について、改めて単独で深掘りします。&lt;/p&gt;
&lt;p&gt;ただし重要な注意点があります — &lt;strong&gt;Grafana OnCall OSS（grafana/oncall リポジトリ）は 2026 年 3 月 24 日にアーカイブされました&lt;/strong&gt;。後継は **Grafana Cloud IRM（Incident Response Management）**で、OnCall と Incident の両アプリが 1 つに統合されています。&lt;/p&gt;
&lt;p&gt;「Grafana OnCall を新規導入したい」「既存環境を移行すべきか」という人に向けて、&lt;strong&gt;何が終わって、何が始まったのか&lt;/strong&gt;を整理します。&lt;/p&gt;
&lt;h2 id="grafana-oncall-とは何だったのか"&gt;Grafana OnCall とは何だったのか&lt;/h2&gt;
&lt;p&gt;Grafana OnCall は &lt;strong&gt;「アラートが鳴った後の対応フロー」を管理するツール&lt;/strong&gt;でした。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Prometheus / Loki / Grafana が「&lt;strong&gt;異常を検知する&lt;/strong&gt;」までを担当&lt;/li&gt;
&lt;li&gt;Grafana OnCall は「&lt;strong&gt;鳴ったアラートを誰に・どうやって届け、どう対応するか&lt;/strong&gt;」を管理&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;PagerDuty や Opsgenie の OSS 互換ツールとして、Grafana エコシステムの中で重要なポジションを占めていました。&lt;/p&gt;
&lt;h3 id="主な機能当時"&gt;主な機能（当時）&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;アラートの集約とルーティング&lt;/strong&gt; — 複数の監視システムからのアラートを統合、内容に応じてチームへ振り分け&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;オンコールシフト管理&lt;/strong&gt; — 担当者のカレンダー（シフト表）に従って当番者にだけ通知&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;エスカレーションポリシー&lt;/strong&gt; — 一定時間応答がなければ次の担当者へ自動エスカレーション&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ChatOps 連携&lt;/strong&gt; — Slack / Telegram 上でアラート確認・対応開始（Acknowledge）・解決（Resolve）が完結&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;柔軟な通知手段&lt;/strong&gt; — Slack / Microsoft Teams / SMS / 自動音声通話（電話）/ モバイルプッシュ&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;IaC 対応&lt;/strong&gt; — Terraform プロバイダで設定をコード管理可能&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="連携先インテグレーション"&gt;連携先（インテグレーション）&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;カテゴリ&lt;/th&gt;
&lt;th&gt;代表的な連携先&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;監視・アラート検知&lt;/td&gt;
&lt;td&gt;Grafana, Prometheus (Alertmanager), Datadog, Zabbix, AWS CloudWatch, New Relic&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;通知・コミュニケーション&lt;/td&gt;
&lt;td&gt;Slack, Microsoft Teams, Telegram, SMS, 自動音声通話&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;OSS 版で自社サーバーに構築することも、Grafana Cloud のマネージドサービスとして利用することも可能でした。&lt;/p&gt;</description></item><item><title>現代的サーバー監視の王道スタック — Prometheus + Loki + Grafana + Alloy で始めるオブザーバビリティ基盤</title><link>https://hdknr.github.io/blogs/posts/2026/05/%E7%8F%BE%E4%BB%A3%E7%9A%84%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E7%9B%A3%E8%A6%96%E3%81%AE%E7%8E%8B%E9%81%93%E3%82%B9%E3%82%BF%E3%83%83%E3%82%AF-prometheus--loki--grafana--alloy-%E3%81%A7%E5%A7%8B%E3%82%81%E3%82%8B%E3%82%AA%E3%83%96%E3%82%B6%E3%83%BC%E3%83%90%E3%83%93%E3%83%AA%E3%83%86%E3%82%A3%E5%9F%BA%E7%9B%A4/</link><pubDate>Fri, 08 May 2026 00:00:00 +0000</pubDate><guid>https://hdknr.github.io/blogs/posts/2026/05/%E7%8F%BE%E4%BB%A3%E7%9A%84%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E7%9B%A3%E8%A6%96%E3%81%AE%E7%8E%8B%E9%81%93%E3%82%B9%E3%82%BF%E3%83%83%E3%82%AF-prometheus--loki--grafana--alloy-%E3%81%A7%E5%A7%8B%E3%82%81%E3%82%8B%E3%82%AA%E3%83%96%E3%82%B6%E3%83%BC%E3%83%90%E3%83%93%E3%83%AA%E3%83%86%E3%82%A3%E5%9F%BA%E7%9B%A4/</guid><description>&lt;p&gt;サーバー監視は「死活監視 + リソース監視」の時代から、&lt;strong&gt;「メトリクス + ログ + トレース」を 1 つの画面で相関分析する&lt;/strong&gt;オブザーバビリティの時代に移りました。クラウドネイティブ環境では、&lt;strong&gt;Grafana Labs の OSS スタック&lt;/strong&gt;（Prometheus + Loki + Grafana + Alloy）が、コスト・自由度・運用ノウハウの蓄積において事実上の王道になっています。&lt;/p&gt;
&lt;p&gt;この記事では、なぜこの組み合わせが現代の標準なのか、各コンポーネントがどう役割分担しているのか、そして最小構成から本番運用までの全体像を整理します。&lt;/p&gt;
&lt;p&gt;&lt;img alt="Prometheus・Loki・Tempo を Grafana Alloy が一括収集し、Grafana で可視化するサーバー監視スタックの全体構成図。各サーバー / コンテナで Alloy がメトリクス・ログ・トレースを収集し、Prometheus / Loki / Tempo に振り分け、Grafana が PromQL と LogQL でクエリしてダッシュボード化、Slack/メールにアラート通知する流れを示している" loading="lazy" src="https://hdknr.github.io/blogs/images/loki-grafana-alloy-stack.png"&gt;&lt;/p&gt;
&lt;h2 id="なぜこの構成が王道なのか"&gt;なぜこの構成が「王道」なのか&lt;/h2&gt;
&lt;p&gt;サーバー監視の選択肢は大きく分けて 3 系統あります。&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;カテゴリ&lt;/th&gt;
&lt;th&gt;代表例&lt;/th&gt;
&lt;th&gt;特徴&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;OSS スタック（Grafana Labs）&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Prometheus + Loki + Grafana + Alloy&lt;/td&gt;
&lt;td&gt;無料、自由度高、運用責任は自分で&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;OSS スタック（Elastic）&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Elasticsearch + Logstash + Kibana + Beats&lt;/td&gt;
&lt;td&gt;全文検索が強力、コストとリソース消費が大&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;SaaS&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Datadog、New Relic、Grafana Cloud&lt;/td&gt;
&lt;td&gt;楽だが高価、データ主権がない&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;このうち &lt;strong&gt;Prometheus + Loki + Grafana + Alloy&lt;/strong&gt; が王道とされる理由:&lt;/p&gt;</description></item></channel></rss>