在当今的数字化时代,网络和服务器的健康状况对于企业的正常运营至关重要。为了及时发现和解决潜在的问题,许多企业选择使用网络监控工具来追踪服务器的性能和网络参数。其中,Zabbix是一个功能强大且开源的网络监控工具,被广泛应用于各种规模的企业和组织中。本文将介绍如何使用Zabbix来实现高效的网络监控。
1.zabbix监控架构
zabbix的监控架构在实际监控架构中,zabbix根据网络环境、监控规模等 分了如下两种架构: server-client 、server-proxy-client 。
1、server-client架构也是zabbix的最简单的架构,监控机和被监控机之间不经过任何代理 ,直接由zabbix server和zabbix agentd之间进行数据交互。适用于网络比较简单,设备比较少的监控环境 。
2、server-proxy-client架构其中proxy是server、client之间沟通的一个桥梁,proxy本身没有前端,而且其本身并不存放数据,只是将agentd发来的数据暂时存放,而后再提交给server 。一般适用于跨机房、跨网络的中型网络架构的监控
普通监控
分布式监控
2.zabbix的优缺点
优点
1.开源,无软件成本投入,支持二次开发,接口丰富。
2.Server 对设备性能要求低,支持proxy分布式监控集中管理,有自动发现功能。
3.基于web界面的管理方式,自带多种监控模板
4.支持主被动监控模式:当监控的 item 比较多服务器队列比较大时可以采用主动监控模式,(站在agent角度)被监控客户端主动从server 端去下载需要监控的item 然后取数据上传到 server 端。这种方式对服务器的负载比较小。
缺点
需在被监控主机上安装 agent,所有数据都存在数据库里, 产生的数据很大,瓶颈主要在数据库。
说了这么多关于zabbix的理论知识,接下来我们就开始搭建zabbix监控系统平台吧
3.zabbix企业监控系统搭建
(1).环境准备
centos7.5 系统服务器3台、 一台作为监控服务器, 两台台作为被监控节点, 配置好yum源、 防火墙关闭、 各节点时钟服务同步
systemctl stop firewalld
systemctl disabled firewalld #关闭防火墙
setenforing 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
#关闭selinux
(2).项目架构
机器名称 | IP配置 | 服务角色 | 备注 |
server | 192.168.91.5 | zabbix-server | 开启监控功能 |
node1 | 192.168.91.149 | zabbix-node-1 | 被监控 |
node2 | 192.168.91.150 | zabbix-node-2 | 被监控 |
(3).搭建zabbix-server
下载zabbix源
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
yum clean all
yum repolist
安装zabbix-server
yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent -y
yum install -y zabbix-get.x86_64 #安装zabbix命令工具
安装数据库
yum install -y mariadb mariadb-server
systemctl start mariadb
systemctl enable mariadb
创建数据库并授权账号
[root@zabbix-server ~]# mysql -uroot -p'zabbix'
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin; # 创建zabbix数据库
MriaDB [(none)]> grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix'; # 注意授权网段
MariaDB [(none)]> flush privileges; # 刷新授权
导入数据
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p'zabbix' zabbix
配置zabbix-server端
cp /etc/zabbix/zabbix_server.conf /etc/zabbix/zabbix_server.conf.bak
vim /etc/zabbix/zabbix/zabbix_server.conf
DBHost=localhost #数据库对外的主机
DBName=zabbix #数据库名称
DBUser=zabbix #数据库用户
DBPassword=zabbix #数据库密码
systemctl start zabbix-server
systemctl enable zabbix-server #启动zabbix
查看端口
如果查到的端口没有开启,我们就要去检查一下配置文件有没有出问题了。
配置web GUL
vim /etc/yum.repos.d/zabbix.repo
[zabbix-frontend]
...
enabled=1
gpgcheck=0
...
yum install centos-release-scl -y
yum install zabbix-web-mysql-scl zabbix-apache-conf-scl -y
vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf #设置时区
php_value[date.timezone] = Asia/Shanghai
启动http服务
systemctl start zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
查看端口
我们使用浏览器访问192.168.91.5/zabbix
,第一次访问时需要进行一些初始化的设置,我们按照提示操作即可:
看到上面的界面我们zabbix监控系统的server平台就搭建成功了,接下来我们就可以配置agent端了
(4). 搭建zabbix-agent
安装zabbix
mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.bak
rpm -Uvh http://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
yum install zabbix-agent zabbix-sender -y
修改配置文件
cd /etc/zabbix/
cp zabbix_agentd.conf{,.bak}
vim zabbix_agentd.conf
Server=192.168.246.228 #zabbix服务器的地址
ServerActive=192.168.246.228 #主动模式 zabbix-server-ip
Hostname=zabbix-node1
UnsafeUserParameters=1 #是否限制用户自定义 keys 使用特殊字符 1是可以启用特殊字符 0是不可以启用特殊字符
启动服务
systemctl start zabbix-agent
systemctl enable zabbix-agent
查看端口
看到端口起来了,说明我们的服务就配置成功,监控过程详解我们下次再继续了解