Slide 1

Slide 1 text

Zabbix から Mackerel へ Mackerel で実現したコストダウン Mackerel Meetup #8 Tokyo

Slide 2

Slide 2 text

本日のハッシュタグ #mackerelio

Slide 3

Slide 3 text

今日お話しすること ● Zabbix から Mackerel へ移行した経緯 ● Mackerel の導入で得られたメリット 最後の 5 分で質疑応答を受け付けます。

Slide 4

Slide 4 text

スモールビジネスに携わる方が より創造的な活動にフォーカスできるよう

Slide 5

Slide 5 text

freee のご紹介 スモールビジネスの バックオフィス業務を “圧倒的に効率化” するサービスを提供。

Slide 6

Slide 6 text

freee が提供するサービス ● 会計 freee ● 給与計算 freee ● 会社設立 freee ● マイナンバー管理 freee ● 開業 freee 10/10 release!

Slide 7

Slide 7 text

自己紹介 Twitter / GitHub @manabusakai

Slide 8

Slide 8 text

自己紹介 ● 2016 年 5 月 freee に入社 ● 開発者よりのインフラエンジニア ○ Scala, Ruby での開発や AWS が得意分野

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

会場の皆さまに質問です

Slide 12

Slide 12 text

会場アンケート 当てはまる方は挙手をお願いします。 ● インフラエンジニアの方 ● 監視ツールに Zabbix を使っている方 ● Zabbix に不満を持っている方 ● 監視ツールにワクワクしている方

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

移行スケジュール ● 7 月上旬:検証開始 ● 7 月下旬:本契約 ● 10 月:移行完了 2 〜 3 か月あれば充分移行できます

Slide 15

Slide 15 text

なぜ Zabbix から 移行したのか?

Slide 16

Slide 16 text

Zabbix で起きていた 3 つの問題点 1. Zabbix 自体の運用コストが高い 2. クラウドの監視に向いていない 3. 開発者が活用できていない

Slide 17

Slide 17 text

① Zabbix 自体の運用コストが高い Zabbix を安定運用させるには手間がかかる。 ● MySQL チューニング ● IOPS チューニング (RAID, LVM, etc) ● Housekeeper の負荷との戦い ● 監視項目の追加が面倒くさい ● Zabbix サーバのバージョンアップ Zabbix おじさん…

Slide 18

Slide 18 text

② クラウドの監視に向いていない ● Auto Scaling を導入したことで、個々ではなく全体の傾向を見 る必要が出てきた ○ Zabbix で全体の傾向を見るのは工夫が必要 ● VPC 毎に Zabbix サーバを立てる必要がある

Slide 19

Slide 19 text

③ 開発者が活用できていない ● UI が使いにくいため、一部の開発者にしか利用されていな かった ● 監視ツールはインフラチームだけが見ればいいもの?

Slide 20

Slide 20 text

【参考】他の監視ツールも検討 コスト 移行 運用 使いやすさ Zabbix 3.0 ◯ ◎ △ × Sensu ◯ × △ △ Prometheus ◯ × × △ Mackerel △ ◎ ◎ ◎

Slide 21

Slide 21 text

Mackerel に移行して どうだったか?

Slide 22

Slide 22 text

① 全体の傾向を把握できるように ● Mackerel のロール機能を活用 ○ 役割単位で全体の傾向が把握できるようになった 台数が増減しても 全体の傾向がわかる

Slide 23

Slide 23 text

【実例】メモリリークを早期に検知 とあるロールでメモリリークが発生。全体の傾向が見ただけでパッ と掴めた。 デプロイ直後から 傾向が急変してる

Slide 24

Slide 24 text

【ワンポイント】 EC2 タグを活用 AWS CLI を使って EC2 タグを取得し、サービスとロールを mackerel-agent の起動オプションに追加。 mackerel-agent -role=: EC2 タグから取得。 起動すれば自動的に ロールに追加される!

Slide 25

Slide 25 text

② AWS のコストダウンを実現 ● ロールごとに適正な台数が把握できた ● Auto Scaling で台数を調整しコストダウンを実現 ○ 約 5 〜 10% 削減 ● Mackerel のコストは充分ペイした

Slide 26

Slide 26 text

【ワンポイント】 Slack 通知を活用 working になっていないホストや AWS のコストを Slack に通知 し、手間なく情報を得られるようにした。

Slide 27

Slide 27 text

③ 進化し続ける監視ツール ● Mackerel は毎週アップデートされる監視ツール ● Webhook や REST API、mkr コマンドなど 一般的な Web 技術を使って簡単にハックできる

Slide 28

Slide 28 text

ウソじゃない!

Slide 29

Slide 29 text

まとめ Mackerel を導入したことで、 ● 監視ツールを運用するという人的コストがゼロに ● 適切なサーバ台数を知ることで無駄を省きコストダウンにつな がった ※ 導入してからまだ日が浅いので、開発者が活用するようになったかは次の機会にご紹介します。

Slide 30

Slide 30 text

うまい話ばかりだと 胡散くさいので…

Slide 31

Slide 31 text

改善してもらいたい点 1. グラフの描画が重い ○ 動的に読み込むのでどうしても時間がかかる 2. AWS インテグレーションの充実 ○ 対応しているのは EC2, ELB, RDS, ElastiCache ○ Redshift や SQS もお願いします!

Slide 32

Slide 32 text

エンジニア募集中! 「freee 採用」で検索!

Slide 33

Slide 33 text

スモールビジネスに携わる方が より創造的な活動にフォーカスできるよう