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
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
alecthomas/kong はいいぞ / kamakura.go#7
fujiwara3
1
300
ISUCONに強くなるかもしれない日々の過ごしかた/Findy ISUCON 2024-11-14
fujiwara3
9
1.1k
「最高のチューニング」をしないために / hack@delta 24.10
fujiwara3
21
4k
AWS Lambdaで実現するスケーラブルで低コストなWebサービス構築/YAPC::Hakodate2024
fujiwara3
10
4.6k
CEL(Common Expression Language)で書いた条件にマッチしたIAM Policyを見つける / iam-policy-finder
fujiwara3
2
1.5k
awslim - Goで実装された高速なAWS CLIの代替品を作った/layerx.go#1
fujiwara3
6
760
AWS CLIの起動が重くてつらいので aws-sdk-client-go を書いた / kamakura.go#6
fujiwara3
7
10k
コードを書く隙間を見つけて生きていく技術/Findy 思考の現在地
fujiwara3
31
7.1k
fujiwara-ware OSSをひたすら紹介する/ya8-2024
fujiwara3
8
810
Other Decks in Technology
See All in Technology
How to be an AWS Community Builder | 君もAWS Community Builderになろう!〜2024 冬 CB募集直前対策編?!〜
coosuke
PRO
2
2.8k
NW-JAWS #14 re:Invent 2024(予選落ち含)で 発表された推しアップデートについて
nagisa53
0
270
Wantedly での Datadog 活用事例
bgpat
1
580
多領域インシデントマネジメントへの挑戦:ハードウェアとソフトウェアの融合が生む課題/Challenge to multidisciplinary incident management: Issues created by the fusion of hardware and software
bitkey
PRO
2
110
レンジャーシステムズ | 会社紹介(採用ピッチ)
rssytems
0
250
APIとはなにか
mikanichinose
0
110
pg_bigmをRustで実装する(第50回PostgreSQLアンカンファレンス@オンライン 発表資料)
shinyakato_
0
110
KnowledgeBaseDocuments APIでベクトルインデックス管理を自動化する
iidaxs
1
270
どちらを使う?GitHub or Azure DevOps Ver. 24H2
kkamegawa
0
1k
ずっと昔に Star をつけたはずの思い出せない GitHub リポジトリを見つけたい!
rokuosan
0
150
Server-Side Engineer of LINE Sukimani
lycorp_recruit_jp
0
300
コンテナセキュリティのためのLandlock入門
nullpo_head
2
320
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
520
Documentation Writing (for coders)
carmenintech
66
4.5k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.6k
Rails Girls Zürich Keynote
gr2m
94
13k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
3
170
How to Ace a Technical Interview
jacobian
276
23k
Adopting Sorbet at Scale
ufuk
73
9.1k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.9k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
66k
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回(プロジェクト単位)発生するころに考えよう…