Zabbix3.0技術分科会の活動 - assets.zabbix.com ·...

25
Copyright (c) 2015/11/20 Zabbix3.0技術分科会の活動 NTTCom Solutions 株式会社 第一オペレーション担当 福島 崇 Zabbix3.0の新機能について

Transcript of Zabbix3.0技術分科会の活動 - assets.zabbix.com ·...

Copyright (c) 2015/11/20

Zabbix3.0技術分科会の活動

NTTCom Solutions 株式会社

第一オペレーション担当 福島 崇

Zabbix3.0の新機能について

Copyright (c) 2

Zabbix3.0 ワークショップ

▌ Zabbixパートナーによる技術分科会

2015/10/26

Zabbix2.4のリリース時と同様に、

Zabbixパートナーの有志4社によってZabbix3.0新機能の検証会を行いました。

今回の技術分科会に参加した企業(順不同)

Zabbix3.0の導入について、ご相談承ります

2015/11/20

Copyright (c) 3

Zabbix3.0の新機能

5.1 Webインターフェースのデザイン刷新

画面遷移の操作など、基本的なところはほとんど変化していない

2015/11/20

Copyright (c) 4

Zabbix3.0の新機能

■Zabbixモジュール間のTCP通信の暗号化

・サーバ⇔プロキシ、サーバ⇔エージェント、

プロキシ⇔エージェント間のTLS暗号通信対応

■将来予測を行うトリガー関数の追加

・障害の発生を予測してアラートを上げるトリガー関数の追加

■例外の更新間隔の指定方法にCustom Interval方式を追加

・従来の方式の他に、cronのような書式による指定に対応。

例) 月~金の15:45に実行 ⇒ wd1-5h15m45

2015/11/20

Copyright (c) 5

Zabbix3.0の新機能

■SNMPのLLDルールで複数のOIDを利用する機能

・SNMPポーリングを利用したLLDルールの「OID」に複数のOIDを

記述し、その検索結果をマージして利用することが可能に。

■ログ監視アイテムのデータ型に数値が利用可能に

・ログ監視アイテムのデータ型に「数値(整数)」「数値(浮動小数)」が

指定可能。outputパラメータがより有効に活用できるように。

■反映されているユーザマクロを確認する機能

・ホストやテンプレートに継承・反映されているマクロを

確認する機能を追加。

2015/11/20

Copyright (c) 6

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) 7

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) 8

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) 9

Predictive trigger functions (将来予測を行うトリガー関数)

Forecasting is not magic, it’s mostly statistics. 予測とは魔法ではない。 一般的には『統計』である。

You’ve probably heard that

“ There are three kinds of lies: lies, damned lies, and statistics.” 『世の中には3種類の嘘がある。

それは単なる嘘、たちの悪い嘘、統計に基づく嘘だ』

Glebs Ivanovskis グレブス・イワノフスキース

2015/11/20

Predictive trigger functions 将来予測を行うトリガー関数

Copyright (c) 10

Predictive trigger functions (将来予測を行うトリガー関数)

『Predictive trigger function』 とは => Zabbixが魔法のように将来を予測して、 障害の予兆を知らせてくれる機能 => 収集しているデータの傾向に合わせて 適切なモデル関数を選択すれば 最小二乗法によって障害の予兆が 検知できる(かもしれない)機能

2015/11/20

Copyright (c) 11

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) 12

Predictive trigger functions (将来予測を行うトリガー関数)

例えば、こんなグラフから人間が読み取ること

2015/11/20

Copyright (c) 13

Predictive trigger functions (将来予測を行うトリガー関数)

2GB

『この傾向が今後も続くとなれば、

おそらく14日後にはしきい値である2GBを下回るだろう』

3GB

脳内で描いた予想のグラフ

障害検知のしきい値

10/28

11/04 11/11 11/18

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 (将来予測を行うトリガー関数)

様々なデータに対する予想のグラフを確度高く描くためには

データの分布にあわせて適切なロジックを採用する必要がある

脳内で描いた予想のグラフ

最小二乗法では、適切なモデル関数の選択が重要

途中でデータの分布が変化した場合には

都度その変化にあったモデル関数を選びなおす必要がある。

適切なモデル関数が選ばれていない場合、『統計に基づく嘘』になってしまう

2015/11/20

Copyright (c) 17

Predictive trigger functions (将来予測を行うトリガー関数)

polynomial3 linear

exponential power

logarithmic

fit パラメータで選択できる 各モデル関数のグラフイメージ ※ 多項式関数は代表例として3次のみ掲載

4次を超える高次多項式では解が求められない場合があるが

その場合はトリガー条件式がエラーになる。

2015/11/20

Copyright (c) 18

Predictive trigger functions (将来予測を行うトリガー関数)

おまけ

『sec|#num』パラメータに相当する

期間のヒストリを抽出して

Microsoft Excelでグラフを描き

『近似曲線』を追加してそれぞれの

モデル関数を選択してみると

どんな予測曲線を描くのか

イメージがつかみやすいと思います。

2015/11/20

Copyright (c) 19

Predictive trigger functions (将来予測を行うトリガー関数)

おまけ その2

http://zabbix.org/mw/images/1/18/Prediction_docs.pdf

Predictive trigger functionsについてのご説明は、

以下のドキュメントにほぼ同じ内容が書いてあります。

英語でかつ難解な数式が飛び交う、非常に強力な睡眠導入剤ですが、

興味のある方は是非ご熟読いただければと思います。

2015/11/20

Copyright (c) 20

Multiple OID support in SNMP discovery SNMPのLLDルールで複数のOIDを利用する機能

2015/11/20

Copyright (c) 21

SNMPのLLDルールに複数OIDの指定が可能に

SNMPを利用したLLD(従来)

ディスカバリルール

取得されるデータ

2015/11/20

Copyright (c) 22

SNMPのLLDルールに複数OIDの指定が可能に

SNMPを利用したLLD(Zabbix3.0)

ディスカバリルール

取得されるデータ

{#SNMPVALUE}マクロは廃止。

代わりにディスカバリルールのOID欄で定義したユーザ定義マクロが利用される。

2015/11/20

Copyright (c) 23

SNMPのLLDルールに複数OIDの指定が可能に

複数OIDを指定してディスカバリするには

ディスカバリルールの書き方

アイテムでの利用例

プロトタイプではルールで指定した全てのマクロの値が利用可能。

書式: discovery[{#MACRO1}, oid1, {#MACRO2}, oid2, …,]

2015/11/20

Copyright (c) 24

SNMPのLLDルールに複数OIDの指定が可能に

複数指定した場合のリレーションシップ

ifDescr の snmpwalk 結果

dot3StatsIndex の snmpwalk 結果

OIDの中のindexが同じもののvalueをまとめる

ディスカバリ結果のJSONデータ

2015/11/20

Copyright (c)

ご清聴ありがとうございました

25 2015/11/20