Page 1
クックパッドを 支えるZabbix
2015/11/20
Page 2
自己紹介
•加藤 優仁 •クックパッド株式会社 •Twitter:EugeneK •検索、バックアップ、監視等
Page 3
クックパッドとは
日本最大のレシピサービス
Page 5
クックパッドとは
•月間約6000万ユーザ •1000台以上のサーバを稼働
Page 6
Zabbix事情
•アイテム数20万弱 •2000監視項目以上/秒 •トリガー数約5万 •Zabbixサーバは1台だけ
Page 7
Zabbixサーバ
•クックパッド自体がAWS上 •ZabbixもAWSで運用 •m2.4xlargeインスタンス •MySQLサーバが同居
Page 8
Zabbix環境
•バージョン2.4.7を使用 •proxy、senderも利用(後述) •随時チューニングを実施(後述)
Page 9
導入経緯
•以前はNagios + Munin •2014年6月頃から置き換え
Page 10
Zabbixにした理由
•サーバ台数増によってNagiosのポーリングが遅延した ‣ Zabbixのアクティブ監視で負荷を下げて解決
Page 11
•サーバ台数増によってMuninのグラフ生成が遅い ‣ 都度描画するZabbixならグラフが遅れない
Zabbixにした理由
Page 12
•死活監視と性能監視が別サービス ‣ Zabbixならどっちもできる
Zabbixにした理由
Page 13
AWSのサービス監視•RDS、ELB等 •Cloud Watchのメトリクスを取得してzabbix-senderで送信するスクリプトを実行
•Agent等の監視を使わないホストとして設定
Page 15
チューニング(zabbix)•Pollers ‣ グラフを見て過不足ないように調節
Page 16
•innodb_buffer_pool_size ‣ メモリの許す限り大きく割当
•innodb_flush_log_at_trx_commit ‣ 0に設定 (IO負荷を低減)
チューニング(MySQL)
Page 17
増減するサーバ
•トラフィックに応じてサーバが自動で増減する(オートスケール)
•時間帯、季節によって大きく変動 •コストを抑えるために増減
Page 19
監視の追従
•増減するサーバに応じて監視も自動で増減させている
Page 21
自動登録(増台時)•自動登録の機能を使ってサーバ起動時に監視対象に入れる
•ディスカバリによる自動登録は使っていない
•プロビジョニングツールと連携して適切なテンプレートを適用
Page 22
自動削除(縮退時)
定期的に実行されるスクリプトでAWSの情報とZabbixの情報を突合して停止したサーバをZabbix APIを使って削除
Page 23
グラフ一覧•スクリーンをいちいち設定するのは面倒
•Muninに慣れていた •Muninっぽいビューがあれば… •独自に開発
Page 25
Munin View
•Zabbix APIを使ってホストの一覧、グラフの一覧取得
•ホストグループ内のホストのグラフURLを生成して表示
Page 26
zv
•似たようなOSSツール •弊社菅原が開発 https://github.com/winebarrel/zv
Page 27
オペレーション効率化
•ckpd-zabbix-*コマンド •各サーバに組み込みのrubyスクリプト
•Zabbix APIを使って自動的に設定してくれる
Page 28
ckpd-zabbix-maintenance
•メンテナンス設定を自動で行う •主に手動で作業するときにアラートを抑止するために使っている
Page 29
ckpd-zabbix-maintenance
Page 30
ckpd-zabbix-enable
•モニタリングを有効化する •停止していたサーバを起動後に自動実行させて使う
Page 31
ckpd-zabbix-enable
Page 32
ckpd-zabbix-disable
•モニタリングを無効化する •サーバを無期限停止するときに停止直前に使っている
Page 33
ckpd-zabbix-disable
Page 34
ckpd-zabbix-cli•APIの動作確認を行うときに使用
•リクエストのJSONを与えるとAPIコールをして結果を表示する
Page 36
ckpd-zabbix-*•各コマンドはcliへのエイリアス •コマンドごとに定形のAPIコールをしているだけ
•監視対象が自分自身の有効・無効を設定できるので自動化に役立つ
Page 38
chatops
•アラートがチャット上に流れる •誰が対応中かなどの情報が自然と共有できる
Page 40
•メンテナンス設定もチャットから行える
•誰が作業中かすぐにわかる •設定の仕方を覚えなくていい •裏でボットがAPIをコールしている
chatops
Page 41
あわせてよみたい
クックパッドにおけるサーバ監視と運用の工夫 http://techlife.cookpad.com/entry/2015/04/28/100000
Page 42
PR
クックパッドは積極採用中です! https://recruit.cookpad.com/