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
15k
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
19
freee_の成長を支える_AWS
asaba
0
41
freee-engineering-jm.pdf
asaba
0
5.6k
2018早稲田大学アルゴリズムとデータ構造特別講義 / 2018-Algorithm-And-Data-Structure-Course-At-Waseda
asaba
0
6.3k
デバッガでRedisのコードを読んでみよう
asaba
1
14k
早稲田大学アルゴリズムとデータ構造特別講義
asaba
2
12k
PostgreSQL運用管理入門
asaba
0
210
位置情報を使ったサービス「スマポ」をPostgreSQLで作ってみた db tech showcase 2013 Tokyo
asaba
1
110
Other Decks in Technology
See All in Technology
Moved to https://speakerdeck.com/toshihue/presales-engineer-career-bridging-tech-biz-ja
toshihue
2
730
10分で紹介するAmazon Bedrock利用時のセキュリティ対策 / 10-minutes introduction to security measures when using Amazon Bedrock
hideakiaoyagi
0
180
レビューを増やしつつ 高評価維持するテクニック
tsuzuki817
1
670
技術的負債解消の取り組みと専門チームのお話 #技術的負債_Findy
bengo4com
1
1.3k
地方拠点で エンジニアリングマネージャーってできるの? 〜地方という制約を楽しむオーナーシップとコミュニティ作り〜
1coin
1
220
Swiftの “private” を テストする / Testing Swift "private"
yutailang0119
0
130
データの品質が低いと何が困るのか
kzykmyzw
6
1.1k
『衛星データ利用の方々にとって近いようで触れる機会のなさそうな小話 ~ 衛星搭載ソフトウェアと衛星運用ソフトウェア (実物) を動かしながらわいわいする編 ~』 @日本衛星データコミニティ勉強会
meltingrabbit
0
140
データ資産をシームレスに伝達するためのイベント駆動型アーキテクチャ
kakehashi
PRO
2
510
Datadog APM におけるトレース収集の流れ及び Retention Filters のはなし / datadog-apm-trace-retention-filters
k6s4i53rx
0
330
30分でわかる『アジャイルデータモデリング』
hanon52_
9
2.6k
関東Kaggler会LT: 人狼コンペとLLM量子化について
nejumi
3
570
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
67
11k
Bash Introduction
62gerente
611
210k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Git: the NoSQL Database
bkeepers
PRO
427
64k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
10
1.3k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.4k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
12
960
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
It's Worth the Effort
3n
184
28k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
630
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Typedesign – Prime Four
hannesfritz
40
2.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
スモールビジネスに携わるすべての人が 創造的な活動にフォーカスできるよう