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
freee-mackerel
Search
Yoshiyuki Asaba
October 05, 2017
Technology
3
16k
freee-mackerel
Yoshiyuki Asaba
October 05, 2017
Tweet
Share
More Decks by Yoshiyuki Asaba
See All by Yoshiyuki Asaba
How freee has leveraged AWS for Growth
asaba
0
47
freee_の成長を支える_AWS
asaba
0
73
freee-engineering-jm.pdf
asaba
0
5.8k
2018早稲田大学アルゴリズムとデータ構造特別講義 / 2018-Algorithm-And-Data-Structure-Course-At-Waseda
asaba
0
6.4k
デバッガでRedisのコードを読んでみよう
asaba
1
15k
早稲田大学アルゴリズムとデータ構造特別講義
asaba
2
12k
PostgreSQL運用管理入門
asaba
0
230
位置情報を使ったサービス「スマポ」をPostgreSQLで作ってみた db tech showcase 2013 Tokyo
asaba
1
130
Other Decks in Technology
See All in Technology
Goでマークダウンの独自記法を実装する
lag129
0
200
[CVPR2025論文読み会] Linguistics-aware Masked Image Modelingfor Self-supervised Scene Text Recognition
s_aiueo32
0
210
人を動かすことについて考える
ichimichi
2
300
広島銀行におけるAWS活用の取り組みについて
masakimori
0
110
AIが住民向けコンシェルジュに?Amazon Connectと生成AIで実現する自治体AIエージェント!
yuyeah
0
250
Devinを使ったモバイルアプリ開発 / Mobile app development with Devin
yanzm
0
140
我々は雰囲気で仕事をしている / How can we do vibe coding as well
naospon
2
200
20250818_KGX・One Hokkaidoコラボイベント
tohgeyukihiro
0
130
あなたの知らない OneDrive
murachiakira
0
230
Android Studio の 新しいAI機能を試してみよう / Try out the new AI features in Android Studio
yanzm
0
230
GitHub Copilot coding agent を推したい / AIDD Nagoya #1
tnir
2
3.6k
AI時代の大規模データ活用とセキュリティ戦略
ken5scal
1
280
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Art, The Web, and Tiny UX
lynnandtonic
302
21k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
183
54k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Unsuck your backbone
ammeep
671
58k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.4k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
283
13k
Mobile First: as difficult as doing things right
swwweet
223
9.9k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.5k
Transcript
freeeでのMackerelの使い方
自己紹介 2 浅羽義之 Yoshiyuki Asaba 2015/5 ~ freee プロダクト基盤(SREなど)本部長とエンジニア新卒 採用責任者をやってます
• RDBMSと自動化が大好き
ビジネスのはじまりから成長をすべてサポートする freee 3 簡単:知識がなくても1クリックで給 与計算 勤怠:勤怠管理も簡単に オンライン:給与明細はオンラインで 配布 会計連動:会計ソフトと完全データ 連携
政府連携:行政手続きもオンライン で完結 マイナンバー:マイナンバー管理も 完全対応 5分:会社設立用の書類を最短5 分で作成 モバイル:スマホ完全対応で、どこ でも会社設立 ワンストップ:実印発注や銀行口 座作成もできる 自動:銀行やカードの口座と連携し、人工 知能で会計帳簿を作成 簡単:簿記の用語を使わない画面設計で 簡単に使える 最適化:請求書発行や経費精算などの業 務も最適化 実績:クラウド会計ソフトシェア No.1 で安 心の実績 サポート:チャットによる迅速なサポートを 提供 決算:決算や個人事業主の申告まで自動 で簡単に ✩ はじめる ↻ 運営する ↗ 育てる 会社設立 freee (2015年6月リリース) クラウド会計ソフト freee (2013年3月リリース) クラウド給与計算ソフト freee (2014年5月リリース) シェアNo.1 シェアNo.1 開業 freee (2016年10月リリース)
4 リリース5年で日本でトップシェアに成長 有効事業所数は 80万事業所 を突破 会計・給与共にトップシェア クラウド会計ソフト市場 マーケットシェア * (法人・個人)
クラウド給与ソフト市場 マーケットシェア* * デジタルインファクト調べ *MM総研調べ
5 Mackerel導入前の話
6 https://speakerdeck.com/manabusakai/zabbix-to-mackerel
7 導入前当時を振り返る • Zabbixを当時使っていた ◦ VPCごとにzabbix serverを運用 ◦ 機能が豊富なので作り込めば色々なことができる ▪
しかし作り込みや運用に時間を取れない状況 • いくつかのプロダクトを評価 ◦ 移行のしやすさ ◦ プロダクトの進化スピード ◦ 使いやすさ(UI, API, CLI) ◦ コスト ▪ AutoScalingとの親和性
ワクワク監視したいので 8
現状のfreeeでの監視構成 9 • Mackerel ◦ リソースの監視、外形監視など ◦ アラート通知 • NewRelic
◦ アプリケーション内部 • CloudWatch ◦ autoscalingのトリガーとして使用 ◦ MakerelのAWS integrationを使ってMackerelに集約 • Bugsnag ◦ アプリのエラーログ • Deep Security as a Service for AWS ◦ セキュリティ監視
10 Mackerel活用例
Service, Role, Hostの考え方 11 Mackerel • Service ◦ サービス名_Stage名 •
Role ◦ web, worker, batch等の サービス内のサーバの役割 • Host ◦ そのまま AWS EC2のタグ • Project ◦ サービス名 • Role ◦ web, worker, batch等の サービス内のサーバの役割 • Stage ◦ production, staging,... • hostname(tagではない) ◦ 起動時に勝手につく名前 プロビジョニングやデプロイはEC2タグで処理を分けているので、 タグの情報をそのままMackerelへ移植
サービス開発エンジニアとのコミュニケーション 12 通常時 • ダッシュボードかサービス一覧のグラフを眺める ◦ 定期的にパフォーマンス振り返り会を実施 ◦ ぽちぽち作るのは面倒なのでmkrコマンドで作る ◦
さらに深掘りしたい場合はNewRelicで確認する 何かあったときやグラフをシェアしたいとき • 「チャンネルにグラフを投稿」が超絶便利
デプロイの記録 13 mkr annotations create --title "Deploy application" --from ${timestamp}
--to ${timestamp} --service hoge or json_data=$(cat <<EOF { "title": "Deploy application", "from": ${timestamp}, "to": ${timestamp}, "service": "hoge" } EOF ) curl -sS https://mackerel.io/api/v0/graph-annotations -X POST \ -H "X-Api-Key: ${api_key}" -H "Content-Type: application/json" -d "${json_data}" いつデプロイしたかわかるように記録
サービスメトリックの使い所 14 • サービスに紐づくメトリック ◦ レスポンスタイム(ALBのCloudWatchから取れるといえば 取れる) ◦ 非同期ワーカーの未処理のキュー ◦
サーバー台数 • サービスメトリックの放り込み方 ◦ /api/v0/services/<serviceName>/tsdb にPOSTするだけ ◦ Lambda経由で放り込む
アラート通知 15 • 基本的にはslackに通知 ◦ WarningはSREが見る ◦ Criticalは広めに通知 • 夜中のアラート
◦ PagerDutyなどは使わずに雑にbotが電話をかけていく ◦ slackに誰かが反応したら電話を切る エンジニア webhook
使っているMackerel Plugin 16 • mackerel-plugin-linux • mackerel-plugin-mailq • mackerel-plugin-multicore •
mackerel-plugin-mysql • mackerel-plugin-nginx • あとはAWS integrationで より細かい情報を見たいときは NewRelicで深掘りしてます
Mackerelの設定 17 • Host Statusの初期状態はstandby ◦ AutoScalingのUserDataが動いている間はアラート出したく ない ◦ UserDataの中でmkrを叩いてworkingに戻す
▪ 構築がコケた場合も • 実験的機能 ◦ とりあえずonにしておく
18 Mackerelに欲しい機能
あると嬉しいなあ 19 • 毎月の支払(レシート)をPDFで欲しい ◦ 経理に提出する書類を作るのがちょっと面倒。。。 • AWSインテグレーションも自動退役機能が欲しい ◦ EC2でないリソースを主にstaging環境で作ったり消したりす
るので、消すスクリプトを作った ◦ タグ・除外タグをサービスごとに設定できると嬉しい
20 まとめ
21 まとめ • 全く問題なく運用できてます ◦ 開発者、CRE、その他関係者に支えられております • 懇親会で詳細を聞きたいことがありましたら声をかけてくださ い!
Mackerel使ってサービス開発・運用したいひと募集中!! 22
スモールビジネスに携わるすべての人が 創造的な活動にフォーカスできるよう