前言
监控系统,可以从运营级别 (基本配置即可),以及应用级别 (二次开发,通过端口进行日志上报),对服务器、操作系统、中间件、应用进行全面的监控,及报警,对我们的系统正常运行的作用非常重要。
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)