Linux监控平台介绍
监控的重要性不言而喻,一个企业就算架构再不成熟,监控都是必须要有的。监控不管用什么方式实现,开源软件也好,商业的监控服务也好,抑或是简陋的shell脚本,在业务上线时都首先要做到位。
流行的开源监控软件有cacti、nagios、zabbix、smokeping、open-falcon.
cacti、nagios、zabbix都可以监控服务器的基础指标,比如CUP、内存、硬盘、网络等,其中cacti更擅长监控网络流量,很多的IDC机房的网络设备流量用cacti,因为它成图专业。它们都是C/S架构,需要安装一个服务端,然后还需要在被监控的机器上安装客户端,它们都需要LAMP的支持,其中Nagios不需要数据库,而其他2种都需要MySQL的支持,用来存储数据的。
Nagios最大特点是监控一目了然,它监控的某个指标不会返回具体的数值,而是只返回一个状态,告诉我们该指标是否正常。所以不需要历史数据,也就不需要数据库的支持。当它发现某个指标不正常时,就直接发出警告或者短信。
zabbix最近几年很流行,因为zabbix可以存储数据,很方便的画图,并支持查询历史数据。它还可以自定义监控项目。可以定制化监控业务的某个指标(例如每分钟订单数量),在zabbix的自带模板中不可能找到,它还提供了易用的二次开发接口,方便扩展。zabbix会获取服务或监控项目的数据,会把数据记录到数据库中,从而可以成图。
cacti、smokeping偏于基础监控(网络设备),成图非常漂亮。
open-falcon是小米公司开发,开源后受到许多大公司和运维工程师的追捧,适合大企业。比如滴滴、360、新浪,JD等都在使用这个监控软件,值得研究。
cacti、nagios、zabbix都支持Web界面去进行管理,去控制。其中zabbix的管理做的比较彻底,比如增加监控节点,去配置具体的项目。nagios则需要去修改很多的配置文件和规则,很繁琐。
zabbix监控介绍
zabbix适合任何企业,它是C/S架构,服务端去客户端采取数据(在客户端要有一个服务用来采取数据,这个数据可以主动的上报给服务端,或者让服务端连接客户端去采集数据,也就是主动模式与被动模式)
zabbix基于C++开发,性能还是挺快的,监控中心需要PHP的环境用来开启Web界面,
单server节点可以支持上万台客户端,并发量还是挺大的。瓶颈在于数据的采集量,就算是支持上万台客户端,当监控的项目太多也会导致效率的降低。
- zabbix的优化——比如增加代理点,用来充当server的角色,替代server去采集数据,得到分析结果在汇报给server。
zabbix当前最新的zabbix 3.4版本,官方文档https://www.zabbix.com/manuals
zabbixj架构中包括了5个组件
(1)Zabbix-server
它是整个监控体系中最核心的组件(监控中心),负责接收客户端上报信息,所有的配置、统计、操作数据、数据存储、存放数据(比如mysql)都是由它完组织的
(2)Web界面
它也叫web UI,在web界面下操作配置是zabbix简单易用的主要原因。运行web界面需要php环境支持。(如果没有它,就不能在浏览器中去配置它)
(3)zabbix-proxy
它为可