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
2.2k
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
k6による負荷試験 入門から日常的な実践まで/Re:TechTalk #01
fujiwara3
2
67
困難を「一般解」で解く
fujiwara3
10
3.6k
「隙間家具OSS」に至る道/Fujiwara Tech Conference 2025
fujiwara3
7
12k
alecthomas/kong はいいぞ / kamakura.go#7
fujiwara3
1
980
ISUCONに強くなるかもしれない日々の過ごしかた/Findy ISUCON 2024-11-14
fujiwara3
10
1.3k
「最高のチューニング」をしないために / hack@delta 24.10
fujiwara3
21
4.4k
AWS Lambdaで実現するスケーラブルで低コストなWebサービス構築/YAPC::Hakodate2024
fujiwara3
10
6.3k
CEL(Common Expression Language)で書いた条件にマッチしたIAM Policyを見つける / iam-policy-finder
fujiwara3
2
1.9k
awslim - Goで実装された高速なAWS CLIの代替品を作った/layerx.go#1
fujiwara3
6
870
Other Decks in Technology
See All in Technology
Workflows から Agents へ ~ 生成 AI アプリの成長過程とアプローチ~
belongadmin
3
150
ユーザーのプロフィールデータを活用した推薦精度向上の取り組み
yudai00
0
290
kotlin-lsp を Emacs で使えるようにしてみた / use kotlin-lsp in Emacs
nabeo
0
150
Introduction to Sansan Meishi Maker Development Engineer
sansan33
PRO
0
280
Autonomous Database サービス・アップデート (FY25)
oracle4engineer
PRO
2
760
工具人的一生: 開發很多 AI 工具讓我 慵懶過一生
line_developers_tw
PRO
0
140
CIでのgolangci-lintの実行を約90%削減した話
kazukihayase
0
190
今からでも間に合う! 生成AI「RAG」再入門 / Re-introduction to RAG in Generative AI
hideakiaoyagi
1
160
RubyOnRailsOnDevin+α / DevinMeetupJapan#2
ginkouno
0
340
Digitization部 紹介資料
sansan33
PRO
1
4.2k
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.2k
JSX - 歴史を振り返り、⾯⽩がって、エモくなろう
pal4de
2
100
Featured
See All Featured
KATA
mclloyd
29
14k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
Building Adaptive Systems
keathley
43
2.6k
A Tale of Four Properties
chriscoyier
159
23k
Stop Working from a Prison Cell
hatefulcrawdad
269
20k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
14
1.5k
Visualization
eitanlees
146
16k
Making Projects Easy
brettharned
116
6.2k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Speed Design
sergeychernyshev
30
990
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回(プロジェクト単位)発生するころに考えよう…