一 、关于zabbix

1.1 zabbix概况

zabbix(音同 zæbix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。


zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。


zabbix由2部分构成,zabbix server与可选组件zabbix agent。

zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,OpenBSD,OS X等平台上。


1.2 zabbix安装

zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。zabbix agent可以运行在Linux,Solaris,HP-UX,AIX,FreeBSD,Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows (2000/2003/XP/Vista)等系统之上。


zabbix server可以单独监视远程服务器的服务状态;同时也可以与zabbix agent配合,可以轮询zabbix agent主动接收监视数据(agent方式),同时还可被动接收zabbix agent发送的数据(trapping方式)。


另外zabbixserver还支持SNMP (v1,v2),可以与SNMP软件(例如:net-snmp)等配合使用。


1.3 zabbix架构图

云监控----zabbix&collectd|云技术实名群分享实录_java

二、关于collectd

2.1 collectd概况

collectd是一个守护(daemon)进程,用来收集系统性能和提供各种存储方式来存储不同值的机制。比如以RRD 文件形式。

当系统运行和存储信息的时候,Collectd会周期性统计系统的相关统计信息。那些信息可以用来找到当前系统性能瓶颈。

2.2 collectd架构图

云监控----zabbix&collectd|云技术实名群分享实录_java_02


三、Zabbix与collectd结合


Zabbix的监控项和监控展示都很丰富而且准确,但不足之处就是zabbix监控虚拟机时需要在虚拟机里安装代理zabbix-agent,否则就无法监控虚拟机,这样一来,zabbix-agent作为一个普通进程跑在虚拟机上是不安全的(比如用户故意给停啦,是不是虚拟机的一些数据就监控不到啦),其次,想虚拟机里安装代理,可能会导致虚拟机的监控数据不准确。


Collectd可以不用向虚拟机里安装任何东西就能监控虚拟机的数据,特别是内存使用情况,之所以要将zabbix与collectd进行结合,主要是zabbix不能对虚拟机的内存进行监控,但collectd可以,而且collectd是直接运行在底层的,不用向虚拟机里安装任何东西,就可以将虚拟机的内存数据收集起来。但这要做数据装换,就是从collectd存监控数据的.rrd文件中将数据提取出来转存到zabbix相关表单里面。