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
42
freee_の成長を支える_AWS
asaba
0
68
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
220
位置情報を使ったサービス「スマポ」をPostgreSQLで作ってみた db tech showcase 2013 Tokyo
asaba
1
120
Other Decks in Technology
See All in Technology
Fabric + Databricks 2025.6 の最新情報ピックアップ
ryomaru0825
1
150
生まれ変わった AWS Security Hub (Preview) を紹介 #reInforce_osaka / reInforce New Security Hub
masahirokawahara
0
260
Amazon S3標準/ S3 Tables/S3 Express One Zoneを使ったログ分析
shigeruoda
4
570
Liquid Glass革新とSwiftUI/UIKit進化
fumiyasac0921
0
240
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
3
910
「Chatwork」の認証基盤の移行とログ活用によるプロダクト改善
kubell_hr
1
200
Prox Industries株式会社 会社紹介資料
proxindustries
0
330
25分で解説する「最小権限の原則」を実現するための AWS「ポリシー」大全 / 20250625-aws-summit-aws-policy
opelab
9
1.2k
作曲家がボカロを使うようにPdMはAIを使え
itotaxi
0
150
"サービスチーム" での技術選定 / Making Technology Decisions for the Service Team
kaminashi
1
180
第9回情シス転職ミートアップ_テックタッチ株式会社
forester3003
0
260
AIとともに進化するエンジニアリング / Engineering-Evolving-with-AI_final.pdf
lycorptech_jp
PRO
0
110
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
The World Runs on Bad Software
bkeepers
PRO
69
11k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
KATA
mclloyd
30
14k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
For a Future-Friendly Web
brad_frost
179
9.8k
Stop Working from a Prison Cell
hatefulcrawdad
270
20k
Automating Front-end Workflow
addyosmani
1370
200k
Gamification - CAS2011
davidbonilla
81
5.3k
Done Done
chrislema
184
16k
Music & Morning Musume
bryan
46
6.6k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
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
スモールビジネスに携わるすべての人が 創造的な活動にフォーカスできるよう