zabbixで学ぶ統計解析入門

22
Copyright © Xchange Solutions All right reserved. KIXS Vol.000 インフラLTの祭典 Zabbixで学ぶ統計解析入門 株式会社エクスチェンジ ソリューションズ 野田 健夫 2016.08.26

Upload: takeo-noda

Post on 16-Apr-2017

113 views

Category:

Data & Analytics


0 download

TRANSCRIPT

Page 1: Zabbixで学ぶ統計解析入門

Copyright © Xchange Solutions All right reserved.

KIXS Vol.000 インフラLTの祭典

Zabbixで学ぶ統計解析入門

株式会社エクスチェンジ ソリューションズ

野田 健夫

2016.08.26

Page 2: Zabbixで学ぶ統計解析入門

2

Copyright © Xchange Solutions All right reserved.

こんにちは!

野田 健夫(のだたけお)https://twitter.com/nodatakeo

https://www.facebook.com/nodatakeo

株式会社エクスチェンジ ソリューションズ

Page 3: Zabbixで学ぶ統計解析入門

3

Copyright © Xchange Solutions All right reserved.

今日の内容

1. これまでの監視ツール遍歴

2. Zabbixについて

1. Zabbixの主な機能

2. Zabbixで収集するデータ

3. Zabbixの概略図

3. 時系列データの検査を行うトリガー関数群

1. 移動平均

2. 予測値・予測到達時間

4. まとめ

Page 4: Zabbixで学ぶ統計解析入門

4

Copyright © Xchange Solutions All right reserved.

これまでの監視ツール遍歴

2004~2009年ごろ:BigBrother / Hobbit / Xymon

http://xymon.sourceforge.net/

Page 5: Zabbixで学ぶ統計解析入門

5

Copyright © Xchange Solutions All right reserved.

これまでの監視ツール遍歴

2008~2012年ごろ:Nagios

https://www.nagios.org/

Page 6: Zabbixで学ぶ統計解析入門

6

Copyright © Xchange Solutions All right reserved.

これまでの監視ツール遍歴

2012年~現在:Zabbix

http://www.zabbix.com/jp/

Page 7: Zabbixで学ぶ統計解析入門

7

Copyright © Xchange Solutions All right reserved.

Zabbixの主な機能

収集したデータに閾値を設定して異常監視

を行い、通知。

サーバやネットワークの状態をデータ化し、

保存。

収集したデータをもとにグラフ化。

Page 8: Zabbixで学ぶ統計解析入門

8

Copyright © Xchange Solutions All right reserved.

Zabbixで収集するデータ

CPU使用率

ディスク使用率

ディスクI/O

LoadAverage

プロセス数

ポート状態

などなど

すべて

時系列のデータ

としてDBに

保存される。

Page 9: Zabbixで学ぶ統計解析入門

9

Copyright © Xchange Solutions All right reserved.

Zabbix障害検知の概略図

データ収集項目

アイテム

トリガー アクション

データ検知閾値

トリガーに対してメディア処理

メディア

メール・SMS連携設定

ホスト

ウェブ

ページアクセス

テンプレート ユーザー

データ収集に関する設定 アラートに関する設定

Page 10: Zabbixで学ぶ統計解析入門

10

Copyright © Xchange Solutions All right reserved.

監視における異常検知とのせめぎあい

Big Brother Nagios Zabbix

フラップ検知機能で抑止 フラップ検知機能はない。

短時間に障害と復旧を

繰り返すことをフラッ

ピングという。Nagios

では過去21回分の変化

率で測定。

※特になし

トリガー関数で対応

データを保存しているから関数で分析できる。

Page 11: Zabbixで学ぶ統計解析入門

11

Copyright © Xchange Solutions All right reserved.

時系列データの検査を行うトリガー関数群

avg 移動平均

last 最終値

diff 差異検知

nodata データなし検知

count 期間回数

forecast 予測値

timeleft 予測到達時間

v3.0より追加

Page 12: Zabbixで学ぶ統計解析入門

12

Copyright © Xchange Solutions All right reserved.

avg: (単純)移動平均(SMA)

avg (sec|#num,<time_shift>)

書式:

引数

sec|#num 必須。秒数(sec)もしくは直近の件数(#num)

<time_shift> 任意。過去にずらす秒数

例:

{Template OS Linux:system.cpu.util[,iowait].avg(5m)}>20

Disk I/O overload

Page 13: Zabbixで学ぶ統計解析入門

13

Copyright © Xchange Solutions All right reserved.

移動平均とは

単純移動平均 (Simple Moving Average;

SMA) は、株価や温度変化の傾向など時系列

データの幅広い分野で使われている分析手法。

毎分取得するようなデータだと5分平均、10分

平均の値がよく使われている。

移動平均をとることで瞬間的な外れ値が発生し

ても平滑化され誤検知を避けることができる。

Page 14: Zabbixで学ぶ統計解析入門

14

Copyright © Xchange Solutions All right reserved.

移動平均の代表例: Load Average

・1分平均

・5分平均

・15分平均

平均をとる期間が長いほど平滑化される(=変化を平均化してなめらかにするフィルター)

Load Averageは、移動平均を行った実行待ちプロセス数。

Page 15: Zabbixで学ぶ統計解析入門

15

Copyright © Xchange Solutions All right reserved.

forecast: 予測値

forecast (sec|#num,<time_shift>,time,<fit>,<mode>)

書式:

引数

sec|#num 必須。何時間(sec)もしくは直近の件数(#num)

<time_shift> 任意。過去にずらす秒数

time 必須。何時間後のデータを予測するか。

<fit> 任意。予測モデル。linear, polynomialN, exponential,

logarithmic, powerを指定できる。デフォルトは、linear。

<mode> 任意。予測で出力する値。value,max,min,delta,avg。デフォルトは、value。

Page 16: Zabbixで学ぶ統計解析入門

16

Copyright © Xchange Solutions All right reserved.

forecast: 予測モデル

fit x = f(t)

linear x = a + b*t

polynomialN x = a + a *t + a *t + … + a *t

exponential x = a*exp(b*t)

logarithmic x = a + b*log(t)

power x = a*tb

0 1 2 nn2

線形近似

一変数多項式近似(n≦6)

指数近似

対数近似

累乗近似

linear

logarithmic

polynominalN exponential

power

Page 17: Zabbixで学ぶ統計解析入門

17

Copyright © Xchange Solutions All right reserved.

forecast: 予測値

mode 予測結果

value f(now + time)

max maxnow <= t <= now + time f(t)

min minnow <= t <= now + time f(t)

delta max - min

avg average of f(t) (now <= t <= now + time)

時間経過後の予測値

期間内予測値の最小値

期間内予測値の最大値ー最小値

予測値の移動平均

期間内予測値の最大値

例:

{Zabbix server:vfs.fs.size[/,free].forecast(1h,0,24h,linear,value)}<0

Run out of disk space on Zabbix server (forecast)

Page 18: Zabbixで学ぶ統計解析入門

18

Copyright © Xchange Solutions All right reserved.

timeleft: 予測到達時間

timeleft (sec|#num,<time_shift>,threshold,<fit>)

書式:

引数

sec|#num 必須。何時間(sec)もしくは直近の件数(#num)

<time_shift> 任意。過去にずらす秒数

threshold 必須。到達値。

<fit> 任意。予測モデル。linear, polynomialN, exponential,

logarithmic, powerを指定できる。デフォルトは、linear。

※予測モデルはforecastと同じ

例:

{Zabbix server:vfs.fs.size[/,free].timeleft(1h,0,0,linear)}<24h

Run out of disk space on Zabbix server (timeleft)

Page 19: Zabbixで学ぶ統計解析入門

19

Copyright © Xchange Solutions All right reserved.

予測値をグラフに表示するには?

http://www.zabbix.com/jp/whats_new.php

Page 20: Zabbixで学ぶ統計解析入門

20

Copyright © Xchange Solutions All right reserved.

トリガー関数はアイテムの計算でも使える

グラフに予測値を含めたいときは、予測値用のアイテムを追加す

る。

アイテムタイプ「計算」を選択することで、トリガー関数をアイ

テムにおいても使うことが可能。

使い方は、第1引数にアイテムキー名を追加。

データ型は、「数値(浮動小数点)」を指定するなど適宜要調整。

データ量が少ない場合は、-1になってしまうので注意。

forecast (“アイテムキー名”, sec|#num,<time_shift>,time,<fit>,<mode>)

forecast("Zabbix server:vfs.fs.size[/,free]", 1h,0,24h,linear,value)

例:

Page 21: Zabbixで学ぶ統計解析入門

21

Copyright © Xchange Solutions All right reserved.

まとめ

監視における時系列データ解析は、変化を検知するの

が基本。

予測検知は、ディスクなどリソース計画にも役立つ。

予測モデルは線形近似以外はあまり使われない。

予測検知するためには、検知のためのモデル作りが重

要。データ収集→解析→の流れでいくと可視化の拡張

(GrafanaとかKibanaなど)についても注目。

Page 22: Zabbixで学ぶ統計解析入門

22

Copyright © Xchange Solutions All right reserved.

参考: Grafana/Kibana

https://grafana.net https://www.elastic.co/jp/products/kibana