43
2.0~2.2~2.4~3.0 Zabbixの進化を紐解く -Zabbix便利機能紹介- TIS株式会社 池田 大輔 2015/5/23 オープンソースカンファレンス2015 Nagoya

2.0~2.2~2.4~3.0 zabbixの進化を紐解く zabbix便利機能紹介-

Embed Size (px)

Citation preview

Page 1: 2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-

2.0~2.2~2.4~3.0

Zabbixの進化を紐解く

-Zabbix便利機能紹介-

TIS株式会社池田 大輔

2015/5/23 オープンソースカンファレンス2015 Nagoya

Page 2: 2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-

自己紹介

名前池田 大輔

TIS株式会社 OSS推進室

@ike_dai

Zabbix,AWS,fluentd,JobScheduler...

所属

Twitter

興味

ThinkIT「自動化時代のインフラ環境稼働テスト「 Serverspec」入門」

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

2

Page 3: 2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-

3

TISエンタープライズOSSサポートサービス

対象OSS

インフラ基盤

運用基盤

アプリ稼働基盤

※TISはZabbix社の認定パートナーです。

OSS推奨スタック『ISHIGAKI Template』

https://www.tis.jp/service_solution/oss/

TIS提供サービス紹介

Page 4: 2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-

4

アジェンダ

● Zabbixの概要とその仕組み● Zabbixのサポートポリシーとバージョン● Zabbixの進化の歴史● Zabbix2.0の振り返り● Zabbix2.2の振り返り● Zabbix2.4の振り返り● Zabbix3.0の紹介● まとめ

Page 5: 2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-

5

Zabbixの概要とその仕組み

OSS統合監視ツールラトビアのZabbixSIA社が開発2015/5/23時点の最新安定版2.4.5

監視対象機器- Linux- Windows- NW機器等

監視内容- リソース監視- 死活監視 - ICMPPing - プロセス- Web監視- ログ監視- HW監視- SQL監視等

監視方法

- Zabbix Agent監視- SNMP監視- IPMI監視- エージェントレス監視等

Page 6: 2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-

6

Zabbixの概要とその仕組み

Zabbix Server

trapper

poller

alerter

discoverer

Shared Memory

Zabbix Frontend

DB監視設定情報

history syncer

unreachable poller

監視結果情報

設定・確認

SNMP Agent SNMP Agent

Zabbix Agent

SNMP Agent

Zabbix Agent

...

Page 7: 2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-

7

Zabbixの概要とその仕組み

ホストグループ

テンプレート

ホスト

アイテム トリガーグラフ割当

アイテム トリガーグラフ

・・・

・・・

アクション

アクション

アイテム トリガーグラフ

ホストグループ:Linuxホスト:Server1テンプレート:LinuxServerテンプレート

アイテム:CPU使用率トリガー:CPU使用率が5分間平均80%以上アクション:管理者にアラートメール送信

ホスト

Page 8: 2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-

8

Zabbixのサポートポリシーとバージョン

● LTS版(5年サポート)は2.0系、2.2系、3.0系(次期リリース版)

● 2.4系はポイントリリース● 偶数番号(1.9系、2.1系、2.3系等)は開発版

※Zabbix社 Zabbix サポート期間とリリースポリシー 引用(http://www.zabbix.com/jp/life_cycle_and_release_policy.php)

● 長期間安定して動かしっぱなしにしたい場合はLTS版を● 最新機能をいち早く使いたい場合はポイントリリース版を  → ポイントリリース版を使う場合は随時アップデートに対応を

Page 9: 2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-

9

Zabbixの進化の歴史

性能改善 機能拡充

2008/6 1.6リリース

2001/4 初版リリース

2009/12 1.8リリース

2012/5 2.0リリース

2013/11 2.2リリース

2014/09 2.4リリース

2015/08 3.0リリース予定?

Page 10: 2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-

10

Zabbixの進化の歴史 -性能改善-

監視ロジックの改善 メモリの活用

SNMP bulk get処理実装

ValueCacheによるトリガー評価軽量化

ハウスキーピング処理制御

バックエンド処理SQLの改善

DBsyncer機能実装

Historyデータキャッシュ実装

Page 11: 2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-

11

Zabbixの進化の歴史 -機能拡充-

監視できる幅拡大 自動化の促進

Javaアプリケーション監視実装(Zabbix Java Gateway)

Zabbix APIの実装

WMI監視機能実装

SNMP Trap監視機能実装ローレベルディスカバリ機能実装

VMware監視自動化機能実装Zabbix Agent自動登録機能改善

Page 12: 2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-

12

Zabbix2.02012/5リリース

2.0系最新: 2.0.14

Page 13: 2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-

13

Zabbix2.0の振り返り

Zabbix API正式サポート

ローレベルディスカバリ機能サポート

Page 14: 2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-

14

Zabbix API

ZabbixServer

外部ツール

コマンド

プログラム

HTTP GET/POST Request

Response

Zabbix設定

Zabbix監視結果

できることZabbixの設定    : Create/Read/Update/DeleteZabbixでの監視結果 : Read

Zabbix fro

nte

nd

一言でいうと・・・

その仕組は・・・

外部からZabbixに対する操作をする口を提供

Page 15: 2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-

15

Zabbix API

■ APIの形式: JSON-RPC - URL: http://<zabbix-server>/zabbix/api_jsonrpc.php - メソッド: host.create、host.update、item.get、history.getなど - パラメータ: メソッド毎に必要なパラメータを渡す

ホスト情報取得の例レスポンス

{ "auth": "xxxxxxx", "method": "host.get", "params": { "output": "extend", "filter": {"host":"Zabbix server"} }, "jsonrpc": "2.0", "id": 1}

{

"jsonrpc":"2.0",

"result":[{

"maintenances":[],

"hostid":"10084",

"host":"Zabbix server",

・・・略

}],

"id":1

}

リクエストパラメータ

Page 16: 2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-

16

Zabbix APIを使えばこんな夢が広がる!

Zabbixの手間のかかる設定を全て外部から自動実行

Zabbixの監視結果を外のツールと連携  Zabbixを起点としたシステム全体でのイベント駆動型の制御が可能に

Page 17: 2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-

17

ローレベルディスカバリ

ディスカバリルール

/ /data

定期的に探索

Zabbix Server

アイテムプロトタイプアイテム

{

"data":[

   {

   "{#FSNAME}":"\/",

  "{#FSTYPE}":"ext3"},

  {

  "{#FSNAME}":"\/data",

  "{#FSTYPE}":"ext3"},

  ・・・省略

}

vfs.fs.size[{#FSNAME},free]

アイテム

vfs.fs.size[/,free]

vfs.fs.size[/data,free]

探索 登録 削除

アイテムグラフトリガースクリーン・・・・等

の の流れを自動化

POINT!POINT!

その仕組は・・・

一言でいうと・・・

Page 18: 2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-

18

LLDでくすぐられるエンジニアの好奇心!

標準で対応しているディスカバリ対象項目は・・・

● ネットワークインタフェース● ファイルシステム● SNMPのOID

エンジニアの好奇心がくすぐられるのは

『JSONの特定形式でデータを返すことで        この機構に沿った自動管理が可能になる』                                            という点

{“data”: [ {“{#METRIC.NAME}”:”CPUUtilization”}, {“{#METRIC.NAME}”:”DiskReadBytes”}, {“{#METRIC.NAME}”:”NetWorkIn”},    ・・・・略 ]}

例) AWSのCloudWatchの監視メトリクス一覧を取得し、JSON形式のデータをZabbixに返せばメトリクスの数に応じたアイテム自動登録可

Page 19: 2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-

フレームワークとして優れたZabbixへの進化

19

フレームワークとして優れたZabbixへの進化

Page 20: 2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-

20

Zabbix2.22013/12リリース2.2系最新: 2.2.9

Page 21: 2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-

21

Zabbix2.2の振り返り

VMware監視機能サポート

ValueCacheによる性能改善

HostMetadata情報連携機能

Page 22: 2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-

22

VMware監視機能

vCenterを含めたVMware環境の監視自動化

ZabbixServer

vCenterServer

VMwareESXi

VM VM VM

VMwareESXi

VM VM VM

VMwareESXi

VM VM VMVMwareCache

VMwareCollectors vSphereAPI

simple check (VMwareFrequencyの頻度で)

- クラスタ情報- ハイパーバイザ情報- データストア情報- 仮想マシン情報- イベントログ情報

追加&更新

一言でいうと・・・

その仕組は・・・

Page 23: 2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-

23

VMware監視機能で見えた方向性と課題

方向性・・・

● ZabbixのLLDの機能をベースとした幅広い自動化の実現➢ LLDの枠組みの中でホストの登録自動化が可能に➢ LLDの機構を活用した様々な環境の自動監視設定が可能に

課題と思われること・・・

● ZabbixのLLDの枠組みでできることがまだまだ少ない➢ 自動登録できるホストのインタフェース情報の登録ができない➢ 監視アイテム名とアイテムキー等にはマクロ展開できるができない部分もあり

● Zabbixのデータオブジェクトの管理機構の制約➢ 管理対象のホストは『ホストグループ -> ホスト』の2段階構成➢ Datacenter -> Cluster -> HV -> VMといって多段構成の場合複雑に

Page 24: 2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-

24

Zabbixのメモリ活用機構

Zabbixは監視処理の負荷軽減のため様々なメモリ機構を持つ

ZabbixServer

Configuration Cache

History Cache

History Text Cache

Trend Cache

Value Cache

VMware Cache

■ホスト、アイテム等の設定キャッシュ ↳用途: 監視処理実行内容確認処理

■監視結果(テキストタイプ以外)の一時格納キャッシュ ↳用途: DBへのデータ同期前の一時キャッシュ

■監視結果(テキストタイプ)の一時格納キャッシュ ↳用途: DBへのデータ同期前の一時キャッシュ

■トレンドデータ(1時間毎のサマリ)の一時格納キャッシュ ↳用途: DBへのデータ同期前の一時キャッシュ

■トリガー関数評価用データキャッシュ ↳用途: トリガー関数の評価対象のデータをキャッシュ

■VMware監視結果データキャッシュ ↳用途: vSphereAPIを叩いて取得した結果のキャッシュ

Page 25: 2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-

POINT! 25

Zabbix Agent自動登録機能

Zabbix Serveror

Zabbix Proxy

Target Server

Target Server

Target Server

Target Server

Zabbix Agent

Zabbix Agent

Zabbix Agent

Zabbix Agent

起動時にプッシュ通知

一言でいうと・・・

その仕組は・・・

Zabbix Agentが動いているサーバの監視設定を自動化

起動時に通知 - Hostname (Agentホスト名) - ListenIP (Agent稼働IP) - ListenPort (Agent稼働ポート) - HostMetadata (Agentに割り当てられたメタ情報)

通知情報をもとに自動化 - ホスト追加 - ホストグループへの登録 - テンプレート割当 - コマンド処理実行

POINT!

Page 26: 2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-

仮想化・クラウド利用促進にマッチした 大規模で動的な変化のある環境への対応

26

仮想化・クラウド利用促進にマッチした 大規模で動的な変化のある環境への対応

Page 27: 2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-

27

Zabbix2.42014/9リリース2.4系最新: 2.4.5

Page 28: 2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-

28

Zabbix2.4の振り返り

スクリーン機能改善

アドホックグラフ機能追加

Page 29: 2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-

29

スクリーン機能一言でいうと・・・

運用にとって必要なViewを自由にカスタマイズして定義できる機能

Page 30: 2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-

30

スクリーン機能の改善毎回手作業で登録は面倒・・・

監視テンプレートに事前定義ができる(これは過去のバージョンでも可)LLDで自動生成されたグラフも監視テンプレートに登録できるように

例) 各ディスクデバイスの使用状況を並べて見たい

定義は1つ

表示は全て

Page 31: 2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-

31

アドホックグラフ機能一言でいうと・・・

事前定義はしてないがとっさにデータを重ねて見る時へのお助け機能

Page 32: 2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-

実運用を意識したより細やかな対応

32

実運用を意識したより細やかな対応

Page 33: 2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-

33

Zabbix3.02015/xxリリース(8月頃?)

※引用: https://www.zabbix.org/mw/images/6/65/Skecth5.png

Page 34: 2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-

34

Zabbix3.0の最新情報

Zabbix3.0の開発ロードマップhttps://www.zabbix.org/wiki/Docs/roadmap

Page 35: 2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-

35

Zabbix3.0の最新情報

Zabbix3.0の開発ロードマップhttps://www.zabbix.org/wiki/Docs/roadmap

絶賛開発中なので最終的には変わる可能性あり絶賛開発中なので最終的には変わる可能性あり

Page 36: 2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-

36

Zabbix3.0の最新情報

Webインタフェースの改善見た目がちょっと今風?に

※引用: https://www.zabbix.org/mw/images/d/d9/Skecth1.png

Page 37: 2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-

37

Alexeiさんからの最新Tweet情報

Page 38: 2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-

38

Zabbix3.0の最新情報

通信データの暗号化

ZabbixServer

ZabbixProxy

ZabbixAgent

ZabbixAgent・・・

ZabbixAgent

ZabbixAgent・・・

internet

※注: 実現イメージ

暗号化不要なところは平文通信の選択も可

各コンポーネント間のTLS v1.2を使った暗号化通信サポート

Page 39: 2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-

39

Zabbix3.0の最新情報

通信データの暗号化これまでは・・・

VPNを通して対応したりstunnelを間に挟んで暗号化したり

参考:Zabbixモジュール間の通信を暗号化する (http://www.slideshare.net/takeshiyamane9/zabbix-stunnel)

ユーザがなんとか工夫して対応

Page 40: 2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-

40

Zabbix3.0の最新情報

LLD機能の改善アイテムプロトタイプにおけるLLDマクロ展開可能箇所追加- アイテム名- アイテムキーのパラメータ- SNMPのOID- 計算アイテムの式- SSHやTelnet接続監視のスクリプト内- Database監視アイテムのパラメータ- 説明- アプリケーション名- IPMIセンサー名- 単位

New!New!

Page 41: 2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-

ユーザの要望をうまくピックアップした対応

41

ユーザの要望をうまくピックアップした対応

Page 42: 2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-

42

Zabbix3.0から更に未来への進化に期待

より要件の厳しいエンタープライズ領域への適用

大規模化への対応

監視運用の自動化

統合監視の実現

Page 43: 2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-

43

TISでは以下のような思いで取り組みを

Zabbix利用者に安心して利用してもらえるように・・

 Zabbixサポート提供  ソースコード解析やバグ報告  Zabbixの利用方法のレクチャー

Zabbixを中心とした効果的な運用基盤実現に向けて・・

 Zabbixの効果的な利用法についての研究と発信 Zabbixの効果的な活用に向けた拡張機能や監視テンプレートの公開

[email protected]