一. Zabbix的介绍 1) Zabbix是什么
Zabbix是一款基于web页面的、开源的、企业级的,支持分布式部署的监控软件。
2)2.Zabbix的作用
监控Windows和Linux主机上的软硬件状态。
监控各网络设备,如路由器、交换机、防火墙、f5、打印机等。
支持邮件短信微信等平台发送告警通知。
通过web页面及图形展示监控数据。
3)Zabbix的特性
由Zabbix server和agent程序协同工作,还支持分布式监控,这时需要安装zabbix proxy程序
Zabbix分为主动监控(agent active)和被动监控:
Zabbix主动模式:Agent主动请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy,zabbix agent首先向ServerActive配置的IP请求获取active items,获取并提交active tiems数据值server或者proxy;
Zabbix被动模式:Server向agent请求获取监控项的数据,agent返回数据,Server打开一个TCP连接,Server发送请求agent.ping,Agent接收到请求并且响应,Server处理接收到的数据。
监控手段(server或proxy通过什么方式来收集监控到的数据)常用的有:
SNMP(polling,trapping)
IPMI(监控硬件状况)
JMX(监控Java应用)
自定义监测(自定义各类监控脚本监测)
灵活的阈值设定:支持自定义问题阈值,即触发器(trigger),储存于数据库中。
高级的报警设置:自定义报警升级、接受者以及报警的方式,在配置中允许使用宏变量,可以通过远程命令来实现自动化动作。
实时图像:课通过内置的绘图方式实现监控数据绘图,并可以自定义视图等。
模板:支持模板中添加组监控,并允许继承使用。
网络自动发现及自动注册:自动发现主机、网卡设备、SNMP等
zabbix API:提供程序级别的访问接口,第三方程序可以很快接入
4)zabbix系统的组成
zabbix_server : 服务端守护进程, 负责处理zabbix_agentd、zabbix_get、zabbix_sender、zabbix_proxy提供的数据,并通过web界面呈现这些数据。
zabbix_agentd :客户端守护进程,负责收集客户端上的数据并发送给server或proxy。
zabbix_get : 服务端工具,在服务器上执行,用于手动收集客户端的监控数据,可以用于监控测试或者排错。
zabbix_sender: 客户端工具,用于发送数据给server或者proxy,通常用于耗时比较长的检查。很多检查非常耗时间,导致zabbix超时。于是我们在脚本执行完毕之后,使用sender主动提交数据;
zabbix_proxy : 类似于server,但它只是一个中转站,当跨地区,跨机房部署zabbix系统时,需要用到它,以将它收集到的数据发送给server。
5)zabbix的监控流程:Zabbix监控完整流程包括:Agentd安装在被监控的主机上,Agent负责定期收集客户端本地各项数据,并发送到Zabbix Server端,Zabbix Server收到数据,将数据存储到数据库中,用户基于Zabbix WEB可以看到数据在前端展现图像。
二. zabbix安装前准备zabbix3.2 1)zabbix安装不同硬件配置环境样例: 2)zabbix安装需要的数据库版本: 3)zabix安装需要的前端软件版本: 4)zabbix安装需要的php扩展:下面是我源码安装php的流程及编译参数:
# wget # tar -zxf mirror # cd php-5.6.31/ # ./configure --prefix=/usr/local/php5.6 --with-config-file-path=/usr/local/php5.6/etc \ --with-bz2 --with-curl --enable-ftp --enable-sockets --disable-ipv6 \ --with-gd --with-jpeg-dir=/usr/local/ --with-png-dir=/usr/local/ \ --with-freetype-dir=/usr/local/ --enable-gd-native-ttf \ --with-iconv-dir=/usr/local/ --enable-mbstring --enable-calendar \ --with-gettext --with-libxml-dir=/usr/local/ --with-zlib \ --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql=mysqlnd \ --enable-dom --enable-xml --enable-fpm --with-libdir=lib64 --enable-bcmath \ --with-mysql=/usr/local/mysql/ --with-apxs2=/usr/local/apache2/bin/apxs