Zabbix3.0技術分科会の活動

Zabbix3.0技術分科会の活動
Zabbix3.0の新機能について
NTTCom Solutions 株式会社
第一オペレーション担当
福島 崇
2015/11/20
Copyright (c)
Zabbix3.0 ワークショップ
▌ Zabbixパートナーによる技術分科会
2015/10/26
Zabbix2.4のリリース時と同様に、
Zabbixパートナーの有志4社によってZabbix3.0新機能の検証会を行いました。
今回の技術分科会に参加した企業(順不同)
Zabbix3.0の導入について、ご相談承ります
2015/11/20
Copyright (c)
2
Zabbix3.0の新機能
5.1 Webインターフェースのデザイン刷新
画面遷移の操作など、基本的なところはほとんど変化していない
2015/11/20
Copyright (c)
3
Zabbix3.0の新機能
■Zabbixモジュール間のTCP通信の暗号化
・サーバ⇔プロキシ、サーバ⇔エージェント、
プロキシ⇔エージェント間のTLS暗号通信対応
■将来予測を行うトリガー関数の追加
・障害の発生を予測してアラートを上げるトリガー関数の追加
■例外の更新間隔の指定方法にCustom Interval方式を追加
・従来の方式の他に、cronのような書式による指定に対応。
例) 月~金の15:45に実行
⇒ wd1-5h15m45
2015/11/20
Copyright (c)
4
Zabbix3.0の新機能
■SNMPのLLDルールで複数のOIDを利用する機能
・SNMPポーリングを利用したLLDルールの「OID」に複数のOIDを
記述し、その検索結果をマージして利用することが可能に。
■ログ監視アイテムのデータ型に数値が利用可能に
・ログ監視アイテムのデータ型に「数値(整数)」「数値(浮動小数)」が
指定可能。outputパラメータがより有効に活用できるように。
■反映されているユーザマクロを確認する機能
・ホストやテンプレートに継承・反映されているマクロを
確認する機能を追加。
2015/11/20
Copyright (c)
5
Zabbix3.0の新機能
■Webインターフェースの機能改善
・IE8対応の終了
■Housekeeperの強制実行機能
・任意のタイミングでHousekeeperを実行可能に。
■pdbを利用したクラッシュログの取得機能(Windows版Zabbixエージェントのみ)
・エージェントクラッシュ時に、より詳細なログを取得することが可能に。
■JMXインターフェースのIPv6サポート
・JMXインターフェースのIPアドレスにIPv6のアドレスが利用可能に。
■マクロの改良
・アイテムのプロトタイプの「IPMIセンサー」と「単位」の項目に
LLDマクロを利用可能に。
・トリガーの「URL」にホストレベルのマクロ
({HOST.HOST}, {HOST.NAME}, {HOST.IP}, {HOST.DNS}, {HOST.CONN}, {HOST.PORT})
とユーザ定義マクロを利用可能に
2015/11/20
Copyright (c)
6
Zabbix3.0の新機能
■アイテムの変更と改善
 vmware.vm.cpu.ready[<url>,<uuid>] の追加
 net.dns、net.dns.recordキーでプロトコルをTCPとUDPから選択可能に
 Windowsにおいて、net.dns、net.dns.recordキーを利用した時に、OSのレゾルバキャッシュを利用しないように改善
 Linux(Kernel2.6.14以降)において、net.tcp.listenの情報をNETLINKから取得するように変更。
対応していない環境やバイナリでは従来通り/proc/net/tcpから取得
 AIX, FreeBSD, Linux, Solarisにおいて、proc.memアイテムに第5のパラメータ「memtype」を追加
 Linux(kernel2.6.24、2.6.33以降)において、system.cpu.util の typeパラメータに「guest」と「guest_nice」を追加
 Windowsにおいて、vfs.fs.discoveryキーのLLDマクロに「{#FSDRIVETYPE}」を追加
 「Zabbixアグリゲート」アイテムのパラメータ簡略化
 LLDのディスカバリルールに利用できるODBC監視アイテム「db.odbc.discovery」を追加
 未定義のユーザ定義マクロが利用された場合にアイテムやトリガーをエラーとするように仕様変更
 ログ監視アイテムにおいて、送るべきログデータが無いときでもメタ情報を送信するように仕様変更
 AIX、Linuxにおいて、vm.memory.size[available]のデータ取得元を変更
 proc.mem、proc.numアイテムにおいてuserパラメータを指定した時、指定のユーザのプロセスが無い場合には
「取得不可」ではなく「0」を返すように変更
 NTPサービス監視のためにnet.udp.service、net.udp.service.perfアイテムを追加
 Windowsにおいて、Windowsサービスのディスカバリができるservice.discoveryキーを追加
 Windowsにおいて、サービスの情報を取得するservice.infoキーを追加
 vfs.fs.inodeキーを利用してCephFSを監視する場合にmodeにtotal以外を指定した場合に不正な値が返るのを、
正しく「取得不可」となるように修正
 ホストに設定されているアイテムの総数を返すzabbix[host,,items]キーを追加
 ホストに設定されている取得不可状態のアイテムの総数を返すzabbix[host,,items_unsupported]キーを追加
 Solaris、Linuxにおいて、プロセスごとのCPU使用率を取得するproc.cpu.utilキーを追加
2015/11/20
Copyright (c)
7
Zabbix3.0の新機能
■DebugLevel=5の追加
・レベル5(extended debugging)の追加。
■トリガー関数の機能改善
・パーセンタいる計算を行うpercentile()関数の追加
・パラメータにユーザ定義の正規表現を利用した場合
その正規表現設定の存在チェックを行うように改善
■Zabbix APIの機能改善
・usergroup.getメソッドに、ユーザグループの権限を取得できる
selectRightsパラメータを追加
・Value mappingを操作するためのAPI群を追加
その他にも多数の機能追加、機能改善が行われています
https://www.zabbix.com/documentation/3.0/manual/introduction/whatsnew300
2015/11/20
Copyright (c)
8
Predictive trigger functions (将来予測を行うトリガー関数)
Predictive trigger functions
将来予測を行うトリガー関数
Forecasting is not magic, it’s mostly statistics.
予測とは魔法ではない。 一般的には『統計』である。
Glebs Ivanovskis
グレブス・イワノフスキース
You’ve probably heard that
“ There are three kinds of lies: lies, damned lies, and statistics.”
『世の中には3種類の嘘がある。
それは単なる嘘、たちの悪い嘘、統計に基づく嘘だ』
2015/11/20
Copyright (c)
9
Predictive trigger functions (将来予測を行うトリガー関数)
『Predictive trigger function』 とは
=> Zabbixが魔法のように将来を予測して、
障害の予兆を知らせてくれる機能
=> 収集しているデータの傾向に合わせて
適切なモデル関数を選択すれば
最小二乗法によって障害の予兆が
検知できる
機能
(かもしれない)
2015/11/20
Copyright (c)
10
Predictive trigger functions (将来予測を行うトリガー関数)
■一定期間後に収集されると思われる値を返す関数
forecast (sec|#num,<time_shift>,time,<fit>,<mode>)
sec|#num
time_shift
time
fit
mode
……
……
……
……
……
予測の根拠になる収集済みデータの期間
タイムシフト
予測したい未来までの時間
データ分布から想定されるモデル関数
得られる予測結果データのタイプ
(value,min,max,avg,delta)
■しきい値に達するまでの残り時間を返す関数
timeleft (sec|#num,<time_shift>,threshold,<fit>)
sec|#num
time_shift
threshold
fit
2015/11/20
……
……
……
……
予測の根拠になる収集済みデータの期間
タイムシフト
しきい値
データ分布から想定されるモデル関数
Copyright (c)
11
Predictive trigger functions (将来予測を行うトリガー関数)
例えば、こんなグラフから人間が読み取ること
2015/11/20
Copyright (c)
12
Predictive trigger functions (将来予測を行うトリガー関数)
『この傾向が今後も続くとなれば、
おそらく14日後にはしきい値である2GBを下回るだろう』
脳内で描いた予想のグラフ
3GB
2GB
11/04
11/11
11/18
10/28
障害検知のしきい値
2015/11/20
Copyright (c)
13
Predictive trigger functions (将来予測を行うトリガー関数)
では、こんなグラフだったら……
2015/11/20
Copyright (c)
14
Predictive trigger functions (将来予測を行うトリガー関数)
脳内で描いた予想のグラフ
?
様々なデータに対する予想のグラフを確度高く描くためには
データの分布にあわせて適切なロジックを採用する必要がある
最小二乗法では、適切なモデル関数の選択が重要
2015/11/20
Copyright (c)
15
Predictive trigger functions (将来予測を行うトリガー関数)
脳内で描いた予想のグラフ
途中でデータの分布が変化した場合には
様々なデータに対する予想のグラフを確度高く描くためには
都度その変化にあったモデル関数を選びなおす必要がある。
データの分布にあわせて適切なロジックを採用する必要がある
適切なモデル関数が選ばれていない場合、『統計に基づく嘘』になってしまう
最小二乗法では、適切なモデル関数の選択が重要
2015/11/20
Copyright (c)
16
Predictive trigger functions (将来予測を行うトリガー関数)
fit パラメータで選択できる 各モデル関数のグラフイメージ
※ 多項式関数は代表例として3次のみ掲載
4次を超える高次多項式では解が求められない場合があるが
その場合はトリガー条件式がエラーになる。
power
logarithmic
2015/11/20
exponential
polynomial3
linear
Copyright (c)
17
Predictive trigger functions (将来予測を行うトリガー関数)
おまけ
『sec|#num』パラメータに相当する
期間のヒストリを抽出して
Microsoft Excelでグラフを描き
『近似曲線』を追加してそれぞれの
モデル関数を選択してみると
どんな予測曲線を描くのか
イメージがつかみやすいと思います。
2015/11/20
Copyright (c)
18
Predictive trigger functions (将来予測を行うトリガー関数)
おまけ その2
Predictive trigger functionsについてのご説明は、
以下のドキュメントにほぼ同じ内容が書いてあります。
英語でかつ難解な数式が飛び交う、非常に強力な睡眠導入剤ですが、
興味のある方は是非ご熟読いただければと思います。
http://zabbix.org/mw/images/1/18/Prediction_docs.pdf
2015/11/20
Copyright (c)
19
Multiple OID support in SNMP discovery
SNMPのLLDルールで複数のOIDを利用する機能
2015/11/20
Copyright (c)
20
SNMPのLLDルールに複数OIDの指定が可能に
SNMPを利用したLLD(従来)
ディスカバリルール
取得されるデータ
2015/11/20
Copyright (c)
21
SNMPのLLDルールに複数OIDの指定が可能に
SNMPを利用したLLD(Zabbix3.0)
ディスカバリルール
取得されるデータ
{#SNMPVALUE}マクロは廃止。
代わりにディスカバリルールのOID欄で定義したユーザ定義マクロが利用される。
2015/11/20
Copyright (c)
22
SNMPのLLDルールに複数OIDの指定が可能に
複数OIDを指定してディスカバリするには
ディスカバリルールの書き方
書式: discovery[{#MACRO1}, oid1, {#MACRO2}, oid2, …,]
アイテムでの利用例
プロトタイプではルールで指定した全てのマクロの値が利用可能。
2015/11/20
Copyright (c)
23
SNMPのLLDルールに複数OIDの指定が可能に
複数指定した場合のリレーションシップ
ifDescr の snmpwalk 結果
dot3StatsIndex の snmpwalk 結果
ディスカバリ結果のJSONデータ
OIDの中のindexが同じもののvalueをまとめる
2015/11/20
Copyright (c)
24
ご清聴ありがとうございました
2015/11/20
Copyright (c)
25