43
クックパッドを 支えるZabbix 2015/11/20

クックパッドを 支えるZabbix - assets.zabbix.com · Zabbix事情 •アイテム数20万弱 •2000監視項目以上/秒 •トリガー数約5万 •Zabbixサーバは1台だけ

  • Upload
    others

  • View
    24

  • Download
    0

Embed Size (px)

Citation preview

クックパッドを 支えるZabbix

2015/11/20

自己紹介

•加藤 優仁 •クックパッド株式会社 •Twitter:EugeneK •検索、バックアップ、監視等

クックパッドとは

日本最大のレシピサービス

クックパッドとは

•月間約6000万ユーザ •1000台以上のサーバを稼働

Zabbix事情

•アイテム数20万弱 •2000監視項目以上/秒 •トリガー数約5万 •Zabbixサーバは1台だけ

Zabbixサーバ

•クックパッド自体がAWS上 •ZabbixもAWSで運用 •m2.4xlargeインスタンス •MySQLサーバが同居

Zabbix環境

•バージョン2.4.7を使用 •proxy、senderも利用(後述) •随時チューニングを実施(後述)

導入経緯

•以前はNagios + Munin •2014年6月頃から置き換え

Zabbixにした理由

•サーバ台数増によってNagiosのポーリングが遅延した ‣ Zabbixのアクティブ監視で負荷を下げて解決

•サーバ台数増によってMuninのグラフ生成が遅い ‣ 都度描画するZabbixならグラフが遅れない

Zabbixにした理由

•死活監視と性能監視が別サービス ‣ Zabbixならどっちもできる

Zabbixにした理由

AWSのサービス監視•RDS、ELB等 •Cloud Watchのメトリクスを取得してzabbix-senderで送信するスクリプトを実行

•Agent等の監視を使わないホストとして設定

アーキテクチャ

チューニング(zabbix)•Pollers ‣ グラフを見て過不足ないように調節

•innodb_buffer_pool_size ‣ メモリの許す限り大きく割当

•innodb_flush_log_at_trx_commit ‣ 0に設定 (IO負荷を低減)

チューニング(MySQL)

増減するサーバ

•トラフィックに応じてサーバが自動で増減する(オートスケール)

•時間帯、季節によって大きく変動 •コストを抑えるために増減

トラフィック

監視の追従

•増減するサーバに応じて監視も自動で増減させている

監視アイテム数

自動登録(増台時)•自動登録の機能を使ってサーバ起動時に監視対象に入れる

•ディスカバリによる自動登録は使っていない

•プロビジョニングツールと連携して適切なテンプレートを適用

自動削除(縮退時)

定期的に実行されるスクリプトでAWSの情報とZabbixの情報を突合して停止したサーバをZabbix APIを使って削除

グラフ一覧•スクリーンをいちいち設定するのは面倒

•Muninに慣れていた •Muninっぽいビューがあれば… •独自に開発

Munin View

•Zabbix APIを使ってホストの一覧、グラフの一覧取得

•ホストグループ内のホストのグラフURLを生成して表示

zv

•似たようなOSSツール •弊社菅原が開発 https://github.com/winebarrel/zv

オペレーション効率化

•ckpd-zabbix-*コマンド •各サーバに組み込みのrubyスクリプト

•Zabbix APIを使って自動的に設定してくれる

ckpd-zabbix-maintenance

•メンテナンス設定を自動で行う •主に手動で作業するときにアラートを抑止するために使っている

ckpd-zabbix-maintenance

ckpd-zabbix-enable

•モニタリングを有効化する •停止していたサーバを起動後に自動実行させて使う

ckpd-zabbix-enable

ckpd-zabbix-disable

•モニタリングを無効化する •サーバを無期限停止するときに停止直前に使っている

ckpd-zabbix-disable

ckpd-zabbix-cli•APIの動作確認を行うときに使用

•リクエストのJSONを与えるとAPIコールをして結果を表示する

ckpd-zabbix-cli

ckpd-zabbix-*•各コマンドはcliへのエイリアス •コマンドごとに定形のAPIコールをしているだけ

•監視対象が自分自身の有効・無効を設定できるので自動化に役立つ

chatops

chatops

•アラートがチャット上に流れる •誰が対応中かなどの情報が自然と共有できる

chatops

•メンテナンス設定もチャットから行える

•誰が作業中かすぐにわかる •設定の仕方を覚えなくていい •裏でボットがAPIをコールしている

chatops

あわせてよみたい

クックパッドにおけるサーバ監視と運用の工夫 http://techlife.cookpad.com/entry/2015/04/28/100000

PR

クックパッドは積極採用中です! https://recruit.cookpad.com/

ご清聴ありがとうございました