注:Pagerduty作为报警系统,出镜率很高。
虽然收费,但对于企业来说很便宜。
一个月几十美金
不太支持中文,主要是语音方面。
Prometheus
查询语句 , 基于数学运算模式的监控查询
我们计算一下一天多少秒
1 * 24 * 60 * 60
Console 会出现 86400
假如我想一分钟一次数据的模式获取监控数据
( 1 * 24 * 60 * 60 ) / 60
采集会是1440次
加入我想 5 秒中采集一次。
( 1 * 24 * 60 * 60 ) /5
17280
优缺点
集群搭建速度块,并且周边插件丰富。
可以嵌入到其他开源工具的内部,进行监控,数据更准确,更可信。
数据量如果特别大,那么成图的时候也会出现性能的瓶颈。
目前不支持集群化,只能自定义持久化。本身性能有一定的瓶颈。
要求硬盘消耗量比较大,和监控数据的保存周期也是关联的。
监控重点研究
监控系统设计
监控系统搭建
》监控稳定测试
数据采集编写
》监控自动化集成
》监控部署上线
》监控图形化工作
数据采集编写
监控数据分析/算法
业务监控
- 用户访问的QPS 每秒查询率(Queries Per Second)
它是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。
通过曲线的变化去记录QPS的状态。业务级别监控的难点。 - 用户DAU指的是日活跃用户数量(Daily Active User)
- 访问状态(http code)
- 业务接口(登录、注册、聊条、上传、留言、短信、搜索)
- 产品转化率
- 充值额度
- 用户投诉
系统监控
- CPU
- 内存
- 硬盘
- I/O
- TCP链接
- 流量
网络监控
1.丢包率。
2.延迟。
3.IDC内网和外网的访问性(可用区)。
日志监控
ELK
往往是单独设计和搭建。
程序监控
一般需要与开发人员配合,程序中嵌入各种接口 直接获取数据或者特质的日志格式。
程序中嵌入各种接口,直接获取数据或者特质的日志格式。
数据采集编写
shell / python / awk / lua(nginx安全控制) / go 等
优点:后台采集程序,数据准确性高,采集密度精细 管理方便。
缺点:后台采集程序,如果开发过程不够仔细,可能会出现内存泄漏,僵尸进程,性能瓶颈等问题。
监控自动化
Puppet 配置文件部署
Jenkins CI持续集成部署
用户哭护短 -> 公网DNS域名 -> CDN技术 -> 云计算入口(入口机) -> 负载均衡 -> 智能负载均衡 -> 主程序集群 -> 缓存 -> 数据库。
数据库键值类型
K / V 模型
T-S 时间序列的组成方式。(prometheus命令行 可以支持 四则运算, -> 微积分 -> 代数 -> 数论)
数据采集是从 /proc 下获取数据