Submit Search
Upload
Skyline 简介
•
Download as PPT, PDF
•
0 likes
•
1,663 views
琛
琛琳 饶
Follow
skyline是Etsy的Kale系统的一部分,负责异常探测过滤,和rrdtool/graphite的预测式警报属于另一个方向。
Read less
Read more
Travel
Report
Share
Report
Share
1 of 21
Download now
Recommended
The Content is The Conversation
The Content is The Conversation
Oliver Ding
Google Maps API 在 2018/7 開始收費後,Funliday 估算每個月要付很多很多很多很多錢給 Google,為了不要被 Google 的龐大費用壓垮,Funliday 開始自建 LBS 資料庫 (POIBank)。 這次就是要分享建置 POIBank 時所必備的工具,包括常用的座標系 4326 & 3857 轉換、畫邊界的 GeoJSON、標範圍的 GeoHash、轉換地址經緯度的 Pelias、OpenStreetMap 圖資及 PostgreSQL (PostGIS) 的效能調校技巧外,也會搭配真實案例讓大家了解如何利用這些開發工具建置一個 LBS 資料庫。
Google Maps 開始收費了該怎麼辦?
Google Maps 開始收費了該怎麼辦?
Mu Chun Wang
Linux Binary Exploitation https://ais3.org/en
Binary exploitation - AIS3
Binary exploitation - AIS3
Angel Boy
调试技术的应用
调试技术的应用
延胜 黄
How to gather histogram in Oracle database, how to gather partitioned table statistics.
Vldb Statistics Gathering Strategy
Vldb Statistics Gathering Strategy
Leyi (Kamus) Zhang
网站前端代码静态检查工具综述
网站前端代码静态检查工具综述
pop2008
GPGPU in HPC
基于Gpu的高性能计算
基于Gpu的高性能计算
sun peiyuan
网站测试是要跟大量的前端代码打交道,要跟各种恶心的浏览器打交道,要怎么样才能出淤泥而臭美呢?诀窍一就在于善于利用各种工具来引导工程师写出优美的代码来,本篇就讲述一个笔者最近刚新鲜出炉的一个工具 jsaudit
网站前端代码静态检查工具研究
网站前端代码静态检查工具研究
pop2008
Recommended
The Content is The Conversation
The Content is The Conversation
Oliver Ding
Google Maps API 在 2018/7 開始收費後,Funliday 估算每個月要付很多很多很多很多錢給 Google,為了不要被 Google 的龐大費用壓垮,Funliday 開始自建 LBS 資料庫 (POIBank)。 這次就是要分享建置 POIBank 時所必備的工具,包括常用的座標系 4326 & 3857 轉換、畫邊界的 GeoJSON、標範圍的 GeoHash、轉換地址經緯度的 Pelias、OpenStreetMap 圖資及 PostgreSQL (PostGIS) 的效能調校技巧外,也會搭配真實案例讓大家了解如何利用這些開發工具建置一個 LBS 資料庫。
Google Maps 開始收費了該怎麼辦?
Google Maps 開始收費了該怎麼辦?
Mu Chun Wang
Linux Binary Exploitation https://ais3.org/en
Binary exploitation - AIS3
Binary exploitation - AIS3
Angel Boy
调试技术的应用
调试技术的应用
延胜 黄
How to gather histogram in Oracle database, how to gather partitioned table statistics.
Vldb Statistics Gathering Strategy
Vldb Statistics Gathering Strategy
Leyi (Kamus) Zhang
网站前端代码静态检查工具综述
网站前端代码静态检查工具综述
pop2008
GPGPU in HPC
基于Gpu的高性能计算
基于Gpu的高性能计算
sun peiyuan
网站测试是要跟大量的前端代码打交道,要跟各种恶心的浏览器打交道,要怎么样才能出淤泥而臭美呢?诀窍一就在于善于利用各种工具来引导工程师写出优美的代码来,本篇就讲述一个笔者最近刚新鲜出炉的一个工具 jsaudit
网站前端代码静态检查工具研究
网站前端代码静态检查工具研究
pop2008
An introduction to Kibana4 usage and some develop examples.
{{more}} Kibana4
{{more}} Kibana4
琛琳 饶
experience of ELKstack with 10 billion event per day.
ELK stack at weibo.com
ELK stack at weibo.com
琛琳 饶
Introduction about Kibana version3. And something more about my own panels and kibana-auth for it.
More kibana
More kibana
琛琳 饶
Howto against with DevOps and NoOps? We can do and analyse the monitor!
Monitor is all for ops
Monitor is all for ops
琛琳 饶
Perl, Dancer, LWP::UserAgent, OAuth2, weibo
Perl调用微博API实现自动查询应答
Perl调用微博API实现自动查询应答
琛琳 饶
How does gitolite works? How to add mailinglist command to gitolite?
Add mailinglist command to gitolite
Add mailinglist command to gitolite
琛琳 饶
How ElasticSearch lives in my DevOps life
How ElasticSearch lives in my DevOps life
琛琳 饶
how to collect nginxs' accesslogs into elasticsearch by logstash or message-passing.
Logstash
Logstash
琛琳 饶
DNS协议与应用简介
DNS协议与应用简介
琛琳 饶
Mysql测试报告
Mysql测试报告
琛琳 饶
简述了脚本语言(主要是perl)在nginx中的应用,介绍了nginx_perl项目。
Perl在nginx里的应用
Perl在nginx里的应用
琛琳 饶
More Related Content
More from 琛琳 饶
An introduction to Kibana4 usage and some develop examples.
{{more}} Kibana4
{{more}} Kibana4
琛琳 饶
experience of ELKstack with 10 billion event per day.
ELK stack at weibo.com
ELK stack at weibo.com
琛琳 饶
Introduction about Kibana version3. And something more about my own panels and kibana-auth for it.
More kibana
More kibana
琛琳 饶
Howto against with DevOps and NoOps? We can do and analyse the monitor!
Monitor is all for ops
Monitor is all for ops
琛琳 饶
Perl, Dancer, LWP::UserAgent, OAuth2, weibo
Perl调用微博API实现自动查询应答
Perl调用微博API实现自动查询应答
琛琳 饶
How does gitolite works? How to add mailinglist command to gitolite?
Add mailinglist command to gitolite
Add mailinglist command to gitolite
琛琳 饶
How ElasticSearch lives in my DevOps life
How ElasticSearch lives in my DevOps life
琛琳 饶
how to collect nginxs' accesslogs into elasticsearch by logstash or message-passing.
Logstash
Logstash
琛琳 饶
DNS协议与应用简介
DNS协议与应用简介
琛琳 饶
Mysql测试报告
Mysql测试报告
琛琳 饶
简述了脚本语言(主要是perl)在nginx中的应用,介绍了nginx_perl项目。
Perl在nginx里的应用
Perl在nginx里的应用
琛琳 饶
More from 琛琳 饶
(11)
{{more}} Kibana4
{{more}} Kibana4
ELK stack at weibo.com
ELK stack at weibo.com
More kibana
More kibana
Monitor is all for ops
Monitor is all for ops
Perl调用微博API实现自动查询应答
Perl调用微博API实现自动查询应答
Add mailinglist command to gitolite
Add mailinglist command to gitolite
How ElasticSearch lives in my DevOps life
How ElasticSearch lives in my DevOps life
Logstash
Logstash
DNS协议与应用简介
DNS协议与应用简介
Mysql测试报告
Mysql测试报告
Perl在nginx里的应用
Perl在nginx里的应用
Skyline 简介
1.
Skyline Etsy 的 控
机制监 过滤
2.
• Etsy 技
博客:术团队 • http://codeascraft.com/2013/06/11/introd ucing-kale/ • Qcon London2013 演 稿:讲 • https://speakerdeck.com/astanway/bring- the-noise-continuously-deploying-under-a- hailstorm-of-metrics 介简
3.
Kale 架构图 • 常探
的异 测 skyline( 左边 ) • 相似 找的查 oculus( 右边 )
4.
skyline 部署 • apt-get
install git numpy scipy python-pip python-msgpack python-pandas python-statsmodels • git clone https://github.com/etsy/skyline • cd skyline • pip install -r requirement.txt • cp src/settings.py.example src/settings.py • mkdir /var/log/skyline • mkdir /var/run/skyline • mkdir /var/log/redis • # 必 用须 2.6 版以上的 redis-server 才能正常存储 • wget http://redis.googlecode.com/files/redis-2.6.13.tar.gz • tar zxvf redis-2.6.13.tar.gz • cd redis-2.6.13 • make
5.
skyline 启动 • ./src/redis-server
../bin/redis.conf • cd bin • # 分析器 • sudo ./analyzer.d start • # 数据接收 • sudo ./horizon.d start • # flask 界面 • sudo ./webapp.d start
6.
horizon 支持 • 2024
端口支持转发 graphite 数据 • 2025 端口支持 pickle 和 msgpack 两种 网 数据格式络 • 数据存 在储 redis 中, key 的命名格式类 似 graphite 的的 group.item.time 这样
7.
analyzer 原理 • analyzer
根据周期内 有数据判断最新数现 据是否 常异 • rrdtool/graphite 是根据 有数据推 下现 测 一个数据 是多少应该
8.
analyzer 原理 • first_hour_average •
是最 的。先求本周期内最前面的第这 简单 一个小 的平均 和 准差,然后和最新时 值 标 的三个 的平均值 值 (tail_avg() , 是后面这 多数算法都通用的做法 ) 做比 。如果较 tail_avg 和 第一小 平均 的差距大于时 值 3 倍的 准差,那么 定 常。标 认 为异
9.
analyzer 原理 • simple_stddev_from_moving_averag e •
把上面算法的范 大化,求的是整个周围扩 期内全部数据的平均 和 准差。值 标
10.
analyzer 原理 • stddev_from_moving_average •
在上面算法的基 上,采用指数加权移础 动 平均 。 周期内采点数量 少的情况更值 对 较 好一些。
11.
analyzer 原理 • mean_subtraction_cumulation •
做法是 的:这样 • 排除最后一个 ;值 • 求剩余序列的平均 ;值 • 全序列 去上面 个平均 ;减 这 值 • 求剩余序列的 准差;标 • 判断全序列最后一个 是否大于值 3 倍的 准差标 • 在代 中本来 算了一次序列的指数加权移码 还计 动 平均 ,但是算完了却没用,感 怪怪的。值 觉
12.
analyzer 原理 • least_squares •
采用最小二乘法 近 序列,然后用拟 时间 实 去 近 得到新序列。然后判断新际值减 拟 值 序列的最后三个 的平均 是否大于值 值 3 倍 的新序列 准差。标 • 所 最小二乘法, 就是 一个谓 简单说 对 [x, y] 序列,会有一 常数对 [m, c] ,让 Y = mx + c 等式中的 Y 和 y 在全序列上最 接近。
13.
analyzer 原理 • histogram_bins •
将整个周期序列的数据按照直方 法图统计 入归 15 个直方中,然后看最后三个 的值 平均 属于值 这 15 个直方的具体 个。如哪 果 个直方中包含的数据小于这 20 个,判 断 常。为异 • 从算法中可以知道,如果周期内数据量不 ,很容易被判断 常的。够 为异
14.
analyzer 原理 • grubbs •
将整个周期序列的数据按照格拉布斯法求 常 。异 值 • 准的格拉布斯法是 的:标 这样 • 从小到大排序; • 求序列的平均 和 准差;值 标 • 算最小 和最大 与平均 的差距,更大的那个 可疑 ;计 值 值 值 为 值 • 可疑 去平均 ,再除以 准差,如果大于格拉布斯 界 ,那么值减 值 标 临 值 就是 常 ;异 值 • 排除 常 , 剩余序列循 做异 值 对 环 1-5 步 。骤 • 里只用判断 序列的最后是否 常,所以直接将最后三个 的平这 时间 异 值 均 作 可疑 判断是否 常即可。值 为 值 异
15.
analyzer 原理 • median_absolute_deviation •
具体 是:序列的最后一个 ,比 序列的 中 大实现 值 该 绝对 值 6 倍以上 ,即判断 常。为异 • 注意 里是中 ,不是平均 。这 值 值
16.
analyzer 原理 • Kolmogorov-Smirnov_test •
具体 是: 算序列内最近十分 的数 的实现 计 钟 值 ks 分布,然后测试 计 算序列中最近一个小 前到十分 前时 钟 这 50 分 的数 的钟 值 ks 分测试 布;如果 个分布相差 大,即判断 常。两 较 为异
17.
webapp 原理 • 一个
flask 面,通页 过 ajax 求请 json 画 。图 • 个这 anomalies.json 是 analyzer 程进 实 生成到时 src/webapp/static/dump 目录 下的。在没有 常的 候的基 式如下异 时 础样 : • handle_data([])
18.
示例 • use Data::MessagePack; •
use AnyEvent::Handle::UDP; • my $mp = Data::MessagePack->new->utf8->prefer_integer; • my $sock = AnyEvent::Handle::UDP->new( • connect => [ '127.0.1.1', '2025' ], • on_recv => sub { }, • autoflush => 1, • ); • my $timer = AnyEvent->timer( • after => 0, • interval => 1, • cb => sub {$sock->push_send($mp->pack(['localhost.loadavg', [time, rand*2]]))} • ); • my $atimer = AnyEvent->timer( • after => 200, • interval => 1, • cb => sub { • $timer = undef; • $sock->push_send($mp->pack(['localhost.loadavg', [time, rand*2000]])); • }, • ); • AnyEvent->condvar->recv;
19.
analyzer.log 常异 记录
20.
webapp 效果
Download now