实验前准备
 zabbix服务端:192.168.188.17
 zabbix客户端:192.168.188.11
- 部署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
- 部署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个就发出警报信息
 (1)在客户端上定义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邮箱后点击右上角“账号与安全”
  
  
 后面按提示操作就可以获得授权码了
  
 可以测试一下
  
  
 点击测试就能收到测试邮件了,说明没问题
  
 继续做完成自动化告警
  
  
 测试一下,再登录一个,触发报警,看看能不能实现自动报警
 仪表盘上有了
  
 邮箱里也收到了
 