一、什么是zabbix;zabbix可以干什么的;为什么我们要使用zabbix。
-
什么是zabbix:zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix由2部分构成,zabbix server与可选组件zabbix agent。zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。
-
zabbix可以干什么:zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
-
我们为什么要使用zabbix:对于运维人员来说,监控是非常重要的,因为如果想要保证公司的线上业务整体能够稳定运行,那么我们则需要实时关注与其相关的各项指标是否正常,而一个业务系统的背后,往往存在着很多的服务器、网络设备等硬件资源,如果我们想要能够更加方便的、集中的监控他们,我们则需要依靠一些外部的工具,而zabbix就是一个被广泛使用的,可以实现集中监控管理的应用程序。我们监控的初衷就是当某些指标不符合我们的需求时,我们能够在第一时间发现异常,所以,监控工具需要定期的对被监控主机进行检查、信息收集等操作,当被监控主机出现异常时,能够及时报警、通知管理员,并且需要记录这些异常,以便我们分析这些数据,查漏补缺,那么,一个监控工具就应该具备采集信息、存储信息、展示信息、报警通知等功能,而zabbix就可以做到这些。
二、zabbix的构成
zabbix主要由是5个组件构成:
1、Server
zabbix server是zabbix的核心组件,server内部存储了所有的配置信息、统计信息和操作信息。zabbix agent会向zabbix server报告可用性、完整性及其他统计信息。
2、web页面
web页面也是zabbix的一部分,通常和zabbix server位于一台物理设备上,但是在特殊情况下也可以分开配置。web页面主要提供了直观的监控信息,以方便运维人员监控管理。
3、数据库
zabbix数据库内存储了配置信息、统计信息等zabbix的相关内容。
4、proxy
zabbix proxy可以根据具体生产环境进行采用或者放弃。如果使用了zabbix proxy,则其会替代zabbix server采集数据信息,可以很好的分担zabbix server的负载。zabbix proxy通常运用与架构过大、zabbix server负载过重,或者是企业设备跨机房、跨网段、zabbix server无法与zabbix agent直接通信的场景。
5、Agent
zabbix agent通常部署在被监控目标上,用于主动监控本地资源和应用程序,并将监控的数据发送给zabbix server。
三、搭建一个zabbix监控服务
- 本次我们采用VMware虚拟机进行实验实验环境为。
主机名 |
系统 |
配置 |
zabbix-server IP地址:192.168.200.100 |
centos7 |
4G+40G;双核 |
zabbix-agent IP地址:192.168.200.200 |
centos7 |
2G+20G; 双核 |
-
选择你所需要下载的zabbix版本与选择其他组件下载地址为https://www.zabbix.com/cn/download本次实验选择zabbix5.0其他配置如图所示:
-
Install Zabbix repository安装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
4. 安装Zabbix server,Web前端,agent
yum install zabbix-server-mysql zabbix-agent -y
5. Install Zabbix frontend安装zabbix前端
yum install centos-release-scl -y
6.修改zabbix的repo库文件将enabled都改为1
7. 安装zabbix前端包
yum install zabbix-web-mysql-scl zabbix-apache-conf-scl
8创建并初始化数据库
安装数据库yum install mariadb mariadb-server -y
systemctl start mariadb
# mysql -uroot -p#没有设置密码直接回车
password
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user zabbix@localhost identified by 'password';(密码可以换成自己想要设置的密码)
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> quit;
systemctl enabled mariadb
导入初始架构和数据,系统将提示您输入新创建的密码。
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
9为Zabbix server配置数据库。编辑配置文件 /etc/zabbix/zabbix_server.conf
password更改为你刚才设置的密码wq保存退出。
10为Zabbix前端配置PHP。编辑配置文件 /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
更改时区为亚洲上海(注意大写)
11启动Zabbix server和agent进程
注意:在重启动时修改/etc/selinux/conf为disabled如果没有修改可能导致server服务启动失败。
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
12登录网页进行配置。建议关闭防火墙服务
systemctl stop firewalld
点击Next Stop
password使用你在数据库时设置的密码,端口默认即可
我们在这里可以给你的zabbix取一个名字然后一直默认下一步
Finsh后即可登录你的管理界面密码默认为用户:Admin 密码:zabbix
进入zabbix的dashboard页面我们可以更改语言为中文,让我们可以更好的来使用选择左下角的user setting将语言更改为中文并update
到这里我们的zabbix-server端基本搭建完毕我们可以在监控选项中查看一些目前的监控项,zabbix为用户提供了大量的模板,我们可以根据不同的需求与设备来选择不同的模板。
但是我们发现了一个问题我们的界面出现了中文乱码的现象,这个问题我们在下一篇文章中解决,我们继续搭建我们的被控主机zabbix-agent
四、下载zabbix-agent端包,我们可以在官网地址下载也可以自己去他的仓库地址下载http://repo.zabbix.com/zabbix/5.0/rhel/仓库地址如下安装版本根据你的zabbix而定。我们直接使用官网提示下载。
1获取zabbix的仓库
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
2安装zabbix-agent
yum install zabbix-agent -y
3修改zabbix-agent的配置文件
vi /etc/zabbix/zabbix_agentd.conf
4启动zabbix-agent端
systemctl restart zabbix-agent
systemctl enable zabbix-agent
五、添加被控主机
1回到zabbix-server dashboard页面选择配置》主机》创建主机
2添加主机
3选择模板单击zabbix-agent名字选择模板应用更新(模板是可以导入的也可以根据实际需要监控项编写模板导入)
当下方的图标变绿则当前被控主机成功被监控