常见监控需求
硬件信息
硬盘损坏
网络监控
网络流量,丢包率
系统监控
cpu\ram\disk\load\io
应用监控
db,web,cache,queue,中间键
服务状态监控
url
页面是否被篡改
端口是否存活
mysql max connections 并发连接数
待处理消息
业务监控
业务稳定
订单数
在线用户数
功能分析
一台主机 可以有多个监控项,cpu,ram,nic,disk,io,load[可选功能]
h1 --> cpu,ram
h2 --> cpu,disk,io
可以批量修改监控配置
主机组
服务模版
告警级别
不同的服务 因为业务重要程度不同,如果出了问题可以设置不同的报警级别
可以指定特定的服务或告警级别的事件通知给特定的用户
告警的升级设定
dizaster
high
warning
info
classified
历史数据 的存储和优化
#因为要数据展示所以需要存储
实现用最少的空间占用量存储最多的有效数据
如何做到1s中之内取出一台主机上所有服务的5年的监控数据?
优化数据
存储位置
数据可视化,如何做出简洁美观的用户界面?
如何实现单机支持5000+机器监控需求?
采取何种通信方式?主动、被动?
主动通信 snmp,wget
被动通信 安装agent连接监控服务器
如何实现监控服务器的水平扩展?
采用什么架构?
mysql
主动通信? Snmp,wget…
被动通信?Agent ---how to communicate with the monitor server
采用 http
接口设计简单
容易水平扩展做分布式
h1 = {
cpu:{
'idle':
'system':
'users'
}
ram:{
'total':
'usage':
'free':
'cached':
}
}