zabbix分布式监控
作为一个运维,需要会使用监控系统查看服务器系统性能、应用服务状态和网站流量指标等,利用监控系统的数据去了解网站上线发布的结果和健康状态。
利用一个优秀的监控软件,我们可以:
●通过一个友好的界面进行浏览整个网站所有的服务器状态
●可以在 Web 前端方便的查看监控数据
●可以回溯寻找事故发生时系统的问题和报警情况
zabbix 是什么?
●zabbix 是一个基于 Web 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
●zabbix 能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
●zabbix 由 2 部分构成,zabbix server 与可选组件 zabbix agent。通过 C/S 模式采集数据,通过 B/S 模式在 Web 端展示和配置。
●zabbix server 可以通过 zabbix agent,SNMP协议,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在 Linux 等平台上。
●zabbix agent 需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU 等信息的收集。
工作原理:
zabbix agent 会定期采集被监控主机的指标数据并发送给 zabbix server ,zabbix server 接收数据后会存储到zabbix database里 ,管理员可基于zabbix web 在浏览器即可查看到监控数据的图像
zabbix功能组件
Zabbix Server 用于配置和管理zabbix应用程序,也是监控系统的告警中心(需要配置监控项告警触发阀值和发送告警) zabbix database 数据库 持久化存储配置信息和监控指标数据(支持mysql、oracle、gpdb、tsdb等) zabbix web Web 界面 用于zabbix服务端配置界面和监控数据的ui界面展示 (支持lamp/lnmp) Zabbix Agent 部署在被监控的主机上,采集监控指标数据,并发送给zabbix server(数据采集支持主动模式和被动模式) 主动模式:zabbix agent 主动向 zabbix server 请求监控项列表,并主动将监控项内需要的数据提交给zabbix server 被动模式:zabbix agent 被动接受 zabbix server 请求监控项列表,zabbix agent 发送监控项内需要的数据提交给zabbix server Zabbix Proxy zabbix代理端进程,部署在zabbix server 与zabbix agent之间,代替 zabbix server 接收zabbix agent 发送的监控数据并存储在本地,汇总后再转发给zabbix server,从而可以分担zabbix server 的集中式负载压力 Java Gateway 用于获取通过从jmx在Java应用暴露的端口采集的监控数据
部署zabbix服务端

重命名主机名该为zbx-server

准备nginx的安装源

yum安装nginx

yum安装epel源


rpm安装webtatic源


yum安装php

编写nginx配置





修改php配置


创建目录和测试文件


配置mariadb yum源

yum 安装mariadb数据库

开启mariadb数据库

初始化数据库

所有当前root用户密码

不使用unix_socket身份验证

修改root登录密码

删除匿名用户

禁止root用户远程登录

删除测试数据库并访问它

现在重新加载特权表

配置完成!

使用mysql命令登录数据库

创建zabbix数据库并指定字符集

zabbix数据库用户授权

刷新权限

将zabbix压缩包添加到opt目录下并解压

将database目录下mysql中的zabbix数据导入zabbix库中


可以在zabbix库中查看所有表

安装依赖包,准备安装zabbix

创建zabbix用户来管理zabbix服务

编译安装zabbix

检查安装的版本

修改zabbix server 配置文件

指定zabbix日志路径

指定zabbix数据库的密码

准备systemctl 服务管理文件

检查10051端口号,查看zabbix启动成功


部署 Web 前端

在浏览器访问http://zbx.kgc.com/





安装zabbix设置账号密码

成功登录zabbix

这里报警是因为还没有安装zabbix agent


安装zabbix agent2


启动zabbix agent2

开启zabbix agent2后,在zabbix中查看,发现报警已经取消


添加zabbix客户端主机

将客户端和服务端主机进行时间同步

服务端和客户端都设置hosts解析

客户端设置zabbix下载源

安装zabbix agent2

修改agent2配置文件


#指定服务端的ip地址

#指定当前的zabbix客户端的主机名
开启zabbix-agent2服务,并设置开机自启

#客户端的端口号为10050
在服务端验证zabbix-agent2的连通性

在web页面中添加agent主机


自定义监控内容:
在客户端创建自定义key

#创建后重新启动zabbix-agent2服务
在服务端验证新建的监控项

回到web网页添加新的监控项



现在这个模板中没有任何监控项,下面我们来添加监控项
如下图一样添加

添加前我们可以先测试一下

#测试成功后就可以添加到模块中

在添加触发器

设置登录主机超过4台时报警

添加图形,以查看实时状态


将配置的监控项模块与客户端主机关联

在图形中可以看到已经开始监控了

现在我们多开一台客户机,发现图形明显增长

在多开一台客户机,使登录用户超过4名

这时触发器检测到登录用户超过4台,发起报警

我们关闭一台新开的客户机,图形中数值下降,恢复正常

当登录的用户没有超过4台时,触发器取消报警,恢复正常检测

但是正常工作的时候我们不能时刻的坐在监控机前等着报警,所以我们可以设置邮箱报警
当触发器报警时,将报警信息发送到工作人员的邮箱中,以告知工作人员用户登录异常
在菜单栏中选择管理中的报警媒介类型,在点击创建媒体类型

如下图配置

点击测试,发送信息到邮箱

收件人选择自己的邮箱地址

登录邮箱检查是否有收到

添加报警媒介,根据图中顺序选择

需要我们关注的严重程度选择一般严重及以上

为触发器添加动作

当登录用户超过4时发送邮件
下面进行测试
增加客户端的用户登录,通过监测仪表盘,确认报警,并查看QQ邮箱是否收到报警邮件

QQ邮箱可以正常收到报警邮件

这样的操作可以让我们在第一时间知道是哪台客户机的问题,什么样的问题,以便于我们可以快速的查找解决问题!

浙公网安备 33010602011771号