目录
实验前准备
zabbix服务端:192.168.188.17
zabbix客户端:192.168.188.11
1.部署zabbix服务端
(192.168.188.17)
zabbix-server 内存至少2G,推荐4G
(1) 关闭防火墙
systemctl stop firewalld
setenforce 0
(2)获取zabbix下载源
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
(3)换源
更换zabbix.repo为阿里源,这样可以下得快一点
cd /etc/yum.repos.d
sed -i ‘s#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#’ zabbix.repo
yum clean all && yum makecache
yum install -y zabbix-server-mysql zabbix-agent
(4)安装SCL
便于安装高版本php
yum install -y centos-release-scl
修改zabbix-front前端源,安装zabbix前端环境到scl环境下
vim zabbix.repo
开启安装源

yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl
(5)安装zabbix所需的数据库
把zabbix服务端所需要的数据库结构直接下载下来
yum install -y mariadb-server mariadb
开启
systemctl start mariadb
初始化数据库,并设置密码,比如123
mysql_secure_installation

创建zabbix所需要的数据库并为zabbix用户授权
mysql -u root -p123
create DATABASE zabbix character set utf8 collate utf8_bin;
GRANT all ON zabbix.* TO ‘zabbix’@‘%’ IDENTIFIED BY ‘zabbix’;
flush privileges;
查询Zabbix数据库文件的位置

解压Zabbix自带的数据库的建库语句压缩包并导入到mariadb数据库中
zcat /usr/share/doc/zabbix-server-mysql-5.0.40/create.sql.gz | mysql -uroot -p123 zabbix
(6)修改zabbix server配置文件
vim /etc/zabbix/zabbix_server.conf
改数据库密码

修改zabbix的php配置文件
vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
改时区

(7)启动zabbix相关服务
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
(8)测试
浏览器访问:http:192.168.188.17/zabbix
点击下一步

设置数据库的密码zabbix

安装完成后点击finish然后登录,默认账号为Admin,密码为zabbix

登录后点击左侧菜单栏User settings,在Language中选择chines(zh_CN),再点击Update更新

(9)如果中文乱码怎么办?
在虚拟机上安装相应的工具
yum install -y wqy-microhei-fonts
\cp -f /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf
2. 部署zabbix客户端
(192.168.188.11)
(1)关闭防火墙
systemctl stop firewalld
setenforce 0
(2)时间同步
客户端和服务端都配置时间同步
yum -y install ntpdate
ntpdate -u ntp.aliyun.com

客户端配置时区,与服务器保持一致
mv /etc/localtime{,.bak} 这一步就是在备份
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
(3)设置zabbix的下载源,安装zabbix-agent2
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
cd /etc/yum.repos.d
sed -i ‘s#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#’ /etc/yum.repos.d/zabbix.repo
yum install -y zabbix-agent2
(4)修改agent2配置文件
vim /etc/zabbix/zabbix_agent2.conf
指定zabbix服务端的IP地址

指定zabbix服务端的IP地址

指定当前zabbix客户端的主机名

把当前主机的主机名也改一下
hostnamectl set-hostname zbx-agent01
bash

(5)启动zabbix-agent2
systemctl start zabbix-agent2
查看端口,是否正常启动
netstat -anpt | grep zabbix

(6)验证
在服务端验证zabbix-agent2的连通性
安装zabbix主动获取数据的命令
yum -y install zabbix-get
获取数据
zabbix_get -s ‘192.168.10.21’ -p 10050 -k ‘agent.ping’
zabbix_get -s ‘192.168.10.21’ -p 10050 -k ‘system.hostname’

(7)添加主机
在Web页面中添加agent主机
左侧菜单栏配置中点击主机,点击创建主机,如下配置

再点击上方菜单栏中的模板,链接新模板后点击添加

注意看只有可用性那一栏有绿色亮着的才是能用的

3. 自定义监控内容
假设需要限制登录人数,当登录人数超过3个就发出警报信息
(1)定义key
在客户端上定义key
我们要先知道获取登录人数的命令是什么
who | wc -l
可以看到我这台客户端已经有三个登录用户了

创建zabbix的监控项配置文件,用于自定义key
vim /etc/zabbix/zabbix_agent2.conf
表示将自定义的监控项配置文件创建在zabbix_agent2.d目录中

在下面定义一下自定义监控项的格式,默认就是这个格式

在zabbix_agent2.d目录中创建自定义配置项的文件
cd /etc/zabbix/zabbix_agent2.d/
这个文件名字随便取,但必须是.conf后缀
vim User_login.conf
里面只需要按定义的格式写一条就行
UserParameter=login.user,who|wc -l
这里的login.user就是key,这个名字可以随便取,key对应的value就是后面那条shell command的执行结果

重启服务
systemctl restart zabbix-agent2
(2)中间测试
先去服务端验证一下这个监控项能不能用
我们这就是通过查看login.user这个key对应的value来监控客户端的登录人数
zabbix_get -s ‘192.168.188.11’ -p 10050 -k ‘login.user’
能看到确实是三个没问题

(3)创建自定义监控
在Web页面创建自定义监控模板,总共五步走
第一步创建模板


现在就可以在模板里找到这个模板了

第二步点击Template Login User创建应用集,应用集是用于管理监控项的



第三步创建监控项



第四步创建触发器,触发器就是在监控项满足一定条件时触发警报




第四点五步创建图形,这一步不是必须的,可以学习一下



第五步将主机与模板关联起来


此时就可以看到图表形式的监控了

(4)添加组件
为了方便测试我们可以在仪表盘上加一个组件,专门监测客户端


添加完毕,目前风平浪静

然后我们再开一个shell,成为第四个登录的用户

然后就能看到告警了

关了第四个登录,就会显示已解决的状态

(5)邮件报警
为了更方便运维,还可以设置邮件报警


QQ邮箱的授权码怎么获得
登录QQ邮箱后点击右上角“账号与安全”


后面按提示操作就可以获得授权码了

可以测试一下


点击测试就能收到测试邮件了,说明没问题

继续做完成自动化告警


测试一下,再登录一个,触发报警,看看能不能实现自动报警
仪表盘上有了

邮箱里也收到了

本文详细介绍了如何在Linux环境中部署Zabbix服务端和客户端,包括安装、配置、数据库设置、时间同步以及自定义监控,如限制登录人数的报警功能,并涉及邮件报警的设置。
2478

被折叠的 条评论
为什么被折叠?



