首页 > 其他分享 >zabbix分布式监控

zabbix分布式监控

时间:2024-01-13 22:11:07浏览次数:25  
标签:报警 agent server 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邮箱可以正常收到报警邮件

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

 

标签:报警,agent,server,zabbix,监控,客户端,分布式
From: https://www.cnblogs.com/chenjw0608/p/17961246

相关文章

  • 分布式限流——基于Redis的Lua脚本限流实现
    分布式限流当你的应用分布式部署出现对等端(peer)时,单机的限流往往不能满足对下游保护的作用,因为它仅仅是jvm内存层面的流量控制。这个时候自然而然会想到用一些跨JVM的分布式中间件控制在单位时间窗口内的请求是否通行,本文我们将探讨如何借助Redis实现分布式限流。1固定窗口限流......
  • Qt/C++编写视频监控系统83-自定义悬浮条信息
    一、前言一般视频控件上会给出个悬浮条,这个悬浮条用于显示分辨率或者一些用户期望看到的信息,一般常用的信息除了分辨率以外,还有帧率、封装格式、视频解码器名称、音频解码器名称、实时码率等,由于实际的场景不一样,用户希望能过自定义勾选开启哪些信息,开启的就显示,不开启的则可以不......
  • 微服务系列之分布式事务理论
    概述事务是由一组操作构成的可靠的独立的工作单元,事务具备ACID的特性,即原子性、一致性、隔离性和持久性。分类大多数情况下,分类是没有意义的一件事。但是分类可以一定程度上,加深理解。实现从实现角度来看,Java事务的类型有三种:JDBC事务、JTA(JavaTransactionAPI)事务、容器事务。一......
  • 什么是分布式锁
    想象一下,如果没有分布式锁,多个分布式节点同时涌入一个共享资源的访问时,就像一群饥肠辘辘的狼汇聚在一块肉前,谁都想咬一口,最后弄得肉丢了个精光,大家都吃不上。而有了分布式锁,就像给这块肉上了道坚固的城墙,只有一只狼能够穿越,享受美味。那它具体是怎么做的呢?这篇文章中,小❤将带大家一......
  • 大一统的监控探针采集器 cprobe
    需求背景监控数据采集领域,比如Prometheus生态有非常多的Exporter,虽然生态繁荣,但是无法达到开箱即用的大一统体验,Exporter体系的核心问题有:良莠不齐:有的Exporter写的非常棒,有的则并不完善,有些监控类别甚至有多个Exporter,选择困难写法各异:Exporter所用的日志库、配置文件管理......
  • 大一统的监控探针采集器 cprobe
    需求背景监控数据采集领域,比如Prometheus生态有非常多的Exporter,虽然生态繁荣,但是无法达到开箱即用的大一统体验,Exporter体系的核心问题有:良莠不齐:有的Exporter写的非常棒,有的则并不完善,有些监控类别甚至有多个Exporter,选择困难写法各异:Exporter所用的日志库、配置文......
  • 养老数据监控大屏:科技赋能,让智慧养老触手可及
    随着老龄化社会的加速到来,养老服务的质量和效率成为了社会关注的焦点。如何运用现代科技手段提升养老服务水平,让老年人享受更加舒适、便捷的晚年生活,成为了我们面临的重要课题。在这一背景下,养老数据监控大屏应运而生,成为智慧养老领域的一大创新亮点。  山海鲸可视化制作的......
  • Redis分布式锁的Java实现之道
    摘要:在当今的微服务架构中,分布式锁是一个非常重要的概念。它允许我们在多个服务之间同步操作,确保数据的一致性和完整性。而Redis作为一种高性能的内存数据存储系统,常常被用来实现分布式锁。一、分布式锁的基本概念在分布式系统中,多个节点可能同时访问和修改共享资源。如果没有适......
  • 在CentOS中,对静态HTTP服务的性能监控
    在CentOS中,对静态HTTP服务的性能监控和日志管理是确保系统稳定运行和及时发现潜在问题的关键。以下是对这一主题的详细探讨。性能监控1. 使用工具监控:top、htop、vmstat、iostat等工具可以用来监控CPU、内存、磁盘I/O等关键性能指标。这些工具可以实时显示系统资源的使用情况,帮助......
  • zabbix钉钉警报脚本
    以下是一个使用shell脚本实现Zabbix触发钉钉报警的基本示例。请注意,你需要先在钉钉创建一个自定义机器人并获取其Webhook地址。#!/bin/bash#钉钉机器人的webhook地址dingtalk_webhook="https://oapi.dingtalk.com/robot/send?access_token=YOUR_ACCESS_TOKEN"#Zabbix传递过......