实验目标:根据拓扑图配置监控node1和mysql,添加mysql监控模板,脚本报警等功能。
拓扑图如下:
安装zabbix
1. 安装zabbix源:
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm (阿里源)
rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm (官方源)
rpm -Uvh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm (国内清华源)
新版本:
https://mirrors.aliyun.com/zabbix/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-1.el7.noarch.rpm
本案例使用rpm安装,如yum安装使用此命令:yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent
2. 安装zabbix服务端软件
1. [root@zabbix_server ~]# rpm -ivh /media/zabbix-server/* --nodeps --force 2. 3. [root@zabbix_server ~]# modprobe ipmi_devintf //rpm安装缺少模块,加载两项模块 4. 5. [root@zabbix_server ~]# modprobe ipmi_msghandler
3. 启动数据库,建立数据库及用户
1. [root@zabbix_server ~]# systemctl start mariadb 2. [root@zabbix_server ~]# systemctl enable mariadb 3. [root@zabbix_server ~]# mysqladmin -uroot password 4. New password: 5. Confirm new password: 6. [root@zabbix_server ~]# mysql -uroot -p123 7. //省略部分内容 8. MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin; 9. Query OK, 1 row affected (0.01 sec) 10. 11. MariaDB [(none)]> grant all on zabbix.* to zabbix@localhost identified by 'zabbix'; 12. Query OK, 0 rows affected (0.00 sec) 13. 14. MariaDB [(none)]> exit 15. Bye
4. 导入zabbix初始化数据
[root@zabbix_server ~]# zcat /usr/share/doc/zabbix-server-mysql-4.0.22/create.sql.gz |mysql -uzabbix -pzabbix zabbix
5. 修改zabbix配置文件
1. [root@zabbix_server ~]# vim /etc/zabbix/zabbix_server.conf 2. 3. DBPassword=zabbix //修改此行,删除注释添加数据库密码 4. 5. [root@zabbix_server ~]# systemctl start zabbix-server 6. 7. [root@zabbix_server ~]# systemctl enable zabbix-server
6. 修改时区
修改配置文件,定位到20行修改为上海。
1. [root@zabbix_server ~]# vim /etc/httpd/conf.d/zabbix.conf 2. 3. php_value date.timezone Asia/Shanghai 4. 5. [root@zabbix_server ~]# systemctl restart httpd 6. 7. [root@zabbix_server ~]# systemctl enable httpd
部署zabbix
通过浏览器访问http://192.168.1.4/zabbix ,部署zabbix点击"Next step"下一步,确认当前页ok再次点击"Next step"下一步,输入数据库用户密码后,全部点击下一步即可到达登录界面。默认用户:Admin,密码:zabbix。
配置zabbix
1. 修改语言
首次安装的zabbix一般为英文,下面将修改为中文界面。
再次查看后就成为中文首页了。
2. 监控linux端
(1)再次打开一台linux服务器,测试zabbix监控。
yum安装方式:
rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.0-2.el7.x86_64.rpm
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.0-2.el7.x86_64.rpm
本次使用rpm安装
1. [root@node1 ~]# rpm -ivh /media/zabbix-server/zabbix-agent-4.0.22-1.el7.x86_64.rpm --nodeps --force 2. 3. [root@node1 ~]# vim /etc/zabbix/zabbix_agentd.conf 4. 5. Server=192.168.1.4 //找到Server字段,指向zabbix服务器。 6. 7. [root@node1 ~]# systemctl start zabbix-agent 8. 9. [root@node1 ~]# systemctl enable zabbix-agent
(2)添加主机
配置→主机→创建主机→指定主机名称→指定群组→代理服务器IP(被监控端IP)→添加。
(3)添加模板
点击配置→主机→模板→添加模板→添加(小字体)→添加。
添加后稍等片刻就可以看到新建的主机成功,添加的模板等都可以看到。下面Zabbix server是zabbix服务器本机,本机也是可以被监控的(自己监控自己)。
zabbix服务器执行命令:[root@zabbix_server ~]# systemctl start zabbix-agent下面就可以看到主机已启用并正常监控了。
3. 修改中文乱码
点击监测→图形→选择群组→主机→监控类型,就可以看到当前被监控端的信息,但是可以看到下方数据有乱码现象,需要在zabbix服务器安装字体包。
1. [root@zabbix_server ~]# yum -y install wqy-microhei-fonts 2. 3. [root@zabbix_server ~]# cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/zabbix/assets/fonts/graphfont.ttf
选择覆盖原字体。
现在登录zabbix的web页面将正常显示中文字体。
报警功能
报警音报警
下面将开启触发器测试登录人数,如果超过限定人数就发出警报并发邮件到管理员qq邮箱。
(1)前端声音报警
右上角小人(用户)→正在发送信息→勾选前端信息中→更新。
(2)添加触发器
配置→主机→找到对应主机(node1)→触发器→创建触发器→命名→严重性→添加表达式→选择监控项(Number of logged in users)→间隔→结果(大于/0小于/等于/不等于n则发出警告)→下方添加完成。
node1端创建大于三个连接数,等待zabbix发出警告并发送邮件。但是想要发送邮件还需要开启Report problems to Zabbix administrators,如未开启需要开启该项。
此时可以在web页面看到警报提醒。
邮件报警
zabbix的报警功能随好,但是生产环境中,不能无时无刻的守在服务器旁,这就应用到了邮件警报功能。当下班时如服务器出现问题,警报系统将给邮箱发送一条信息,我们从而得知服务器的故障。
1. 配置→动作→启用report→应用。
2. 点击右上角用户头像→报警媒介→添加→收件人邮箱地址(推荐使用qq邮箱)。
3. 管理→报警媒介类型→email→添加SMTP服务器:smtp.qq.com→端口:465→HELO:qq.com→SMTP电邮:2502461084@qq.com→SSL/TLS→勾选→用户名称:2502461084@qq.com→密码:qq邮箱授权码。
qq邮箱授权码获取方式:(打开邮箱--设置--账户→开启smtp服务--获取授权码--保存配置)
监控端再次打开新端口访问,连接数大于三个用户,查看zabbix是否发送邮件(过程需要等待1至两分钟)。
通过下图已经收到了网站的警告,打开邮件查看是否收到邮件。
通过对邮件的查看,可以看到主机node1的警告。