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.1k
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
困難を「一般解」で解く
fujiwara3
9
3k
「隙間家具OSS」に至る道/Fujiwara Tech Conference 2025
fujiwara3
7
10k
alecthomas/kong はいいぞ / kamakura.go#7
fujiwara3
1
840
ISUCONに強くなるかもしれない日々の過ごしかた/Findy ISUCON 2024-11-14
fujiwara3
10
1.2k
「最高のチューニング」をしないために / hack@delta 24.10
fujiwara3
21
4.2k
AWS Lambdaで実現するスケーラブルで低コストなWebサービス構築/YAPC::Hakodate2024
fujiwara3
10
5.8k
CEL(Common Expression Language)で書いた条件にマッチしたIAM Policyを見つける / iam-policy-finder
fujiwara3
2
1.7k
awslim - Goで実装された高速なAWS CLIの代替品を作った/layerx.go#1
fujiwara3
6
820
AWS CLIの起動が重くてつらいので aws-sdk-client-go を書いた / kamakura.go#6
fujiwara3
7
11k
Other Decks in Technology
See All in Technology
アウトカムを最大化させるプロダクトエンジニアの動き
hacomono
PRO
0
180
DevinでAI AWSエンジニア製造計画 序章 〜CDKを添えて〜/devin-load-to-aws-engineer
tomoki10
0
270
Oracle Cloud Infrastructure IaaS 新機能アップデート 2024/12 - 2025/02
oracle4engineer
PRO
0
130
AIエージェント開発のノウハウと課題
pharma_x_tech
10
5.8k
株式会社Awarefy(アウェアファイ)会社説明資料 / Awarefy-Company-Deck
awarefy
3
12k
エンジニアの健康管理術 / Engineer Health Management Techniques
y_sone
8
6.8k
4th place solution Eedi - Mining Misconceptions in Mathematics
rist
0
160
DeepSeekとは?何がいいの? - Databricksと学ぶDeepSeek! 〜これからのLLMに備えよ!〜
taka_aki
2
210
Linuxのブートプロセス
sat
PRO
6
110
Amazon Athenaから利用時のGlueのIcebergテーブルのメンテナンスについて
nayuts
0
150
IAMのマニアックな話2025
nrinetcom
PRO
6
1.6k
OSSの実装を参考にBedrockエージェントを作る
moritalous
2
390
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
A designer walks into a library…
pauljervisheath
205
24k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
12k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Into the Great Unknown - MozCon
thekraken
35
1.7k
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回(プロジェクト単位)発生するころに考えよう…