Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
MackerelとGrafana OnCallを連携してみた
Search
FUJIWARA Shunichiro
July 11, 2023
Technology
0
1.6k
MackerelとGrafana OnCallを連携してみた
2023.07.11 Mackerel Meetup #14 Tokyo
https://mackerelio.connpass.com/event/286608/
FUJIWARA Shunichiro
July 11, 2023
Tweet
Share
More Decks by FUJIWARA Shunichiro
See All by FUJIWARA Shunichiro
コードを書く隙間を見つけて生きていく技術/Findy 思考の現在地
fujiwara3
28
6.3k
fujiwara-ware OSSをひたすら紹介する/ya8-2024
fujiwara3
7
480
Amazon ECSで好きなだけ検証環境を起動できるOSSの設計・実装・運用 / YAPC::Hiroshima 2024
fujiwara3
22
7.1k
リアル事例から読み解くWebパフォーマンスチューニングの勘所/Offers web performance tuning
fujiwara3
4
1.5k
隙間家具OSS開発で『自分の庭』をつくる / kayac-andpad-event
fujiwara3
0
710
ISUCON作問入門/ ISUCON Summer Fes 2023
fujiwara3
2
1.6k
隙間家具職人が考えること/ecspresso meetup
fujiwara3
4
4.3k
Amazon ECS デプロイツール ecspresso 開発5年の歩み
fujiwara3
15
4.2k
k6による負荷試験 入門から実践まで
fujiwara3
9
5.8k
Other Decks in Technology
See All in Technology
#phpconkagawa レガシーコードにもオブザーバビリティを 〜少しずつ始めるサービス監視〜
yamato_sorariku
0
510
Cloudflare WorkersがPythonに対応したので試してみた
miura55
0
180
TypescriptでのContextualな構造化ロギングと社内全体への導入
leveragestech
3
430
CockroachDB はどのくらい「しぶとい」のか? / How tough is CockroachDB?
kota2and3kan
13
4.8k
【リラン】AIの光と闇?失敗しないために知っておきたいAIリスクとその対応 ①政府の動き編
tkhresk
0
130
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
2
1.7k
iThome2024 Wailing Wall of Enterprise Security
notsurprised
0
260
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
0
2k
Shinagile 2024
kawaguti
PRO
1
110
データ基盤を支える技術
chanyou0311
5
2.9k
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
5
38k
サービス開発におけるVue3とTypeScriptの親和性について
tsukuha
10
1.7k
Featured
See All Featured
Building Your Own Lightsaber
phodgson
100
5.7k
WebSockets: Embracing the real-time Web
robhawkes
59
7k
Six Lessons from altMBA
skipperchong
22
3k
Rebuilding a faster, lazier Slack
samanthasiow
74
8.3k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
Git: the NoSQL Database
bkeepers
PRO
423
63k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
81
44k
Web Components: a chance to create the future
zenorocha
306
41k
A better future with KSS
kneath
231
16k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
34
6.1k
YesSQL, Process and Tooling at Scale
rocio
165
13k
Agile that works and the tools we love
rasmusluckow
325
20k
Transcript
MackerelとGrafana OnCallを連携してみた 2023.07.11 Mackerel Meetup #14 Tokyo @fujiwara 藤原俊一郎
@fujiwara 面白法人カヤック SREチーム Mackerelアンバサダー ISUCON 1,2,5,11 優勝4回 ISUCON 3,8,12,13 運営(出題)4回
github.com/kayac/ecspresso Amazon ECS デプロイツール github.com/fujiwara/lambroll AWS Lambda デプロイツール
これまで - オンコール通知ツール github.com/ryotarai/waker
waker ryotaraiさんがクックパッド社在籍中に開発したオンコール通知ツール アラートの送信元としてMackerelもネイティブサポートしている WebHookの送信先URLを設定するだけで使える Rails実装 (MySQL, Redisを利用) オンコールを電話で通知するためにTwilioを利用
wakerのメンテナンス状況 クックパッド(の中の人) → GMOペパボ(の中の人)
!!? https://tech.pepabo.com/2022/06/23/oncall-improve/ ペパボでは、オンコール通知にインシデント管理サービスであるPagerDutyを利用して います。 使い続けるためには、自分らでメンテするしかなさそう Railsのバージョンアップとか(このためにやるのは)つらい 乗り換え対象を探したほうがよさそう
Grafana OnCall Grafana Labs社が提供するオンコール管理ツール(OSS) Grafana Cloudでクラウドサービスとして / セルフホスティングも可能 Mackerelとの連携はネイティブでサポートされていない WebHookの仕組みはある
比較的安価に使えそう(Cloud Pro $29(5 users)+$8/user/month) 2023/3当時の価格(これは最後に…)
Mackerelとの連携はネイティブでサポートされていない なければ作ればいいじゃない
MackerelのWebHookを { "orgName": "myorg", "event": "alert", "imageURL": "https://mackerel.io/embed/public/alert/xxxxx.png", "alert": {
"monitorName": " 監視XXX", "url": "https://mackerel.io/orgs/myorg/alerts/yyyy", "isOpen": true, "id": "1234", "status": "critical" } } ↓ Grafana OnCallのWebHookに変換 ↓ { "alert_uid": "1234", "title": "[myorg] 監視XXX is critical", "image_url": "https://mackerel.io/embed/public/alert/xxxxx.png", "link_to_upstream_details": "https://mackerel.io/orgs/myorg/alerts/yyyy", "state": "alerting" }
github.com/fujiwara/mackerel-to-grafana-oncall できました MackerelのWebHookを受け取ってGrafana OnCallのWebHookに変換する Go実装 GRAFANA_ONCALL_URL 環境変数でGrafana OnCallのWebHook URLを指定 AWS
Lambdaで動く FunctionURL, API Gateway, ALBから呼び出せる MackerelのWebHook送信先を↑のURLに設定するだけで使える OSS
動作イメージ
作ってから Grafana OnCallはOSSなので、MackerelのWebHookを受け付けられるように コントリビューションすればいいのでは? もちろん、MackerelからGrafana OnCallに直接送信できると嬉しいです Cloudflare Workersでもできそう 作りました github.com/fujiwara/mkr2oncall-cloudflare-workers
JavaScript実装 フレームワークには Hono を使用(使ってみたかった)
2023年3月に導入を終えた後日談 「比較的安価に使える(Cloud Pro $29(5 users)+$8/user/month)」 2023年4月某日 Grafana OnCallとGrafana Incidentが統合されたインシデント対応管理ソリューション Grafana
IRM発表 (+$20/user/month) Cloud Proプランは2023年7月17日にLite版のGrafana IRMにダウングレード Lite版の制限 1か月あたり5つのインシデント対応(Grafana Incident) OnCallインテグレーションごとに100のアラートグループ オンコールが100回(プロジェクト単位)発生するころに考えよう…