前言
监控系统,可以从运营级别(基本配置即可),以及应用级别(二次开发,通过端口进行日志上报),对服务器、操作系统、中间件、应用进行全面的监控,及报警,对我们的系统正常运行的作用非常重要。
1、开源还是商用?十大云运维监控工具横评
http://www.oschina.net/news/67525/monitoring-tools
2、Zabbix、Nagios、Open-Falcon这3大开源运维监控工具的比较:
我所在的公司,在去年完成了从Zabbix到Open-Falcon的转换,有从小米过来的运维工程师的大力推动的影响,也是由于对于巨量的数据上报/统计,万+上报节点,Zabbix力不从心了,而Open-Falcon这方面更加强大,转换之后,感觉Open-Falcon使用的比较舒服。
所以本文就结合Falcon,对监控系统的作用,进行一些简单的分析;并结合日常的工作学习过程,对监控参数的意义,进行持续的学习和补充。
Open-Falcon
小米开发的,小米、金山云、美团、京东金融等公司在用。
Open-Falcon编写的整个脑洞历程:http://mp.weixin.qq.com/s?__biz=MjM5OTcxMzE0MQ==&mid=400225178&idx=1&sn=c98609a9b66f84549e41cd421b4df74d
小米开源监控系统OpenFalcon应对高并发7种手段:http://h2ex.com/894
官网:
http://open-falcon.org/
http://book.open-falcon.org/zh/index.html
基础监控
CPU、Load、内存、磁盘、IO、网络相关、内核参数、ss 统计输出、端口采集、核心服务的进程存活信息采集、关键业务进程资源消耗、NTP offset采集、DNS解析采集,这些指标,都是open-falcon的agent组件直接支持的。
Linux运维基础采集项:http://book.open-falcon.org/zh/faq/linux-metrics.html
对于这些基础监控选项全部理解透彻的时刻,也就是对Linux运行原理及命令进阶的时刻。
第三方监控
术业有专攻,运行在OS上的应用甚多,Open-Falcon的开发团队不可能把所有的第三方应用的监控全部做完,这个就需要开源社区提供更多的插件,当前对于很多常用的第三方应用都有相关插件了。
JVM监控
对于Java作为主要开发语言的大多数公司,对于JVM的监控不可或缺。
每个JVM应用的参数,比如GC、类加载、JVM内存、进程、线程,都可以上报给Falcon,而这些参数的获得,都可以通过MxBeans实现。
使用 Java 平台管理 bean:http://www.ibm.com/developerworks/cn/java/j-mxbeans/
业务应用监控
对于业务需要监控的接口,比如响应时间等。可以根据业务的需要,上报相关数据到Falcon,并通过Falcon查看结果。
总结
每个公司都应该根据自己的情况,比如使用的开发语言,使用的第三方框架,定义合适的插件,并开发合适的监控上报客户端,比如XMonitor,进行相关的第三方应用及业务应用的数据上报,达到对业务支出系统进行全方位监控的目的,既有系统层面,也有业务层面。
监控对于业务开发的影响:
1、有好的,有坏的,每个人都自己想想,自己想的都是对的;
2、有监控,有报警,出了问题早知道;
3、我们对于我们系统的运行情况,更清晰了,除了问题,到监控系统查出蛛丝马迹,比到OS上通过命令查询,效率更高;同时呢,其实对于开发人员的要求降低了;
4、几年前,想监控某个接口的调用次数,响应时间啥的,low的要自己写,自己出统计结果,其实通过上报到某个监控系统,就完全能解决;
评论(0)