Skyline 调研
Contact me
或者用邮件交流 jacky.wucheng@foxmail.com
简介
- Skyline. We use Skyline to detect anomalous metrics.
- Oculus. We search for that metric in Oculus, to see if any other metrics look similar.
组件
Horizon
功能: 采集数据入skyline系统
- Listeners
- TCP-pickle listener on port 2024
- UDP-messagepack listener on port 2025
- Workders: 从Listener queue读数据, insert到redis
- Roombas: 清理redis
Analyzer
功能: 分析数据, 进行异常判定.
架构
异常检测算法
异常检测算法有
stddev_from_average
first_hour_average
stddev_from_moving_average
moving_average
simple_moving_average
exp_weighted_moving_average
mean_subtraction_cumulation
least_squares
grubbs
histogram_bins
ks_test
median_absolute_deviation
算法代码:
参考src/analyzer/algorithms.py.
算法参考资料:
安装
- 官方安装文档
- 问题解决
- numpy.distutils.system_info.NotFoundError: no lapack/blas resources found: 安装依赖
yum -y install numpy scipy lapack-devel lapack
, 参考 scipy官方的安装文档 - 安装statsmodels时报告numpy版本1.10.0.post2非法, 解决办法:
- 方法1: 从官网下载1.10.0版本的numpy然后自行编译安装. 先安装依赖
pip install cython
, 然后到numpy源码目录下python setup.py install
- 方法2: 使用
pip install numpy==1.9.3
安装老版本.
- 方法1: 从官网下载1.10.0版本的numpy然后自行编译安装. 先安装依赖
- numpy.distutils.system_info.NotFoundError: no lapack/blas resources found: 安装依赖
缺陷
- 对metric套用所有算法, 大部分算法认为异常就算异常, 处理的太笼统.
- 把Redis当做一个time-series db, 对老数据的清理效率很低, 非常影响Redis性能.
参考资料
参考资料