职责边界
接入方
- 定义监控目标
- 监控数据产生
平台方
- 分布式环境中数据汇总
- 告警条件对比与发出告警
- 数据存储方案
- 图形化展示
抽象监控规范
名称术语
立体架构
1、业务环境:网关层、业务逻辑层、数据访问层、数据存储层 2、代理即是一个jar包 3、代理与数据收集服务 UDP协议通信 4、立体监控平台即是一个Web服务
业务接入与Agent
1、一个机器有一个agnet 所有的应用都和这个agent通讯 使用UDP协议 2、用go实现agent是业内标准 本身是damon程序 稳定性和性能很好
Agent聚合方法
聚合内存
优点
- 无通讯协议开销
- 全局锁
- 固定内存
聚合内存c语言应用用的比较多 对Java应用意义不大
TCP传输
优点
- 可靠传输
- 容错方案
- 存储模型
tcp同步阻塞模型可能会阻塞进程 对日志传输意义不大
UDP传输
优点
- 直接仍
- 对业务流程无阻塞
- 模型简单
1、本地做些计算 再扔给远端 2、对敏感性、时效性要求不高可以使用UDP方式
业务方使用
监控以下函数
- 调用次数
- 平均耗时
- 最大耗时
- 异常次数
硬编码方式(不推荐)
通过Springboot\Guava 15.0+\Aspectj1.5.4+实现
监控组合
监控项和机器列表任意组合
可用内存 堆大小 耗时
服务器监控
利用率 机器负载 内存利用率 磁盘利用率
告警设置
最终示例