一、zabbix介绍及工作原理
1.1 zabbix介绍
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix由2部分构成,zabbix server与可选组件zabbix agent。
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。
zabbix Server:Zabbix Server为核心组件,用来获取agent存活状况及监控数据。所有的配置、统计、操作数据均通过Server进行存取到database。
zabbix database:所有的Zabbix数据均存储在数据库中。
Web GUI:为了更简单的无障碍的访问Zabbix, 所以提供了web接口。该接口作为Zabbix Server的一部分,通常和server运行在同一台主机上。
Agent:Zabbix agents 部署在目标监控机上并监控本地资源和应用,将收集数据汇报给Zabbix Server。
1.2 工作原理
一个监控系统运行的流程大概是这样的:
Zabbix agent需要安装到被监控的主机上,它负责定期收集各项数据,并发送到zabbix server端,zabbix server将数据存储到数据库中,zabbix web根据数据在前端进行展现和绘图。这里agent收集数据分为主动和被动两种模式:
主动:agent请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy。
被动:server向agent请求获取监控项的数据,agent返回数据。
二、zabbix部署先决条件
2.1 网络要求
zabbix Server必须要可以访问zabbix Agent的10050端口。
zabbix Agent必须要可以访问zabbix Server的10051端口。
若要使用zabbix通过jvm监控weblogic,需要zabbix Server可以访问到weblogic在setDomainEnv.sh中配置的管理端口。
2.2 zabbix Server部署主机要求
操作系统:Centos6.5以上版本、Redhat6.8以上版本。
硬件要求:4核及以上的CPU,4G及以上的内存,200G及以上的硬盘空间。
其他要求:必须要可以使用yum源,可以正常使用yum安装组件。
2.3 zabbix Agent部署主机要求
由于zabbix Agent是需要安装在生产的服务器上面的,故zabbix对zabbix Agent的部署主机没有特别要求。
三、zabbix Server安装
3.1 组件版本
Nginx/1.14.1
Mysql/5.6
Php/5.6
Zabbix/4.0.4
3.2 组件安装位置
Nginx: /usr/local/nginx
Mysql: /usr/local/mysql
Php:/usr/local/php
Zabbix:/usr/local/zabbix
说明:以下步骤的操作均在root用户执行
A:将zabbix安装包(zabbix_server-v1.3.tar.gz)上传至服务器的/tmp目录下。
B:解压zabbix_server-v1.3.tar.gz(cd /tmp/ && tar -zxvf zabbix_server-v1.3.tar.gz)
C:进入zabbix目录,并执行zabbix Server自动化安装脚本(cd /tmp/zabbix && ./install_zabbix_server.sh)
说明:install_zabbix_server.sh自动化安装脚本将会自动安装nginx、mysql、php、zabbix、创建zabbix站点、创建phpMyAdmin站点、向mysql导入数据、创建minstone自定义监控模板、配置邮件报警动作和媒介。如果不先将zabbix所需的数据导入mysql数据库,那么zabbix_server是无法启动的。
D:启动zabbix_server和zabbix_java
/usr/local/zabbix/sbin/zabbix_server
/usr/local/zabbix/sbin/zabbix_java/startup.sh
E:查看zabbix进程(ps -ef | grep zabbix | grep -v grep)
F:在防火墙中开放10051端口。
说明:如果服务器有启动防火墙,需要在防火墙中开放10051端口,若没有启动启动防火墙,这则跳过开步骤。
Centos7以上版本:
firewall-cmd --zone=public --add-port=10051/tcp --permanent
firewall-cmd --reload
Centos7以下版本或redhat系列:
/sbin/iptables -I INPUT -p tcp --dport 10051 -j ACCEPT
/etc/init.d/iptables save
service iptables restart
G:在网页端配置zabbix Server
在浏览器打开http://服务器IP/zabbix,如http://192.168.0.101/zabbix
至此,zabbix Server就安装完成了。
说明:如果无法在浏览器打开,请检查与服务器的网络连通性。可能是系统防火墙的没有开放80端口。
Centos7以上版本:
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
Centos7以下版本或redhat系列:
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
/etc/init.d/iptables save
service iptables restart
---------------------------------------------------------------------------------------------------
3.4 zabbix Server的启动与停止
Zabbix Server启动:/usr/local/zabbix/sbin/zabbix_server
Zabbix Server停止:ps -ef | grep /usr/local/zabbix/sbin/zabbix_server | grep -v grep | awk '{print $2}' | xargs kill -9
3.5 zabbix_java的启动与停止
Zabbix_java启动:/usr/local/zabbix/sbin/zabbix_java/startup.sh
Zabbix_java停止:ps -ef | grep zabbix-java-gateway-4.0.4.jar | grep -v grep | awk '{print $2}' | xargs kill -9
----------------------------------------------------------------------------------------------------------------------------------------------
3.6 nginx、php、mysql启动与停止
nginx启动:/usr/local/nginx/sbin/nginx
nginx停止:/usr/local/nginx/sbin/nginx -s stop
php启动:/usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini
php停止:ps -ef | grep php-fpm | grep -v grep | awk '{print $2}' | xargs kill -9
mysql启动:service mysqld start
mysql停止:service mysqld stop
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Zabbix/4.0.4
Zabbix:/usr/local/zabbix
4.3 在linux下的安装步骤
说明:以下步骤的操作均在root用户执行
将zabbix安装包(zabbix_agent-v1.0.tar.gz)上传至服务器的/tmp目录下。
解压zabbix_agent-v1.0.tar.gz(cd /tmp/ && tar -zxvf zabbix_agent-v1.0.tar.gz)
进入zabbix目录,并执行zabbix Agent自动化安装脚本。
cd /tmp/zabbix && ./install_agent_server.sh
说明:install_agent_server.sh自动化安装脚本将会自动安装zabbix Agent的依赖模块和装zabbix Agent
修改zabbix Agent的配置文件zabbix_agentd.conf
vi /usr/local/zabbix/etc/zabbix_agentd.conf
写入以下内容
PidFile=/usr/local/zabbix/zabbix_agentd.pid
LogFile=/usr/local/zabbix/zabbix_agentd.log
ServerActive=zabbix Server的IP地址
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf
启动zabbix Agent
su - zabbix -c "/usr/local/zabbix/sbin/zabbix_agentd"
查看zabbix进程。
ps -ef | grep zabbix | grep -v grep
在防火墙中开放10050端口。
说明:如果服务器有启动防火墙,需要在防火墙中开放10050端口,若没有启动启动防火墙,这则跳过开步骤。
Centos7以上版本:
firewall-cmd --zone=public --add-port=10050/tcp --permanent
firewall-cmd --reload
Centos7以下版本或redhat系列:
/sbin/iptables -I INPUT -p tcp --dport 10050 -j ACCEPT
/etc/init.d/iptables save
service iptables restart
4.4在windows下的安装步骤
说明:以下步骤的操作均在Administrator系统管理员下操作。
将zabbix安装包(zabbix_agents-4.0.4-win-amd64-openssl.zip)上传至服务器的桌面下。
解压zabbix_agents-4.0.4-win-amd64-openssl.zip
将解压后得到的zabbix_agents目录剪切到C盘下。
修改zabbix Agent的配置文件zabbix_agentd.win.conf
路径:C:\zabbix_agent\conf\zabbix_agentd.win.conf
写入以下内容
LogFile=C:\zabbix_agent\zabbix_agentd.log
Server=zabbix Server的IP地址
ServerActive=zabbix Server的IP地址
Hostname=本机的IP地址
将zabbix Agent注册成为系统服务。
打开cmd窗口,执行以下命令。
cd C:\zabbix_agent\bin
zabbix_agentd.exe --config "C:\zabbix_agent\conf\zabbix_agentd.win.conf" --install
说明:必须使用Administrator系统管理员打开的cmd,不然将无法正常注册服务。
启动zabbix Agent
打开cmd窗口,执行以下命令,打开服务器窗口,找到Zabbix Agent服务项,点击启动-services.msc
在防火墙中开放10050端口。
说明:如果服务器有启动防火墙,需要在防火墙中开放10050端口,若没有启动启动防火墙,这则跳过开步骤。
4.5将zabbix Agent添加到zabbix Server
在浏览器打开http:// zabbix Server服务器IP/zabbix,点击配置->主机。
点击创建主机
在主机名称、可见的名称填入zabbix Agent的IP地址-port(默认为:10050)。
在群组点击选择,然后选择minstone群组。
在agent代理程序接口IP地址填入zabbix Agent的IP地址。
在agent代理程序接口端口填入zabbix Agent的端口(默认为:10050)。
填写完成之后点击模板。
在链接指示器项,点击选择。
最后在点击添加。
查看添加进来的主机
至此,zabbix Agent就安装完成了。
说明:若可用项的ZBX变成红色,说明主机没有成功添加进来,请检查
zabbix Server是否可以访问到zabbix Agent的10050端口
zabbix Agent是否可以访问到zabbix Server的10051端口
zabbix Agent的配置是否正确
4.6 zabbix Agent在linux下的启动与停止
Zabbix Agent启动:su - zabbix -c "/usr/local/zabbix/sbin/zabbix_agentd"
Zabbix Agent停止:ps -ef | grep /usr/local/zabbix/sbin/zabbix_agentd | grep -v grep | awk '{print $2}' | xargs kill -9
4.7 zabbix Agent在windows下的启动与停止
打开cmd窗口,执行以下命令,打开服务器窗口,找到Zabbix Agent服务项。
services.msc
Zabbix Agent启动: