Array|监控系统选型,这篇不可不读( 二 )
这里 , 我对常用的监控对象以及监控指标做了分类整理 , 供大家参考 。
文章图片
文章图片
(1)硬件监控
包括:电源状态、CPU状态、机器温度、风扇状态、物理磁盘、raid状态、内存状态、网卡状态
(2)服务器基础监控
CPU:单个CPU以及整体的使用情况
【Array|监控系统选型,这篇不可不读】内存:已用内存、可用内存
磁盘:磁盘使用率、磁盘读写的吞吐量
网络:出口流量、入口流量、TCP连接状态
(3)数据库监控
包括:数据库连接数、QPS、TPS、并行处理的会话数、缓存命中率、主从延时、锁状态、慢查询
(4)中间件监控
Nginx:活跃连接数、等待连接数、丢弃连接数、请求量、耗时、5XX错误率
Tomcat:最大线程数、当前线程数、请求量、耗时、错误量、堆内存使用情况、GC次数和耗时
缓存 :成功连接数、阻塞连接数、已使用内存、内存碎片率、请求量、耗时、缓存命中率
消息队列:连接数、队列数、生产速率、消费速率、消息堆积量
(5)应用监控
HTTP接口:URL存活、请求量、耗时、异常量
RPC接口:请求量、耗时、超时量、拒绝量
JVM :GC次数、GC耗时、各个内存区域的大小、当前线程数、死锁线程数
线程池:活跃线程数、任务队列大小、任务执行耗时、拒绝任务数
连接池:总连接数、活跃连接数
日志监控:访问日志、错误日志
业务指标:视业务来定 , 比如PV、订单量等
4. 监控系统的基本流程
无论是开源的监控系统还是自研的监控系统 , 监控的整个流程大同小异 , 一般都包括以下模块:
文章图片
文章图片
数据采集:采集的方式有很多种 , 包括日志埋点进行采集(通过Logstash、Filebeat等进行上报和解析) , JMX标准接口输出监控指标 , 被监控对象提供REST API进行数据采集(如Hadoop、ES) , 系统命令行 , 统一的SDK进行侵入式的埋点和上报等 。
数据传输:将采集的数据以TCP、UDP或者HTTP协议的形式上报给监控系统 , 有主动Push模式 , 也有被动Pull模式 。
数据存储:有使用MySQL、Oracle等RDBMS存储的 , 也有使用时序数据库RRDTool、OpentTSDB、InfluxDB存储的 , 还有使用HBase存储的 。
数据展示:数据指标的图形化展示 。
监控告警:灵活的告警设置 , 以及支持邮件、短信、IM等多种通知通道 。
主流监控系统介绍
下面再来认识下主流的开源监控系统 , 由于篇幅有限 , 我挑选了3款使用最广泛的监控系统:Zabbix、Open-Falcon、Prometheus , 会对它们的架构进行介绍 , 同时总结下各自的优劣势 。
文章图片
文章图片
1. Zabbix(老牌监控的优秀代表)
文章图片
文章图片
Zabbix 1998年诞生 , 核心组件采用C语言开发 , Web端采用PHP开发 。它属于老牌监控系统中的优秀代表 , 监控功能很全面 , 使用也很广泛 , 差不多有70%左右的互联网公司都曾使用过 Zabbix 作为监控解决方案 。
先来了解下Zabbix的架构设计:
推荐阅读
- 中年|什么是余压监控系统?余压监控系统如何接线和安装?一篇文章搞懂
- 监控系统|重庆首个高空抛物智能预警监控系统投用
- 安科瑞徐聃鸿|电力监控系统在中国船舶重工集团公司第四八一厂122项目10KV变电所的应用
- Array|臭氧层正在愈合,并对大气环流造成重大影响
- Array|瞄准“宅经济”!VR看房成年轻人租房新趋势
- Array|Spanlite公司使用3D打印一次高速烧结8,000个零件
- Array|面面俱到的绝佳体验 优质国产旗舰手机推荐
- Array|消息称爱奇艺或在港二次上市,回应称不予置评
- Array|中国移动首次招标边缘计算服务器 浪潮NE5260M5成功中标
- Array|远程课程“育见”VR 联想带来550个STEM教育模块