要想实时的了解服务器的运行情况而且能在出现问题时及时解决,利用监控软件是一个很好的选择,而zabbix监控系统则在众多监控软件中脱颖而出。php
zabbix是一个基于web界面的企业级开源监控软件,Zabbix服务器须要LAMP环境或LNMP环境,提供分布式系统监控与网络监视功能。具有主机的性能监控,网络设备性能监控,数据库性能监控,多种告警方式,详细报表、图表的绘制等功能。监测对象能够是Linux或Windows服务器,也能够是路由器、交换机等网络设备,经过SNMP、zabbix Agent、PING、端口监视等方法提供对远程网络服务器等监控、数据收集等功能。前端
1、zabbix监控架构:node
在生产环境中,zabbix根据网络环境、监控规模等外界因素分为三种架构:server-client(直接链接)、master-node-client(Node架构)、server-proxy-client(proxy架构),以下图所示:
一、server-client架构:mysql
server-client架构是zabbix最简单的架构,监控机和被监控机之间不通过任何代理,直接在zabbix server(监控服务器) 和zabbix agent(agent:部署在被监控端,用于采集数据)之间进行数据交互,适用于网络比较简单,设备较少的监控环境。linux
二、master-node-client架构:web
master-node-client架构是zabbix最复杂的监控架构,适用于跨网络、跨机房、设备较多的大型环境。每一个node同时也是一个server端,node下面能够接proxy,也能够直接接client。node有本身的配置文件和数据库,其要作的就是将配置信息和监控数据向master同步。当master宕机后,node能够保证架构的完整性。sql
三、server-proxy-client架构:数据库
proxy是server、client之间沟通的一个桥梁,proxy自己没有前端,并且其自己不存放数据,只是将agentd发来的数据暂时存放,然后再提交给server。该架构常常是和master-node-client架构作比较的架构,通常适用于跨机房、跨网络的中型网络架构的监控。
2、搭建Zabbix监控服务器:
两种server-client架构的配置方法:
一、配置本地yum仓库,进行安装(服务器无需链接到Internet);
二、直接把互联网作yum仓库,进而安装,zabbix的官方文档就是采用这种方式;
zabbix4.2 相关配置文档: https://www.zabbix.com/documentation/4.2/manual/it_services
安装zabbix服务器方法一:使用本地yum搭建Zabbix3.4
准备工做:
一、下载zabbix所需的yum源:
https://pan.baidu.com/s/1O5hJ0O2OcKpeBOlzDfcGQQ
提取码: buqc
zabbix客户端软件包,包含Windows和Linux的客户端程序,还有网页所需字体
https://pan.baidu.com/s/1UC9lrc0QDUdGEO5NVa1kQQ
提取码: vprm
二、配置防火墙放行流量,这里为了方便,直接给关闭了
环境以下:(这里很差意思哈,由于特殊状况,实验环境有所不一样,固然只是IP变了,如要跟作的话注意一下便可)
开始搭建zabbix服务器:vim
[root@zabbix /]# vim /etc/yum.repos.d/a.repo # 编写yum本地仓库 [zabbix] baseurl=file:///media gpgcheck=0 [root@zabbix /]# mount /dev/sr0 /media/ # 挂载zabbix yum源到本机 [root@zabbix /]# yum -y install mariadb-server mariadb # 因为zabbix须要LAMP或LNMP环境,因此安装一个MySQL,也叫mariadb,我相信诸位大佬也明白啥意思 [root@zabbix /]# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent # 安装zabbix时会有不少依赖包,其中就包括httpd和php相关软件包,因此直接安装zabbix便可,无需单独再安装httpd和php [root@zabbix /]# mysql -u root -p Enter password: # 输入密码 MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin; # 建立zabbix的数据库,指定为utf-8 Query OK, 1 row affected (0.00 sec) MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by '123123'; # 建立zabbix用户,并给予全部权 Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> exit Bye [root@zabbix /]# zcat /usr/share/doc/zabbix-server-mysql-3.4.1/create.sql.gz | mysql -uzabbix -p zabbix Enter password: # 输入zabbix用户的密码 # 导入数据库SQL脚本到zabbix数据库 [root@zabbix /]# cp /etc/zabbix/zabbix_server.conf /etc/zabbix/zabbix_server.conf.bak # 将主配置文件备份一份,以避免改错 [root@zabbix /]# vim /etc/zabbix/zabbix_server.conf # 修改以下几项 .............. // 省略部份内容 DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=123123
编辑zabbix agent的配置文件,必须指定zabbix server的IP地址,在每台安装了agent的主机上都要配置。这里要指定zabbix服务器的IP地址,如今是在同一台服务器上,因此能够不作修改:windows
[root@zabbix /]# cp /etc/zabbix/zabbix_agentd.conf /etc/zabbix/zabbix_agentd.conf.bak [root@zabbix /]# vim /etc/zabbix/zabbix_agentd.conf Server=127.0.0.1 // 客户端被动等待指定服务器来查询数据 ServerActive=127.0.0.1 // 客户端主动提交数据到指定的服务器 Hostname=linux-server001 // 修改主机名,配置规范
配置 zabbix web接口:
[root@zabbix /]# vim /etc/httpd/conf.d/zabbix.conf # 设置时区与当前系统时区一致 ..................... // 省略部分 php_value date.timezone Asia/Shanghai [root@zabbix /]# systemctl start zabbix-server # 启动服务 [root@zabbix /]# systemctl enable zabbix-server #开机自启 [root@zabbix /]# systemctl start zabbix-agent [root@zabbix /]# systemctl enable zabbix-agent [root@zabbix /]# systemctl start httpd # 启动相关服务使配置生效
安装 zabbix后,当显示语言为中文时,可能会出现中文乱码的状况,主要是字体致使的问题,若是要解决,须要下载合适的字体,并将其上传到zabbix服务器上
[root@zabbix media]# cp simkai.ttf /usr/share/zabbix/fonts/ # 将字体文件复制到zabbix的字体库 [root@zabbix media]# ls /usr/share/zabbix/fonts/ graphfont.ttf simkai.ttf [root@zabbix media]# vim /usr/share/zabbix/include/defines.inc.php # 修改PHP界面指定的字体文件 .................... // 省略部份内容 define('ZBX_GRAPH_FONT_NAME', 'simkai'); // font file name
使用浏览器配置zabbix:
如图下所示,为zabbix首页,默认是英文的:
能够经过以下操做修改成中文:
修改完毕后,刷新一下界面,便可修改成中文
zabbix 添加被监控设备:
配置交换机:
R1#conf t sw1(config)#int vlan 1 sw1(config-if)#ip address 192.168.1.40 255.255.255.0 sw1(config-if)#no shutdown sw1(config-if)#exit sw1(config)#no ip routing sw1(config)#snmp-server community centos RO // 设置被服务器轮询的只读共同体 sw1(config)#snmp-server enable traps // 容许发送trap消息 % Cannot enable both sham-link state-change interface traps. % New sham link interface trap not enabled. sw1(config)#snmp-server host 192.168.1.20 centos // 设置发送trap消息的共同体
路由器的配置和交换机基本类似,只不过路由器配置IP须要在接口上面配置
Linux 服务器配置:
[root@localhost media]# rpm -ivh zabbix-agent-3.2.6-1.el7.x86_64.rpm [root@localhost /]# cp /etc/zabbix/zabbix_agentd.conf /etc/zabbix/zabbix_agentd.conf.bak # 备份文件以避免该错 [root@localhost /]# vim /etc/zabbix/zabbix_agentd.conf # 编辑配置文件 ................ Server=192.168.1.20 ServerActive=192.168.1.20 Hostname=linux-server002 [root@localhost /]# systemctl start zabbix-agent.service # 启动服务 [root@localhost /]# systemctl enable zabbix-agent.service [root@localhost /]# netstat -anpt | grep agent # 确认端口已经启动 tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 4114/zabbix_agentd tcp6 0 0 :::10050 :::* LISTEN 4114/zabbix_agentd
Windows 服务器配置:
将下载的agent代理软件包解压后,会看到下面这两个文件,其中“bin”目录中有两个子目录,“win32”和“win64”,分别对应不一样的系统版本,根据本身系统的版原本看本身所须要的:
复制出来就是以下图所示的几个文件,修改zabbix_agentd.win.conf 文件:
修改以下三项:
Server=192.168.1.20 ServerActive=192.168.1.20 Hostname=windows-server001
使用cmd命令进行安装启动 agent(经常使用的参数有-c:指定配置文件;-i:安装;-s:启动;-x:中止;-d:卸载):
c:\zabbix>zabbix_agentd.exe -c zabbix_agentd.win.conf -i zabbix_agentd.exe [2576]: service [Zabbix Agent] installed successfully zabbix_agentd.exe [2576]: event source [Zabbix Agent] installed successfully c:\zabbix>zabbix_agentd.exe -c zabbix_agentd.win.conf -s zabbix_agentd.exe [2300]: service [Zabbix Agent] started successfully
配置zabbix web端,添加被监控设备:
添加交换机:
添加Linux服务器:
添加Windows 服务器:
当全部监控主机链接成功后以下图所示:
安装zabbix服务器方法二:使用Internet做为yum源,搭建zabbix 4.2版本:
一、配置前准备:
一、配置zabbix服务器可链接Internet;
二、系统自带的/etc/yum.repo/ 目录下的文件必需要有。
二、开始搭建:
[root@zabbix ~]# rpm -ivh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-1.el7.noarch.rpm #安装存储库配置包 [root@zabbix ~]# yum-config-manager --enable rhel-7-server-optional-rpms #启用可选rpms的存储库 [root@zabbix ~]# yum -y install mariadb-server mariadb #安装mariadb数据库 [root@zabbix ~]# systemctl start mariadb #启动数据库 [root@zabbix ~]# systemctl enable mariadb #设置为开机自启动 [root@zabbix ~]# mysqladmin -u root password "pwd123" #设置数据库root用户密码 [root@zabbix ~]# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent #安装zabbix服务器及agent代理,若要使用代理,能够把zabbix-proxy-mysql也yum安装上 [root@zabbix ~]# mysql -u root -ppwd123 #登陆数据库 MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin; #建立数据库 MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'pwd456'; #建立zabbix服务链接数据库的用户,并设置密码。 MariaDB [(none)]> exit #退出数据库 [root@zabbix ~]# zcat /usr/share/doc/zabbix-server-mysql-4.2.4/create.sql.gz | mysql -uzabbix -p zabbix #导入数据库SQL脚本 Enter password: #输入数据库用户zabbix密码 [root@zabbix ~]# vim /etc/zabbix/zabbix_server.conf #编辑zabbix服务端配置文件 #注意删除注释符号 DBHost=localhost #去掉注释符号 DBName=zabbix #数据库名称,根据实际修改,默认不用修改 DBUser=zabbix #数据库用户名,默认不用修改 DBPassword=pwd456 #数据库密码,修改此行 #修改完毕保存,保存退出便可。
接下来编辑zabbix agent的配置文件,必须指定zabbix server的IP地址,在每台安装了agent的主机上都要配置。这里要指定zabbix服务器的IP地址,如今是在同一台服务器上,因此能够不作修改:
[root@zabbix ~]# vim /etc/zabbix/zabbix_agentd.conf #编辑agentd配置文件 #编辑此配置文件的目的是能够监控该Zabbix服务器。 Server=127.0.0.1 #客户端被动等待指定服务器来查询数据 ServerActive=127.0.0.1 #客户端主动提交数据到指定的服务器 Hostname=linux-server001 #建议修改此行,配置规范的主机名
配置zabbix web接口并启动相关服务:
[root@zabbix ~]# vim /etc/httpd/conf.d/zabbix.conf #编辑http配置文件 php_value date.timezone Asia/Shanghai #设置为上海时区,并该行删除注释符号 [root@zabbix ~]# systemctl start httpd #启动httpd服务 [root@zabbix ~]# systemctl enable httpd #设置开机自启动 [root@zabbix ~]# systemctl start zabbix-server #启动zabbix服务端 [root@zabbix ~]# systemctl enable zabbix-server #设置开机自启动 [root@zabbix ~]# systemctl start zabbix-agent #启动agent代理 [root@zabbix ~]# systemctl enable zabbix-agent #设置开机自启动
若访问web页面出现部分中文乱码的话,能够参考上面的安装方法一,有解决中文乱码的方法。