在咱们平常的工做中,有时候须要监控和管理平台的运行情况,而服务运行是否存在异常,是否有软硬件bug等,均须要第一时间知道。对服务状态了如指掌,是一个很重要的事情。那么这个如何作到呢,咱们以前在进行私有云平台研发过程当中,曾经用过一些工具,在必定程度上能帮到你们,这里记录一下,但愿对有须要的同窗有帮助。前端
一些常见的监控、告警工具:Nagios 、 ganglia、zabbix、onealert ios
三、简单地插件设计使得用户能够方便地扩展本身服务的检测方法;web
四、并行服务检查机制;数据库
五、具有定义网络分层结构的能力,用"parent"主机定义来表达网络主机间的关系,这种关系可被用来发现和明晰主机宕机或不可达状态;安全
六、当服务或主机问题产生与解决时将告警发送给联系人(经过EMail、短信、用户定义方式);服务器
七、具有定义事件句柄功能,它能够在主机或服务的事件发生时获取更多问题定位;微信
八、自动的日志回滚;网络
九、能够支持并实现对主机的冗余监控;app
十、可选的WEB界面用于查看当前的网络状态、通知和故障历史、日志文件等;运维
每台计算机都运行一个收集和发送度量数据的名为 gmond 的守护进程。接收全部度量数据的主机能够显示这些数据而且能够将这些数据的精简表单传递到层次结构中。正由于有这种层次结构模式,才使得 Ganglia 能够实现良好的扩展。gmond 带来的系统负载很是少,这使得它成为在集群中各台计算机上运行的一段代码,而不会影响用户性能。全部这些数据屡次收集会影响节点性能。网络中的 "抖动"发生在大量小消息同时出现时,能够经过将节点时钟保持一致,来避免这个问题。
gmetad能够部署在集群内任一台节点或者经过网络链接到集群的独立主机,它经过单播路由的方式与gmond通讯,收集区域内节点的状态信息,并以XML数据的形式,保存在数据库中。
由RRDTool工具处理数据,并生成相应的的图形显示,以Web方式直观的提供给客户端。
Ganglia包括以下几个程序,他们之间经过XDR(xml的压缩格式)或者XML格式传递监控数据,达到监控效果。集群内的节点,经过运行gmond收集发布节点状态信息,而后gmetad周期性的轮询gmond收集到的信息,而后存入rrd数据库,经过web服务器能够对其进行查询展现。
zabbix(音同 zæbix)是一个基于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(音同 zæbix)是一个基于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 agent须要安装在被监视的目标服务器上,它主要完成对硬件信息或与操做系统有关的内存,CPU等信息的收集。zabbix agent能够运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows (2000/2003/XP/Vista)等系统之上。
zabbix server能够单独监视远程服务器的服务状态;同时也能够与zabbix agent配合,能够轮询zabbix agent主动接收监视数据(agent方式),同时还可被动接收zabbix agent发送的数据(trapping方式)。
另外zabbix server还支持SNMP (v1,v2),能够与SNMP软件(例如:net-snmp)等配合使用。
zabbix的主要特色:
- 安装与配置简单,学习成本低
- 支持多语言(包括中文)
- 免费开源
- 自动发现服务器与网络设备
- 分布式监视以及WEB集中管理功能
- 能够无agent监视
- 用户安全认证和柔软的受权方式
- 经过WEB界面设置或查看监视结果
- email等通知功能
等等
Zabbix主要功能:
- CPU负荷
- 内存使用
-磁盘使用
- 网络情况
- 端口监视
- 日志监视。
Email:调用 sendmail 、sendEmail 等脚本经过 SMTP 发送邮件
飞信:飞信已经退出历史舞台,再也不有人使用
189/139:发送邮箱邮件至邮箱,邮箱将短信转到用户手机短信,存在必定的延迟
微信:须要申请一个微信公众号,并接入API,整个流程比较复杂,并且存在会话时间限制
短信:众多短信网关收费不一样、稳定性也不肯定,须要经过API接入
在整个使用过程当中,得出了传统告警方式的不足以及给个了 OneAlert 告警的功能,具体以下: