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

Zabbixで学ぶ統計解析入門

Takeo Noda
August 26, 2016

 Zabbixで学ぶ統計解析入門

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

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