26
Zabbix 関関関関関関関関関関 Zabbix 関関関 5 LT @mikeda

Zabbix study5lt

Embed Size (px)

DESCRIPTION

Zabbix勉強会5のLT資料です

Citation preview

Page 1: Zabbix study5lt

Zabbix 関連で最近やったこと

Zabbix 勉強会 5 LT

@mikeda

Page 2: Zabbix study5lt

@sechiro さんの後ろはきついよ(;´Д ` ) ハァハァ

Page 3: Zabbix study5lt

自己紹介@mikeda

 →インフラエンジニアCROOZ 株式会社 → Zabbix は一部使用&検証中

Page 4: Zabbix study5lt

Zabbix 関連で最近やったこと

Page 5: Zabbix study5lt

その1バグ報告やってみた

Page 6: Zabbix study5lt

こんなの

Page 7: Zabbix study5lt

内容は• API経由でメディアタイプを変更したとき 変更した IDじゃなく真偽値が返ってくる

• ものすごくどうでもいいバグw

Page 8: Zabbix study5lt

しかしToms:更新したよ!

Alexey : 1.8 系もお願い!

Toms: 1.8系も更新したよ!

Pavels : ChangeLog の更新忘れてるよ!

Page 9: Zabbix study5lt

内容は• みんなかなり細かく見てるようですw

• Alexey と話したかったらバグ報告あげるといいよ!

 ※ Alexey は複数人いるっぽいので注意

Page 10: Zabbix study5lt

その2Fluentd 使ってみた

Page 11: Zabbix study5lt

前回話したサービスレベルのMetrics

• サーバ単位じゃなく、サービス単位なやつ

Page 12: Zabbix study5lt

実はけっこうめんどくさかった

zabbix

・各サーバで定期的に集計・結果を Zabbix に突っ込む

・ホストグループを定義・ Agrigate アイテム集約

集計 集計 集計

Aggrigate

HostGroup1 WEBサーバ

Zabbix サーバ

WEBサーバ

Zabbix サーバ

Page 13: Zabbix study5lt

Fluentd

• 構造化ロガー(すごい syslog )– ログを構造化– リアリタイムで転送 & 処理– Input 、 Output をプラグインでカスタマイズ

Page 14: Zabbix study5lt

Fluent dを使って再構築

fluentd fluentd fluentd

fluentd

zabbix

転送するだけ

集約して Zabbix に突っ込む

WEBサーバ

集約サーバ

表示するだけZabbix サーバ

Page 15: Zabbix study5lt

今回作ってみたMetrics

• レスポンスコードごとのアクセス数

Page 16: Zabbix study5lt

今回使ったプラグイン• Input

– tail :ログファイルを tail– forward :他の Fluentd から受け取る

• Output– forward :他の fluentd に転送– datacounter :カウント & 定期的に出力– zabbix ( by @fujiwara ):結果を Zabbix に

転送

Page 17: Zabbix study5lt

WEBサーバ側設定例<source> type tail format apache path /var/log/httpd/blog_access_log tag access.log.blog</source>

<match *.**> type forward …

<server> name aggrigate-server host 192.168.1.10 port 24224 weight 60 </server></match>

Input: ログを tail※構造化&バッファリング{"host":"127.0.0.1","user":"-","method":"GET","path":"/","code":"403","size":"5043","referer":"-","agent":"curl/7.15.5"}

Output:  Agrigate サーバに転送

Page 18: Zabbix study5lt

Agrigate サーバ設定例<source> type forward port 24224 bind 0.0.0.0</source>

<match access.log.*> type datacounter count_interval 300 count_key code tag access.count.code input_tag_remove_prefix access.log pattern1 2xx ^2\d\d$ pattern2 3xx ^3\d\d$ pattern3 4xx ^4\d\d$ pattern4 5xx ^5\d\d$</match>

<match access.count.code> type zabbix zabbix_server 192.168.1.100 port 10051 host webservice name_keys blog_2xx_count,blog_3xx_count,blog_4xx_count,blog_5xx_count</match>

Input: 他のサーバから受け取る

Output1: 定期的に条件付きカウント{"blog_unmatched_count":0,"blog_unmatched_rate":0.0,"blog_unmatched_percentage":0.0,"blog_2xx_count":130852,"blog_2xx_rate":436.17,"blog_2xx_percentage":86.49084539625883,...}

Output2:  Zabbix に送信

Page 19: Zabbix study5lt

Zabbix サーバの設定

• トラッパーアイテムを作るだけ

Page 20: Zabbix study5lt

もちろん 1台ずつも集計可!

fluentd fluentd fluentd

zabbix

集計してホスト単位でZabbix に突っ込む

Page 21: Zabbix study5lt

Fluentd & Zabbix

• ログの集計&メトリクス作成が簡単– 集計スクリプトをガツガツかかなくていい– 複数サーバの集約が簡単

• 実際は同時に mongodb に全データを突っ込んでいる– フローだけじゃなくストック。複雑な集計 &Metrics 化に– 事例としては Hadoop が多そう

• 柔軟な Input と Output– 例)アプリから直接 Input 、リアルタイムな売上グラフ

を作成、下がったら企画チームにアラート

Page 22: Zabbix study5lt

その3Android 版ざびたん作ってみ

Page 23: Zabbix study5lt

昨日リリースしました!

Page 24: Zabbix study5lt

demo

Page 25: Zabbix study5lt

ざびたんウィジェット

• 時代の斜め先を( ry

• Zabbix と連携してサーバを監視してくれる Android ウィジェット

• メールでいいよ!と思う人は @sechiro さんに説教されて下さい

• まだまだテスト版です

Page 26: Zabbix study5lt

終わりです