ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

360内部监控系统"Wonder实践之路"

2021-03-23 10:54:17  阅读:162  来源: 互联网

标签:AVERAGE 报警 存活 监控 日志 360 Wonder


 ADDOPS张振辉 360云计算


图片


女主宣言

Wonder监控系统目前已经是360内部最大、最健全的监控系统。基于open-falcon改造的Wonder,从2016年4月上线至今已经运行了一年多,从最初的“乞丐版”,到现在的“神奇女侠版”,wonder的变化经历了很多。今天小主就为大家分享这篇来自公司内部的分享PPT:“Wonder监控系统实践之路”。

PS:丰富的一线技术、多元化的表现形式,尽在“HULK一线技术杂谈”,点关注哦!


 

前言

Wonder是 ADDOPS、HULK-dev团队基于开源项目Open-Falcon二次开发的监控系统。Wonder从2016年4月在360内部上线至今,节点数量超过了4W+台,采集的监控项超过千万。


特点:

  • 强大灵活的数据采集

  • 高效率的告警策略管理

  • 人性化的告警设置

  • 高效率的历史数据查询

  • 高可用


Wonder对Open-Falcon改进的功能点:

  • Agent自动更新

  • 存活监控、端口监控、日志监控

  • 报警队列控制

  • 超过最大报警次数重报

  • 与硬件报修接口联动自动禁用报警

  • 机房报警屏蔽

  • LastEvent状态持久化存储


 

现状

1

整体架构图 

image.png

2

存活组件sniffer 

存活监控组件sniffer:一个独立开发的存活监控组件,多机房部署,可以对机器的网络、端口存活进行多点监控。


image.png

如下是两组sniffer-agent存活组件采集的状态图:


image.png

image.png

3

线上规模 

image.png



线上集群指标:

Transfer_QPS:20万/S;大约5分钟上报6千万监控项
采集监控项:1200万+
占用存储空间:2.4T
RRD归档存储时间:2年


4

数据上报 

 {
    metric: df.bytes.used,
    endpoint: w01v.add.bjyt.qihoo.net,
    tags: fstype=ext4,mount=/,
    value: 1.5,
    timestamp: `date +%s`,
    counterType: GAUGE,
    step: 60
 }


Counter(计数器):标识递增的数据,比如接口访问次数、网卡流量。
Gauge(原始值):当前瞬时的一个状态,可能增加,也可能减小,比如CPU使用率,平均延时等等。


sum(df_bytes_used{fstype="ext4",mount="/"}) by (fstype,mount,hulkid) 


5

RRD归档策略 

// 设置各种归档策略
// 1分钟一个点存 3d
c.RRA("AVERAGE", 0.5, 1, RRA1PointCnt)

// 5m一个点存7d
c.RRA("AVERAGE", 0.5, 5, RRA5PointCnt)

// 20m一个点存15d
c.RRA("AVERAGE", 0.5, 20, RRA20PointCnt)

// 3小时一个点存6个月
c.RRA("AVERAGE", 0.5, 180, RRA180PointCnt)

// 12小时一个点存2year
c.RRA("AVERAGE", 0.5, 720, RRA720PointCnt)


6

agent自动更新 

Wonder 目前承接了将近4W台主机(包括非HULK管理的主机),Agent部署和维护升级是个不小的工作量。


  1. 部署:一次性全部安装使用Qcmd。

  2. 版本升级:Wonder Agent支持自动更新



  3. image.png



8

结合CMDB 

沿用的私有云的业务树层级关系,从最初的360 节点-主业务-子业务-角色,策略、自定义监控和日志监控都是继承关系,并且支持下级自由关闭继承策略和添加自有策略等操作。用户权限:和hulk强一致

image.png


9

报警设置 

报警方式:

报警组设置:针对所有成员生效
个人报警方式设置:针对当前登录用户生效


image.png


添加策略:

image.png


策略克隆:


image.png

自定义监控:

自定义监控(Plugin)在Wonder中使用更为灵活,用户可以自己定义监控项的名称、用户、执行命令、单位等。

image.png


日志监控:

日志监控对应用程序的日志进行监控并对日志进行处理后上报。日志路径支持日期函数匹配。

image.png


存活监控:

存活监控作为一种特殊的基础监控已经内置,用户只需配置策略即可报警。


image.png


端口监控:


image.png

Nginx监控:

Nginx监控已经作为Wonder基础监控项加入到Agent中,支持访问统计、请求时间、499、50x错误统计等,展示界面如下。



image.png



10

报警统计 

在报警统计中,用户可以非常方便查看报警的状态和历史,并且可以手动忽略报警事件(类似Zabbix的ack功能)。


报警状态:


image.png

报警历史:


image.png

11

应用监控 

应用监控的原理是监控系统定时到部署业务的各台服务器以及vip上访问监控脚本,根据监控脚本返回的信息判断是否需要报警,用户只需写好监控脚本,脚本对项目需要监控的各个要点进行调用,将返回结果按照规定结构显示。

image.png


 

正在做的

Wonder目前正在做的事情:

  1. LVS流量突变监控

  2. 数据筛选模块和缓存模块

  3. 接入Prometheus

  4. 提供自定义上报数据接口

  5. 支持同环比查看历史图


 

未来

在提供安全可靠报警的同时,未来Wonder要努力的方向:

  1. 提供尽可能全的基础数据和支持更灵活的自定义数据PUSH

  2. 通过数据挖掘,我们会对业务整体情况进行判断

  3. 智能监控方面,我们不仅仅只做常规报警预测(比如磁盘),后期还会朝动态阈值、报警关联、报警预测等努力

  4. 我们会争取接入更多的业务和提供更多开发的服务


标签:AVERAGE,报警,存活,监控,日志,360,Wonder
来源: https://blog.51cto.com/15127564/2669067

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有