Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Zabbixで学ぶ統計解析入門

Avatar for Takeo Noda Takeo Noda
August 26, 2016

 Zabbixで学ぶ統計解析入門

監視ツールと時系列データ。そこから見る統計解析入門。

Avatar for Takeo Noda

Takeo Noda

August 26, 2016
Tweet

More Decks by Takeo Noda

Other Decks in Programming

Transcript

  1. Copyright © Xchange Solutions All right reserved. KIXS Vol.000 インフラLTの祭典

    Zabbixで学ぶ統計解析入門 株式会社エクスチェンジ ソリューションズ 野田 健夫 2016.08.26
  2. 2 Copyright © Xchange Solutions All right reserved. こんにちは! 野田

    健夫(のだたけお) https://twitter.com/nodatakeo https://www.facebook.com/nodatakeo 株式会社エクスチェンジ ソリューションズ
  3. 3 Copyright © Xchange Solutions All right reserved. 今日の内容 1.

    これまでの監視ツール遍歴 2. Zabbixについて 1. Zabbixの主な機能 2. Zabbixで収集するデータ 3. Zabbixの概略図 3. 時系列データの検査を行うトリガー関数群 1. 移動平均 2. 予測値・予測到達時間 4. まとめ
  4. 7 Copyright © Xchange Solutions All right reserved. Zabbixの主な機能 収集したデータに閾値を設定して異常監視

    を行い、通知。 サーバやネットワークの状態をデータ化し、 保存。 収集したデータをもとにグラフ化。
  5. 8 Copyright © Xchange Solutions All right reserved. Zabbixで収集するデータ CPU使用率

    ディスク使用率 ディスクI/O LoadAverage プロセス数 ポート状態 などなど すべて 時系列のデータ としてDBに 保存される。
  6. 9 Copyright © Xchange Solutions All right reserved. Zabbix障害検知の概略図 データ収集項目

    アイテム トリガー アクション データ 検知閾値 トリガーに対して メディア処理 メディア メール・ SMS連携設定 ホスト ウェブ ページアクセス テンプレート ユーザー データ収集に関する設定 アラートに関する設定
  7. 10 Copyright © Xchange Solutions All right reserved. 監視における異常検知とのせめぎあい Big

    Brother Nagios Zabbix フラップ検知機能で抑止 フラップ検知機能はない。 短時間に障害と復旧を 繰り返すことをフラッ ピングという。Nagios では過去21回分の変化 率で測定。 ※特になし トリガー関数で対応 データを保存してい るから関数で分析で きる。
  8. 11 Copyright © Xchange Solutions All right reserved. 時系列データの検査を行うトリガー関数群 

    avg 移動平均  last 最終値  diff 差異検知  nodata データなし検知  count 期間回数  forecast 予測値  timeleft 予測到達時間 v3.0より追加
  9. 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
  10. 13 Copyright © Xchange Solutions All right reserved. 移動平均とは 

    単純移動平均 (Simple Moving Average; SMA) は、株価や温度変化の傾向など時系列 データの幅広い分野で使われている分析手法。  毎分取得するようなデータだと5分平均、10分 平均の値がよく使われている。  移動平均をとることで瞬間的な外れ値が発生し ても平滑化され誤検知を避けることができる。
  11. 14 Copyright © Xchange Solutions All right reserved. 移動平均の代表例: Load

    Average ・1分平均 ・5分平均 ・15分平均 平均をとる期間が長いほど平滑化される (=変化を平均化してなめらかにするフィルター) Load Averageは、 移動平均を行った実行待ちプロセス数。
  12. 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。
  13. 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 n n 2 線形近似 一変数多項式近似(n≦6) 指数近似 対数近似 累乗近似 linear logarithmic polynominalN exponential power
  14. 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)
  15. 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)
  16. 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) 例:
  17. 21 Copyright © Xchange Solutions All right reserved. まとめ 

    監視における時系列データ解析は、変化を検知するの が基本。  予測検知は、ディスクなどリソース計画にも役立つ。  予測モデルは線形近似以外はあまり使われない。  予測検知するためには、検知のためのモデル作りが重 要。データ収集→解析→の流れでいくと可視化の拡張 (GrafanaとかKibanaなど)についても注目。
  18. 22 Copyright © Xchange Solutions All right reserved. 参考: Grafana/Kibana

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