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