Zabbix
是款开源的网络监控软件(Network Monitoring Solution:
https://www.zabbix.com/),一般用于简单测试的网络环境很少有部署网络监控的需要,主要因为测试一般不会触及网络瓶颈,另外实现分布式系统的部署确实很费功夫,很多时候我们都习惯于搜索中文资料来加快部署效率,但对于这种专业性较强的软件系统所能找到的中文资料不是语焉不详就是逻辑混乱,类似笔记的那种资料实在缺乏实用性,因此建议直接参阅官方文档(https://www.zabbix.com/documentation/3.4/manual),由此可以少走很多弯路。
Zabbix Architecture
Zabbix
是典型的C/S
网络架构,为了避免Agent
过多导致Server
负载过高的情况Zabbix
设计使用proxy
用来承担部分Agent
数据采集工作,Server
和Proxy
分别使用不同的数据库系统用于数据的存储,此外Zabbix
采用web GUI
的方式提供对Server
的控制,并且提供了Agent
、SNMP
、JMX
和IPMI
四种接口协议实现Server
与Agent
之间的通信,一般对于主机的监控采用Zabbix
自定义的Agent
方式,对网络设备比如交换机等采用SNMP
协议采集数据,在Zabbix
的架构中Proxy
是可选的,在简单的网络中往往省略Proxy
节点。
Zabbix Deploying
Operation System
Zabbix
服务端一般使用Unix/Linux
系统,本文使用Ubuntu 16.04 LTS
,之所以使用该版本Ubuntu
是因为当前网络服务器中只部署了该系统,Red Hat
类系统也是Zabbix
官方主推支持的服务平台。客户端方面Zabbix
提供了Unix
、Linux
、Windows
等主流系统平台支持。因为Ubuntu
是款较为成熟的Linux
发行版,因此各软件的部署均使用apt
工具从相应的repo
中获取安装。
chkconfig
命令已经逐渐在主流Linux
中被systemctl
替换。
service --status-all, service <service_name> restart/stop/start/status
systemctl list-unit-files, systemctl list-units, systemctl enable/disable/status/start/restart/stop <service_name>.service
1. apache2+php
apt-get install apache2
apt-get install php
apt-get install libapache2-mod-php5
apt-get install php5-mysql
由此Apache
的PHP
插件和PHP
的MySQL
库均已安装完毕,更改PHP
配置文件/etc/php/7.0/apache2/php.ini
以适应zabbix-frontend-php