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
18k
3
Share
freee-mackerel
Yoshiyuki Asaba
October 05, 2017
More Decks by Yoshiyuki Asaba
See All by Yoshiyuki Asaba
How freee has leveraged AWS for Growth
asaba
0
86
freee_の成長を支える_AWS
asaba
0
100
freee-engineering-jm.pdf
asaba
0
7.5k
2018早稲田大学アルゴリズムとデータ構造特別講義 / 2018-Algorithm-And-Data-Structure-Course-At-Waseda
asaba
0
6.8k
デバッガでRedisのコードを読んでみよう
asaba
1
16k
早稲田大学アルゴリズムとデータ構造特別講義
asaba
2
14k
PostgreSQL運用管理入門
asaba
0
240
位置情報を使ったサービス「スマポ」をPostgreSQLで作ってみた db tech showcase 2013 Tokyo
asaba
1
150
Other Decks in Technology
See All in Technology
来期の評価で変えようと思っていること 〜AI時代に変わること・変わらないこと〜
estie
0
130
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
5
1.3k
【AWS】CloudTrail LakeとCloudWatch Logs Insightsの使い分け方針
tsurunosd
0
130
BFCacheを活用して無限スクロールのUX を改善した話
apple_yagi
0
140
Amazon Qはアマコネで頑張っています〜 Amazon Q in Connectについて〜
yama3133
1
170
The essence of decision-making lies in primary data
kaminashi
0
220
開発チームとQAエンジニアの新しい協業モデル -年末調整開発チームで実践する【QAリード施策】-
qa
0
660
Embeddings : Symfony AI en pratique
lyrixx
0
440
昔話で振り返るAWSの歩み ~S3誕生から20年、クラウドはどう進化したのか~
nrinetcom
PRO
0
130
自分をひらくと次のチャレンジの敷居が下がる
sudoakiy
5
1.6k
OpenClawでPM業務を自動化
knishioka
2
360
スクラムを支える内部品質の話
iij_pr
0
160
Featured
See All Featured
Navigating Weather and Climate Data
rabernat
0
150
RailsConf 2023
tenderlove
30
1.4k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.4k
Statistics for Hackers
jakevdp
799
230k
Deep Space Network (abreviated)
tonyrice
0
99
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
120
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
73k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
Ruling the World: When Life Gets Gamed
codingconduct
0
190
The Art of Programming - Codeland 2020
erikaheidi
57
14k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
500
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
スモールビジネスに携わるすべての人が 創造的な活動にフォーカスできるよう