go语言监控预警 golang gc监控( 二 )


nagios主要的特征是监控告警,最强大的就是告警功能,可支持多种告警方式,但缺点是没有强大的数据收集机制,并且数据出图也很简陋,当监控的主机越来越多时,添加主机也非常麻烦,配置文件都是基于文本配置的,不支持web方式管理和配置,这样很容易出错,不宜维护 。
1.3Zabbix
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案 。zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供强大的通知机制以让系统运维人员快速定位/解决存在的各种问题 。
zabbix由2部分构成,zabbix server与可选组件zabbix agent 。zabbix server可以通过SNMP,zabbix,agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux , Solaris,HP-UX,AIX,Free BSD,Open BSD,os x等平台上 。
zabbix解决了cacti没有告警的不足,也解决了nagios不能通过web配置的缺点,同时还支持分布式部署,这使得它迅速流行起来,zabbix也成为目前中小企业监控最流行的运维监控平台 。当然 , zabbix也有不足之处 , 它消耗的资源比较多,如果监控的主机非常多时(服务器数量超过500台),可能会出现监控超时、告警超时、告警系统单点故障等现象,不过也有很多解决办法 , 比如提高硬件性能、改变zabbix监控模式等 。
① agent代理:专门的代理服务方式进行监控 , 专属的协议,装有zabbix-agent的主机就可以被zabbix-server监控,主
动或被动的方式,把数据给到server进行处理 。
② ssh/telent:linux主机支持ssh/telent协议
③ snmp:网络设备路由器、交换机不能安装第三方程序(agent),使用简单网络协议 。大多数的路由器设备支持SNMP协议
④ ipmi:通过ipmi接口进行监控 , 我们可以通过标准的ipmi硬件接口,监控被监控对象的物理特征,比如电压,温度,
风扇状态电源情况,被广泛使用服务监控中,包括采集cpu温度,风扇转速 , 主板温度,及远程开关机等等,而且ipmi独立于硬件和操作系统,无论是cpu,bios还是os出现故障,都不会影响ipmi的工作,因为ipmi的硬件设备BMC(bashboard management controller)是独立的板卡 , 独立供电
⑤ zabbix核心组件介绍
Zabbix Server:
Zabbix软件实现监控的核心程序,主要功能是与Zabbixproxies和Agents进行交互、触发器计算、发送告警通知;并将数据集中保存 。与prometheus的类似可以保存收集到的数据,但是prometheus告警需要使用altermanager组件
Database storage:
存储配置信息以及收集到的数据
web Interface:
Zabbix的GUI接口 , 通常与server运行在同一台机器上
Proxy:
可选组件,常用于分布式监控环境中,一个帮助zabbix Server收集数据,分担zabbix Server的负载的程序
Agent:
部署在被监控主机上,负责收集数据发送给server
1.5Prometheus
borg.kubernetes
borgmon(监控系统) 对应克隆的版本:prometheus(go语言)
所以prometheus 特别适合K8S 的架构上
而作为一个数据监控解决方案 , 它由一个大型社区支持,有来自700多家公司的6300个贡献者,13500个代码提交和7200个拉取请求
Prometheus具有以下特性:
① 多维的数据模型(基于时间序列的Key、value键值对)
② 灵活的查询和聚合语言PromQL(难)
③ 提供本地存储和分布式存储
④ 通过基于HTTP和HTTPS的Pull模型采集时间序列数据(pull数据的拉?。奔湫蛄校好慷?
时间点的数据值指标,持续性的产生 。横轴标识时间 , 纵轴为数据值,一段时间内数值的动态变化 , 所有的点连线形成大盘式的折线图)

推荐阅读