Upload
daisuke-ikeda
View
1.501
Download
5
Embed Size (px)
Citation preview
2.0~2.2~2.4~3.0
Zabbixの進化を紐解く
-Zabbix便利機能紹介-
TIS株式会社池田 大輔
2015/5/23 オープンソースカンファレンス2015 Nagoya
自己紹介
名前池田 大輔
TIS株式会社 OSS推進室
@ike_dai
Zabbix,AWS,fluentd,JobScheduler...
所属
興味
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
3
TISエンタープライズOSSサポートサービス
対象OSS
インフラ基盤
運用基盤
アプリ稼働基盤
※TISはZabbix社の認定パートナーです。
OSS推奨スタック『ISHIGAKI Template』
https://www.tis.jp/service_solution/oss/
TIS提供サービス紹介
4
アジェンダ
● Zabbixの概要とその仕組み● Zabbixのサポートポリシーとバージョン● Zabbixの進化の歴史● Zabbix2.0の振り返り● Zabbix2.2の振り返り● Zabbix2.4の振り返り● Zabbix3.0の紹介● まとめ
5
Zabbixの概要とその仕組み
OSS統合監視ツールラトビアのZabbixSIA社が開発2015/5/23時点の最新安定版2.4.5
監視対象機器- Linux- Windows- NW機器等
監視内容- リソース監視- 死活監視 - ICMPPing - プロセス- Web監視- ログ監視- HW監視- SQL監視等
監視方法
- Zabbix Agent監視- SNMP監視- IPMI監視- エージェントレス監視等
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
...
7
Zabbixの概要とその仕組み
ホストグループ
テンプレート
ホスト
アイテム トリガーグラフ割当
アイテム トリガーグラフ
・・・
・・・
アクション
アクション
アイテム トリガーグラフ
ホストグループ:Linuxホスト:Server1テンプレート:LinuxServerテンプレート
アイテム:CPU使用率トリガー:CPU使用率が5分間平均80%以上アクション:管理者にアラートメール送信
例
ホスト
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版を● 最新機能をいち早く使いたい場合はポイントリリース版を → ポイントリリース版を使う場合は随時アップデートに対応を
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リリース予定?
10
Zabbixの進化の歴史 -性能改善-
監視ロジックの改善 メモリの活用
SNMP bulk get処理実装
ValueCacheによるトリガー評価軽量化
ハウスキーピング処理制御
バックエンド処理SQLの改善
DBsyncer機能実装
Historyデータキャッシュ実装
11
Zabbixの進化の歴史 -機能拡充-
監視できる幅拡大 自動化の促進
Javaアプリケーション監視実装(Zabbix Java Gateway)
Zabbix APIの実装
WMI監視機能実装
SNMP Trap監視機能実装ローレベルディスカバリ機能実装
VMware監視自動化機能実装Zabbix Agent自動登録機能改善
12
Zabbix2.02012/5リリース
2.0系最新: 2.0.14
13
Zabbix2.0の振り返り
Zabbix API正式サポート
ローレベルディスカバリ機能サポート
14
Zabbix API
ZabbixServer
外部ツール
コマンド
プログラム
HTTP GET/POST Request
Response
Zabbix設定
Zabbix監視結果
できることZabbixの設定 : Create/Read/Update/DeleteZabbixでの監視結果 : Read
Zabbix fro
nte
nd
一言でいうと・・・
その仕組は・・・
外部から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
}
リクエストパラメータ
16
Zabbix APIを使えばこんな夢が広がる!
Zabbixの手間のかかる設定を全て外部から自動実行
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!
その仕組は・・・
一言でいうと・・・
18
LLDでくすぐられるエンジニアの好奇心!
標準で対応しているディスカバリ対象項目は・・・
● ネットワークインタフェース● ファイルシステム● SNMPのOID
エンジニアの好奇心がくすぐられるのは
『JSONの特定形式でデータを返すことで この機構に沿った自動管理が可能になる』 という点
{“data”: [ {“{#METRIC.NAME}”:”CPUUtilization”}, {“{#METRIC.NAME}”:”DiskReadBytes”}, {“{#METRIC.NAME}”:”NetWorkIn”}, ・・・・略 ]}
例) AWSのCloudWatchの監視メトリクス一覧を取得し、JSON形式のデータをZabbixに返せばメトリクスの数に応じたアイテム自動登録可
フレームワークとして優れたZabbixへの進化
19
フレームワークとして優れたZabbixへの進化
20
Zabbix2.22013/12リリース2.2系最新: 2.2.9
21
Zabbix2.2の振り返り
VMware監視機能サポート
ValueCacheによる性能改善
HostMetadata情報連携機能
22
VMware監視機能
vCenterを含めたVMware環境の監視自動化
ZabbixServer
vCenterServer
VMwareESXi
VM VM VM
VMwareESXi
VM VM VM
VMwareESXi
VM VM VMVMwareCache
VMwareCollectors vSphereAPI
simple check (VMwareFrequencyの頻度で)
- クラスタ情報- ハイパーバイザ情報- データストア情報- 仮想マシン情報- イベントログ情報
追加&更新
一言でいうと・・・
その仕組は・・・
23
VMware監視機能で見えた方向性と課題
方向性・・・
● ZabbixのLLDの機能をベースとした幅広い自動化の実現➢ LLDの枠組みの中でホストの登録自動化が可能に➢ LLDの機構を活用した様々な環境の自動監視設定が可能に
課題と思われること・・・
● ZabbixのLLDの枠組みでできることがまだまだ少ない➢ 自動登録できるホストのインタフェース情報の登録ができない➢ 監視アイテム名とアイテムキー等にはマクロ展開できるができない部分もあり
● Zabbixのデータオブジェクトの管理機構の制約➢ 管理対象のホストは『ホストグループ -> ホスト』の2段階構成➢ Datacenter -> Cluster -> HV -> VMといって多段構成の場合複雑に
24
Zabbixのメモリ活用機構
Zabbixは監視処理の負荷軽減のため様々なメモリ機構を持つ
ZabbixServer
Configuration Cache
History Cache
History Text Cache
Trend Cache
Value Cache
VMware Cache
■ホスト、アイテム等の設定キャッシュ ↳用途: 監視処理実行内容確認処理
■監視結果(テキストタイプ以外)の一時格納キャッシュ ↳用途: DBへのデータ同期前の一時キャッシュ
■監視結果(テキストタイプ)の一時格納キャッシュ ↳用途: DBへのデータ同期前の一時キャッシュ
■トレンドデータ(1時間毎のサマリ)の一時格納キャッシュ ↳用途: DBへのデータ同期前の一時キャッシュ
■トリガー関数評価用データキャッシュ ↳用途: トリガー関数の評価対象のデータをキャッシュ
■VMware監視結果データキャッシュ ↳用途: vSphereAPIを叩いて取得した結果のキャッシュ
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!
仮想化・クラウド利用促進にマッチした 大規模で動的な変化のある環境への対応
26
仮想化・クラウド利用促進にマッチした 大規模で動的な変化のある環境への対応
27
Zabbix2.42014/9リリース2.4系最新: 2.4.5
28
Zabbix2.4の振り返り
スクリーン機能改善
アドホックグラフ機能追加
29
スクリーン機能一言でいうと・・・
運用にとって必要なViewを自由にカスタマイズして定義できる機能
30
スクリーン機能の改善毎回手作業で登録は面倒・・・
監視テンプレートに事前定義ができる(これは過去のバージョンでも可)LLDで自動生成されたグラフも監視テンプレートに登録できるように
例) 各ディスクデバイスの使用状況を並べて見たい
定義は1つ
表示は全て
31
アドホックグラフ機能一言でいうと・・・
事前定義はしてないがとっさにデータを重ねて見る時へのお助け機能
実運用を意識したより細やかな対応
32
実運用を意識したより細やかな対応
33
Zabbix3.02015/xxリリース(8月頃?)
※引用: https://www.zabbix.org/mw/images/6/65/Skecth5.png
34
Zabbix3.0の最新情報
Zabbix3.0の開発ロードマップhttps://www.zabbix.org/wiki/Docs/roadmap
35
Zabbix3.0の最新情報
Zabbix3.0の開発ロードマップhttps://www.zabbix.org/wiki/Docs/roadmap
絶賛開発中なので最終的には変わる可能性あり絶賛開発中なので最終的には変わる可能性あり
36
Zabbix3.0の最新情報
Webインタフェースの改善見た目がちょっと今風?に
※引用: https://www.zabbix.org/mw/images/d/d9/Skecth1.png
37
Alexeiさんからの最新Tweet情報
38
Zabbix3.0の最新情報
通信データの暗号化
ZabbixServer
ZabbixProxy
ZabbixAgent
ZabbixAgent・・・
ZabbixAgent
ZabbixAgent・・・
internet
※注: 実現イメージ
暗号化不要なところは平文通信の選択も可
各コンポーネント間のTLS v1.2を使った暗号化通信サポート
39
Zabbix3.0の最新情報
通信データの暗号化これまでは・・・
VPNを通して対応したりstunnelを間に挟んで暗号化したり
参考:Zabbixモジュール間の通信を暗号化する (http://www.slideshare.net/takeshiyamane9/zabbix-stunnel)
ユーザがなんとか工夫して対応
40
Zabbix3.0の最新情報
LLD機能の改善アイテムプロトタイプにおけるLLDマクロ展開可能箇所追加- アイテム名- アイテムキーのパラメータ- SNMPのOID- 計算アイテムの式- SSHやTelnet接続監視のスクリプト内- Database監視アイテムのパラメータ- 説明- アプリケーション名- IPMIセンサー名- 単位
New!New!
ユーザの要望をうまくピックアップした対応
41
ユーザの要望をうまくピックアップした対応
42
Zabbix3.0から更に未来への進化に期待
より要件の厳しいエンタープライズ領域への適用
大規模化への対応
監視運用の自動化
統合監視の実現
43
TISでは以下のような思いで取り組みを
Zabbix利用者に安心して利用してもらえるように・・
Zabbixサポート提供 ソースコード解析やバグ報告 Zabbixの利用方法のレクチャー
Zabbixを中心とした効果的な運用基盤実現に向けて・・
Zabbixの効果的な利用法についての研究と発信 Zabbixの効果的な活用に向けた拡張機能や監視テンプレートの公開