38
Mackerel Zabbix TIS 戦略技術センター 池田 大輔(@ike_dai) 2014/12/15 4TIS Matsuri LT

TISMatsuriLT MackerelとZabbix

Embed Size (px)

Citation preview

Page 1: TISMatsuriLT MackerelとZabbix

Mackerel と Zabbix

TIS 戦略技術センター池田 大輔(@ike_dai)

2014/12/15 第4回TIS Matsuri LT

Page 2: TISMatsuriLT MackerelとZabbix

自己紹介

池田 大輔

TIS株式会社 戦略技術センター

@ike_dai https://www.facebook.com/ikedai Zabbix,AWS,fluentd,Chef,JobScheduler...

名前

所属

Twitter

Facebook

興味

AWS、VMware監視用プラグイン『HyClops for Zabbix』開発(http://tech-sketch.github.io/hyclops/jp/)

技術評論社HP : http://gihyo.jp/book/2014/978-4-7741-6288-1Amazon : http://www.amazon.co.jp/dp/4774162884

Zabbix-JobScheduler連携用プラグイン『HyClopsJM』開発(http://tech-sketch.github.io/hyclops_jm/jp/)

Page 3: TISMatsuriLT MackerelとZabbix

今日言いたいこと

監視システムもTPOをわきまえて

Time  監視をどれぐらいの頻度ですべきなのか?Place    どこから監視するのか?Occasion  どういった場合を監視したいのか?

Page 4: TISMatsuriLT MackerelとZabbix

Mackerel

Page 5: TISMatsuriLT MackerelとZabbix

Mackerel

監視のSaaS※https://mackerel.io/より引用

Page 6: TISMatsuriLT MackerelとZabbix

Zabbix

Page 7: TISMatsuriLT MackerelとZabbix

Zabbix

監視のソフトウェア

Page 8: TISMatsuriLT MackerelとZabbix

監視の仕組み

Page 9: TISMatsuriLT MackerelとZabbix

いずれもAgentベースの監視

Page 10: TISMatsuriLT MackerelとZabbix

Mackerel ZabbixGo言語で実装OSSとして公開https://github.com/mackerelio/mackerel-agent

対応しているOS Linux Windows MacOSX注意:For now, mackerel-agent is guaranteed to run only onCentOS 5/6 and Debian 6/7.

C言語で実装OSSとして公開svn://svn.zabbix.com

対応しているOS Linux Windows MacOSX HP-UX Solaris AIX FreeBSD OpenBSD

Page 11: TISMatsuriLT MackerelとZabbix

Mackerel

https://mackerel.iomackerel-agent

内部情報収集

Mackerel API(WebAPI)

・ホスト登録・メトリックの投稿などなど

構成情報は1時間に1回監視メトリクス情報は1分に1回

Page 12: TISMatsuriLT MackerelとZabbix

Zabbix

zabbix-agent

内部情報収集

Zabbix独自プロコトル

アクティブ型通信or

パッシブ型通信

zabbix-server

構成情報はローレベルディスカバリで自動検知各監視間隔はそれぞれ自由に指定可能

Page 13: TISMatsuriLT MackerelとZabbix

内部情報収集

例えば

LinuxサーバのCPU使用率なら

/proc/statの中身の情報を監視

MackerelもZabbixもよく似てる

Page 14: TISMatsuriLT MackerelとZabbix

Mackrel標準監視CPU、Memory、Disc I/O、NW I/O

Page 15: TISMatsuriLT MackerelとZabbix

Zabbix標準監視

CPU、Memory、Disc I/O、NW I/O、ログ、サービス、プロセス、ファイルなどなど

テンプレートとして定義可能

Page 16: TISMatsuriLT MackerelとZabbix

監視の仕組み

どっちもいい感じ

Page 17: TISMatsuriLT MackerelとZabbix

監視の管理体系

Page 18: TISMatsuriLT MackerelとZabbix

MackrelOrganization->Service->Role->Host

Organization

Service Service

Role Role Role Role

Page 19: TISMatsuriLT MackerelとZabbix

MackrelOrganization->Service->Role->Host

Roleの情報をまとめて一括で確認

ホストのRoleへの割り当てはダッシュボード上からも可能mackerel-agent.confに定義して自動割り振りも可能

Page 20: TISMatsuriLT MackerelとZabbix

ZabbixHostGroup->Host

HostGroup HostGroup

Zabbix Server

Page 21: TISMatsuriLT MackerelとZabbix

ZabbixHostGroup->Host

Screen機能で必要な情報を一覧表示

Page 22: TISMatsuriLT MackerelとZabbix

監視の管理体系

Zabbixはちょっと弱い

Page 23: TISMatsuriLT MackerelとZabbix

拡張性

Page 24: TISMatsuriLT MackerelとZabbix

MackrelPluginを使えばどんな監視も可能

mackerel-plugin-apache2mackerel-plugin-aws-ec2-cpucreditmackerel-plugin-aws-elbmackerel-plugin-aws-rdsmackerel-plugin-elasticsearchmackerel-plugin-haproxymackerel-plugin-jvmmackerel-plugin-linuxmackerel-plugin-memcachedmackerel-plugin-mongodbmackerel-plugin-muninmackerel-plugin-mysql

mackerel-plugin-nginxmackerel-plugin-php-apcmackerel-plugin-plackmackerel-plugin-postgresmackerel-plugin-redismackerel-plugin-snmpmackerel-plugin-squidmackerel-plugin-varnish

Page 25: TISMatsuriLT MackerelとZabbix

「キー\tバリュー\tタイムスタンプ」形式で

メトリクス値を出力するプログラムを組むだけ

Goならヘルパーライブラリがあり簡単に実装可

Mackrel

Page 26: TISMatsuriLT MackerelとZabbix

curlコマンドでメトリクスを追加

リクエスト

# curl -X POST -H "Content-Type: application/json"\ -H "X-Api-Key:APIキー"\ https://mackerel.io/api/v0/tsdb\ -d '[{"hostId":"2fP8G6bXrzJ","name":"api.test.sample","time":1418614973,"value":150}]'

レスポンス

{"success":true}

※ログ監視のような文字列の登録は無理っぽい

Mackrel

Page 27: TISMatsuriLT MackerelとZabbix

Zabbixいろんな方法で拡張可能

Zabbix Serverからスクリプト実行して監視

Zabbix Agentからスクリプト実行して監視

Zabbix Senderで外部からプッシュ型で監視

ローダブルモジュールで監視機能を追加

Page 28: TISMatsuriLT MackerelとZabbix

拡張性

Zabbixの方が幅広いけどちょっと複雑

Page 29: TISMatsuriLT MackerelとZabbix

外部連携

Page 30: TISMatsuriLT MackerelとZabbix

Mackrel

Email,Slack,HipChat,ChatWork等への通知、Webhookは標準で対応

Page 31: TISMatsuriLT MackerelとZabbix

Zabbix

障害発生時に実行させるスクリプトを組めばどんなとこでも連携OK

Page 32: TISMatsuriLT MackerelとZabbix

外部連携

Mackerelの方がお手軽

Page 33: TISMatsuriLT MackerelとZabbix

いろいろ並べて比較しましたがどっちがいい悪いではなく

TPOをわきまえて

Page 34: TISMatsuriLT MackerelとZabbix

MackerelもZabbixも監視のエンジンとして活用可能やりようによってはどんな風にもアレンジ可能

運用がよくなるか悪くなるかは

使い方次第!

Page 35: TISMatsuriLT MackerelとZabbix

告知!!!

Page 36: TISMatsuriLT MackerelとZabbix

Tech-Circleって知ってますか?

Page 37: TISMatsuriLT MackerelとZabbix

TechCircle@Nishi-Shinjuku http://techcircle.connpass.com/

Page 38: TISMatsuriLT MackerelとZabbix

TechCircle@Nishi-Shinjuku

一緒に技術的なこと勉強してみたい方運用スタッフにぜひご参加下さい!!!

興味ある人は池田まで

http://techcircle.connpass.com/