服务器名称 | IP地址 |
---|---|
zabbix-server | 192.168.58.155 |
zabbix-agent | 192.168.58.143 |
注意:
部署开始之前要先做以下操作:
关闭防火墙
关闭selinux
保证yum仓库可用
保证网络可用
1)安装zabbix仓库
安装完以后会在/etc/yum.repo.d/下看到zabbix.repo仓库
[root@zabbix-server ~]# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
2)安装zabbix-server
[root@zabbix-server ~]# yum install zabbix-server-mysql zabbix-agent
zabbix-server-mysql数据库是用来存放采集到的数据的
3)安装zabbix前端依赖的仓库
[root@zabbix-server ~]# yum -y install centos-release-scl
4)编辑文件/etc/yum.repos.d/zabbix.repo并启用zabbix-frontend存储库。
[root@zabbix-server ~]# vim /etc/yum.repos.d/zabbix.repo
要使用zabbix-frontend仓库,需要centos-release-scl提供插件,故上一步先行安装了centos-release-scl仓库
5)安装zabbix前端包
[root@zabbix-server ~]# yum -y install zabbix-web-mysql-scl zabbix-apache-conf-scl
zabbix-web-mysql的作用是Zabbix的web端会通过这些数据,来展示绘图。
6)安装数据库
[root@zabbix-server ~]# rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
7)修改数据库版本,禁用8.0启用5.7版本
方法一:
安装yum-utils工具,用shell命令直接修改版本
[root@zabbix-server ~]# yum -y install yum-utils
[root@zabbix-server ~]# yum-config-manager --disable mysql80-community
[root@zabbix-server ~]# yum-config-manager --enable mysql57-community
方法二:
修改/etc/yum.repo.d/下的mysql-community.repo文件
8)安装数据库
[root@zabbix-server ~]# yum -y install mysql mysql-server
在这里报错了,报错内容如下:
warning: /var/cache/yum/x86_64/7/mysql57-community/packages/mysql-community-libs-compat-5.7.38-1.el7.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 3a79bd29: NOKEY
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
The GPG keys listed for the "MySQL 5.7 Community Server" repository are already installed but they are not correct for this package.
Check that the correct key URLs are configured for this repository.
Failing package is: mysql-community-libs-compat-5.7.38-1.el7.x86_64
GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
解决措施:
只需在安装命令中加上- -nogpgcheck参数即可解决
[root@zabbix-server ~]# yum -y install mysql mysql-server --nogpgcheck
9)启动数据库
[root@zabbix-server ~]# systemctl start mysqld
10)修改数据库密码
[root@zabbix-server ~]# cat /var/log/mysqld.log | grep temporary
[root@zabbix-server ~]# mysqladmin -uroot -p'WUeqZ62iGi=j' password 'Zhang@123'
11)创建数据库zabbix,并设置字符集为utf-8
[root@zabbix-server ~]# mysql -u root -pZhang@123
mysql> create database zabbix character set utf8 collate utf8_bin;
12)授权账户访问zabbix库
mysql> grant all on zabbix.* to zabbix@'localhost' identified by '123456'
13)数据库导入zabbix
[root@zabbix-server ~]# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
这里的-u后跟的mysql授权的用户,-p后的zabbix不是密码,而是要导入的数据库的名字,最后输入的密码是授权用户的密码,需与第12步对照
14)修改前端php时区
编辑文件/etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf,取消注释并为您设置正确的时区。
[root@zabbix-server ~]# vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
15)为zabbix服务器配置数据库密码
编辑文件/etc/zabbix/zabbix_server.conf
16)启动zabbix
[root@zabbix-server ~]# systemctl start zabbix-server zabbix-agent httpd rh-php72-php-fpm
[root@zabbix-server ~]# systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
#开机自启
17)浏览器访问
http://ip地址/zabbix
一直下一步,之后填写数据库信息,最后填写用户名和密码登录即可。
用户名默认是:Admin 密码:zabbix 这里的用户名和密码区分大小写。最终界面为:
1)安装zabbix的yum源
[root@zabbix-agent ~]# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
2)安装zabbix-agent
[root@zabbix-agent ~]# yum -y install zabbix-agent
3)修改配置文件/etc/zabbix/zabbix_agentd.conf
[root@zabbix-agent ~]# vim /etc/zabbix/zabbix_agentd.conf
找到对应参数,进行以下修改:
Server=192.168.58.155 //这里的ip是zabbix-server的
ServerActive=192.168.58.155 //这里的ip是zabbix-server的
Hostname=zabbix-server //主机名,自定义
UnsafeUserParameters=1 //是否限制用户自定义 keys 使用特殊字符 1是可以启用特殊字符 0是不可以启用特殊字符
[root@zabbix-agent ~]# systemctl start zabbix-agent
利用zabbix-server监控管理zabbix-agent
监控案例:网站访问延迟(访问一个网站所需要的时间称为访问延迟,如果打开网站时间较长会影响用户的使用体验),此案例的前提是要保证被监控端有运行着的网站,这里在zabbix-agent端安装部署nginx作为网站服务
● zabbix-agent端安装部署nginx作为网站服务
1、安装nginx
[root@zabbix-agent ~]# yum -y install nginx
2、创建简单网站
[root@zabbix-agent ~]# rm -rf /etc/nginx/nginx.conf
[root@zabbix-agent ~]# cp /etc/nginx/nginx.conf.default /etc/nginx/nginx.conf
[root@zabbix-agent ~]# echo "zhangyu" > /usr/share/nginx/html/index.html
3、启动nginx
[root@zabbix-agent ~]# systemctl start nginx
● zabbix-server的web界面中作如下操作:
实现监控zabbix-agent,首先需要在zabbix-server的web界面中创建主机来关联被监控端zabbix-agent
2、创建主机
主机名称:自定义
群组:选择需要的主机群组,主机群组的存在是有效帮助管理主机的,这里选择刚才创建的主机群主
IP地址:填写被监控端的IP地址,这里填的是第一部分中部署的zabbix-agent的IP地址
3、配置监控项
在刚才创建的主机中创建监控项
名称:自定义
键值:选择web.page.perf[host,
信息类型:浮点型
host:192.168.58.143 //zabbix-agent的ip地址
path:index.html
port:80
4、创建图形
去查看监控图形
最后看到这个图说明图形创建成功,可以实时监控
5、创建触发器
在监控的主机中创建触发器
名称:自定义
严重性:自定义选择
表达式:见下图
注意:修改的触发器的值为0.0000003
为了测试报警功能故意将值设置的很小,当网站访问延迟时间超过此值将产生警报
注意:默认监控模板有很多,可以通过查看官方文档了解监控模板的功能,参数,了解模板如何使用,官方文档链接为:
https://www.zabbix.com/documentation/5.0/zh/manual/config/items/itemtypes/zabbix_agent
使用zabbix自带的监控模板,需要按照官方手册要求使用,其中<>里面的是可选参数,不设置采用默认参数,默认参数由官方统一定义;
例如:
net.if.in[ens33]这里没有使用