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邮箱可以正常收到报警邮件

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

 

posted @   打开方式不对  阅读(38)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示