当前位置: 首页 > news >正文

分布式监控平台——Zabbix

市场上常用的监控软件:

  • 传统运维:zabbix、 Nagios

一、zabbix概述

作为一个运维,需要会使用监控系统查看服务器状态以及网站流量指标,利用监控系统的数据去了解上线发布的结果,和网站的健康状态。

利用一个优秀的监控软件,我们可以:

  • 通过一个友好的界面进行浏览整个网站所有的服务器状态
  • 可以在Web 前端方便的查看监控数据
  • 可以回溯寻找事故发生时系统的问题和报警情况

1.1 zabbix是什么?

  • zabbix是一个基于Web界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
  • zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
  • zabbix由2部分构成,zabbix server 与可选组件zabbix agent。 通过c/s 模式采集数据,通过B/s模式在web端展示和配置。
  • zabbix server 可以通过SNMP(简单网络管理协议),zabbix agent,ping, 端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它 可以运行在Linux等平台上。(支持多个平台,windows也支持)
  • zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。

0.jpg

1.2 zabbix监控原理

zabbix agent安装在被监控的主机上,zabbix agent 负责定期收集客户端本地各项数据,并发送至zabbix server 端,zabbix server收到数据后,将数据存储到数据库中,用户基于zabbix WEB可以看到数据在前端展现图像。

当zabbix 监控某个具体的项目,该项目会设置一个触发器阈值,当被监控的指标超过该触发器设定的阈值,会进行一些必要的动作,动作包括:发送信息(邮件、微信、短信)、发送命令(shell 命令、reboot、 restart、 install 等)。

用户可以基于zabbix-web可以在WEBUI界面中查看展现的数据图像,以及进行相关的配置管理用户还可以在WEBUI界面中设置监控项的触发器,如被监控的数据指标超过触发器设定的阈值,会进行发送通知信息或者一些应急操作指令。

1.3 zabbix常见的五个程序

zabbix监控部署在系统中,包含常见的五个程序: zabbix server、 zabbix agent、 zabbix proxy、zabbix get、zabbix sender 等。

(1) zabbix server: zabbix 服务端守护进程,其中zabbix_agent、 zabbix_ get、zabbix_sender、 zabbix_proxy的数据最终都提交给zabbix server;

(2) zabbix agent: 客户端守护进程,负责收集客户端数据,例如:收集CPU负载、内存、硬盘使用情况等;

(3)zabbi xproxy: zabbix分布式代理守护进程,通常大于500台主机,需要进行分布式监控架构部署;

(4)zabbix get: zabbix 数据接收工具,单独使用的命令,通常在server 或者proxy端执行获取远程客户端信息的命令;

(5)zabbix sender: zabbix 数据发送工具,用户发送数据给server 或proxy端,通常用户耗时比较长的检查。

1.4 zabbix端口号

  • zabbix服务端zabbix_server 默认使用10051 端口。
  • 客户端zabbix_agent2 默认使用10050 端口。

二、安装zabbix 5.0

建议使用5.0版本/4.6版本/4.8 版本,不使用6.0。

实验环境:

节点IP安装服务
zabbix-server192.168.41.45zabbix-server-mysql、zabbix-agent
zabbix-agent192.168.41.46zabbix-agent2

2.1 部署 zabbix 服务端(端口号10051)

zabbix-server内存至少2G,推荐4G。

zabbix 服务端同时安装zabbix-server-mysql和zabbix-agent,因为服务端所在主机自己也要被监控。

1、关闭防火墙,修改主机名

1-1.png

2、获取 zabbix 的下载源

1-2.png

3、更换 zabbix.repo 为阿里源,安装zabbix-server-mysql、zabbix-agent和SCL

1-3.png

1-4.png

1-5.png

4、修改 zabbix-front 前端源,安装 zabbix 前端环境到 scl 环境下。

修改/etc/yum.repos.d/zabbix.repo文件:

1-6.png

1-7.png

5、安装zabbix所需的数据库

1-8.png

1-9.png

1-10.png

6、添加数据库用户,以及 zabbix 所需的数据库信息

1-11.png

1-12.png

1-13.png

7、修改 zabbix-server 配置文件/etc/zabbix/zabbix_server.conf,修改数据库的密码。

1-14.png

8、修改 zabbix 的 php 配置文件,/etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf

1-15.png

9、启动 zabbix 相关服务

1-16.png

1-16-2.png

10、浏览器访问 http://192.168.41.45/zabbix

1-17.png

1-18.png

1-19.png

1-20.png

1-21.png

1-22.png

1-23.png

1-24.png

1-25.png

1-26.png

1-27.png

11、解决 zabbix-server Web页面中文乱码问题

1-28.png

1-29.png

2.2 部署zabbix 客户端(端口号10050)

zabbix 5.0版本采用golang 语言开发的新版本客户端agent2 。

zabbix 服务端 zabbix_server 默认使用 10051 端口,客户端 zabbix_agent2 默认使用 10050 端口。

 

1、关闭防火墙,修改主机名
 systemctl disable --now firewalld
 setenforce 0
 hostnamectl set-hostname zbx-agent01
 su
 ​
2、服务端和客户端都配置时间同步,使用阿里云的时钟源
 yum install -y ntpdate
 ntpdate -u ntp.aliyun.com
 ​
 3、客户端配置时区,与服务器保持一致
 mv /etc/localtime{,.bak}
 ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
 ​
 date
 ​
4、设置 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   
 ​
 5、修改 agent2 配置文件
 vim /etc/zabbix/zabbix_agent2.conf
 ......
 Server=192.168.41.45            #80行,指定 zabbix 服务端的 IP 地址
 ServerActive=192.168.41.45      #120行,指定 zabbix 服务端的 IP 地址
 Hostname=zbx-agent01            #131行,指定当前 zabbix 客户端的主机名
 ​
 6、启动 zabbix-agent2
 systemctl start zabbix-agent2
 systemctl enable zabbix-agent2
 ​
 netstat -natp | grep zabbix
 tcp6       0      0 :::10050                :::*              LISTEN      4381/zabbix_agent2
 ​
 ​
7、在服务端验证 zabbix-agent2 的连通性
 yum install -y zabbix-get    #服务端,安装 zabbix 主动获取数据的命令,get指令
 ​
 zabbix_get -s '192.168.41.46' -p 10050 -k 'agent.ping'
 1              #服务端对客户端进行连通性测试,返回1表示连通
 ​
 zabbix_get -s '192.168.41.46' -p 10050 -k 'system.hostname'
 zbx-agent01     #返回客户端的主机名说明正常连通

1、关闭防火墙,修改主机名

2-1.png

2、服务端和客户端都配置时间同步

2-2.png

3、客户端配置时区,与服务器保持一致

2-3.png

4、设置 zabbix 的下载源,安装 zabbix-agent2

2-4.png

2-5.png

5、修改 agent2 配置文件,/etc/zabbix/zabbix_agent2.conf

2-6.png

2-7.png

2-8.png

6、启动 zabbix-agent2

2-9.png

7、在服务端验证 zabbix-agent2 的连通性

2-10.png

2-11.png

2.3 将客户端加入服务端的监控主机中

在 Web 页面中添加 agent 主机。

 

1.点击左边菜单栏【配置】中的【主机】,点击【创建主机】
 【主机名称】设置成 zbx-agent01
 【可见的名称】设置成 zbx-agent01-192.168.41.46
 【群组】选择 Linux server
 【Interfaces】的【IP地址】设置成 192.168.41.46
 ​
 2.再点击上方菜单栏【模板】
 【Link new tamplates】搜索 Linux ,选择 Template OS Linux by Zabbix agent
 点击 【添加】

1、点击左边菜单栏【配置】中的【主机】,点击【创建主机】

3-1.png

3-2.png

3-3.png

2、再点击上方菜单栏【模板】

3-4.png

3-5.png

3-6.png

3-7.png

3-8.png

总结

zabbix工作原理(工作流程):

  • zabbix-agent 客户端,部署在被监控的对象主机上,负责定期收集监控数据,发送给zabbix-server 端;
  • zabbix-server 收到数据后会将数据存储在数据库中。
  • 用户可以基于zabbix-web可以在WEB UI界面中查看展现的数据图像,以及进行相关的配置管理 用户还可以在WEBUI界面中设置监控项的触发器,如被监控的数据指标超过触发器设定的阈值,会进行发送通知信息或者一些应急操作指令。

相关文章:

分布式监控平台——Zabbix

市场上常用的监控软件: 传统运维:zabbix、 Nagios 一、zabbix概述 作为一个运维,需要会使用监控系统查看服务器状态以及网站流量指标,利用监控系统的数据去了解上线发布的结果,和网站的健康状态。 利用一个优秀的监…...

【OpenGauss源码学习 —— 列存储(创建表)】

列存储 什么是列存储?语法实现语法格式参数说明示例源码分析(创建表)语法层(Gram.y)子模块(utility.cpp) 总结 声明:本文的部分内容参考了他人的文章。在编写过程中,我们…...

Jenkins 监控dist.zip文件内容发生变化 触发自动部署

为Jenkins添加plugin http://xx:xx/manage 创建一个任务 构建触发器 每3分钟扫描一次,发现指定文件build.zip文件的MD5发生变化后 触发任务...

Linux系列讲解 —— FTP协议的应用

简单介绍一下FTP文件传输协议在linux系统中的应用。 目录 0. 基本概念1. FTP Server1.1 安装FTP Server1.2 FTP Server开启和关闭1.3 查看FTP Server是否开启1.4 FTP服务器配置 2. FTP Client2.1 lftp2.2 ftp2.3 sftp2.4 文件资源管理器集成的ftp和sftp 3. ftp常用命令 0. 基本…...

Rancher-RKE-install 部署k8s集群

一、为什么用Rancher-RKE-install 1.CNCF认证的k8s安装程序。 2.有中文文档。 二、安装步骤 1.下载Rancher-Rke的二进制包-下面是项目的地址 GitHub - rancher/rke: Rancher Kubernetes Engine (RKE), an extremely simple, lightning fast Kubernetes distrib…...

PHP8的正则表达式-PHP8知识详解

在网页程序的时候,经常会有查找符合某些复杂规则的字符串的需求。正则表达式就是描述这些规则的工具。 正则表达式是把文本或者字符串按照一定的规范或模型表示的方法,经常用于文本的匹配操作。 例如:我们在填写手机号码的时候,…...

SpringCloud实用篇7——深入elasticsearch

目录 1 数据聚合1.1 聚合的种类1.2 DSL实现聚合1.2.1 Bucket聚合语法1.2.2 聚合结果排序1.2.3 限定聚合范围1.2.4 Metric聚合语法1.2.5.小结 1.3 RestAPI实现聚合1.3.1 API语法1.3.2 业务需求1.3.3 业务实现 2 自动补全2.1 拼音分词器2.2 自定义分词器2.3 自动补全查询2.4 实现…...

uni-app 经验分享,从入门到离职(二)—— tabBar 底部导航栏实战篇

文章目录 📋前言⏬关于专栏 🎯关于小程序 tabbar 的一些知识🎯创建一个基本的 tabBar📝最后 📋前言 这篇文章的内容主题是关于小程序的 tabBar 底部导航栏的入门使用和实战技巧。通过上一篇文章的基础,我们…...

Java虚拟机(JVM):内存区域

一、内存区域介绍 Java虚拟机(JVM)内存可以分为以下几个区域: 程序计数器(Program Counter Register):用于记录当前线程执行的字节码指令的地址,属于线程私有的区域。在任意时刻,一…...

11 - git stash 开发中临时加塞了紧急任务怎么处理

查看所有文章链接:(更新中)GIT常用场景- 目录 文章目录 开发中临时加塞了紧急任务怎么处理 开发中临时加塞了紧急任务怎么处理 当你此时工作区已经修改了 Readme 文件,然后突然需要解决其他问题(紧急问题、新任务&…...

高效的WMS系统手持盘点方案

WMS系统手持盘点就是指利用WMS系统支持的手持式电子盘点设备进行库存盘点的方式。 具体来说: - 手持盘点设备是一种小型的电子设备,具有移动条形码扫描功能,可以实时与WMS系统联通。 - WMS系统利用手持设备,可以给仓储人员下发具体的盘点任务,例如需要盘点的货位、商品等信息…...

Oracle分页技术

1、使用两层嵌套 SELECT *FROM (SELECT A.*, ROWNUM RNFROM (SELECT * FROM edw_t100_bal_all) AWHERE ROWNUM < 40)WHERE RN > 21; 2、使用between..and.. SELECT *FROM (SELECT A.*, ROWNUM RN FROM (SELECT * FROM edw_t100_bal_all) A)WHERE RN between 21 and 40…...

2023-08-15 Untiy进阶 C#知识补充6——C#7主要功能与语法

文章目录 一、字面值改进二、out 内部声明 / 弃元三、ref 返回值四、本地函数五、抛出表达式六、元组七、模式匹配 ​ 注意&#xff1a;在此仅提及 Unity 开发中会用到的一些功能和特性&#xff0c;对于不适合在 Unity 中使用的内容会忽略。 ​ C# 7 对应 Unity 版本&#xff1…...

logstash配置文件

input { kafka { topics > “xxxx” bootstrap_servers > “ip:port” auto_offset_reset > “xxxx” group_id > “xxxx” consumer_threads > 3 codec > “json” } } filter { grok { match > { “message” > ‘%{IP:client_ip} - - [%{HTTPDATE:…...

docker搭建lnmp(nginx+mysql57+php7.4)

docker搭建lnmp(nginxmysql57php7.4) 1. 准备工作 docker安装 $ sudo yum update $ sudo sudo yum install -y yum-utils device-mapper-persistent-data lvm2 $ sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo $ sudo…...

专访 BlockPI:共建账户抽象未来的新一代 RPC 基础设施

在传统 RPC 服务板块上&#xff0c;开发者一直饱受故障风险、运行环境混乱等难题的折磨。实现 RPC 服务的去中心化&#xff0c;且保持成本优势和可扩展性&#xff0c;始终是区块链基础设施建设的重要命题之一。从 2018 年观察中心化 RPC 供应商服务现状开始&#xff0c;BlockPI…...

js fetch请求中断的几种方式

1、通过AbortController 这是官方标准手段&#xff0c;真正意义的阻止请求&#xff08;不支持ie&#xff09; 后端接口设置的两秒返回数据 function myFetch() {const controller new AbortController();const signal controller.signal;fetch(http://localhost:3000/aaa/…...

Python自动化实战之使用Selenium进行Web自动化详解

概要 为了完成一项重复的任务&#xff0c;你需要在网站上进行大量的点击和操作&#xff0c;每次都要浪费大量的时间和精力。Python的Selenium库就可以自动化完成这些任务。 在本篇文章中&#xff0c;我们将会介绍如何使用Python的Selenium库进行Web自动化&#xff0c;以及如何…...

“之江数据安全治理论坛”暨《浙江省汽车数据处理活动规定(专家建议稿)》研讨会顺利召开

研讨会主题 8月10日&#xff0c;“之江数据安全治理论坛”暨《浙江省汽车数据处理活动规定&#xff08;专家建议稿&#xff09;》研讨会在浙江大学计算机创新技术研究院举办。 本次研讨会的主题聚焦于“智能网联汽车的数据安全与数据合规”&#xff0c;邀请行业主管部门和数据…...

消息中间件面试题

异步发送(验证码、短信、邮件…) MYSQL和Redis&#xff0c;ES之间的数据同步 分布式事务 削峰填谷 RabbitMQ如何保证消息不丢失&#xff1f; 开启生产者确认机制&#xff0c;确保生产者的消息能到达队列 开启持久化功能&#xff0c;确保消息未消费前在队列中不会丢失 开启消费…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互

物理引擎&#xff08;Physics Engine&#xff09; 物理引擎 是一种通过计算机模拟物理规律&#xff08;如力学、碰撞、重力、流体动力学等&#xff09;的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互&#xff0c;广泛应用于 游戏开发、动画制作、虚…...

P3 QT项目----记事本(3.8)

3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...

Springboot社区养老保险系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;社区养老保险系统小程序被用户普遍使用&#xff0c;为方…...

return this;返回的是谁

一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请&#xff0c;不同级别的经理有不同的审批权限&#xff1a; // 抽象处理者&#xff1a;审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...

GitFlow 工作模式(详解)

今天再学项目的过程中遇到使用gitflow模式管理代码&#xff0c;因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存&#xff0c;无论是github还是gittee&#xff0c;都是一种基于git去保存代码的形式&#xff0c;这样保存代码…...

2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)

安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...

作为测试我们应该关注redis哪些方面

1、功能测试 数据结构操作&#xff1a;验证字符串、列表、哈希、集合和有序的基本操作是否正确 持久化&#xff1a;测试aof和aof持久化机制&#xff0c;确保数据在开启后正确恢复。 事务&#xff1a;检查事务的原子性和回滚机制。 发布订阅&#xff1a;确保消息正确传递。 2、性…...

SpringAI实战:ChatModel智能对话全解

一、引言&#xff1a;Spring AI 与 Chat Model 的核心价值 &#x1f680; 在 Java 生态中集成大模型能力&#xff0c;Spring AI 提供了高效的解决方案 &#x1f916;。其中 Chat Model 作为核心交互组件&#xff0c;通过标准化接口简化了与大语言模型&#xff08;LLM&#xff0…...

VisualXML全新升级 | 新增数据库编辑功能

VisualXML是一个功能强大的网络总线设计工具&#xff0c;专注于简化汽车电子系统中复杂的网络数据设计操作。它支持多种主流总线网络格式的数据编辑&#xff08;如DBC、LDF、ARXML、HEX等&#xff09;&#xff0c;并能够基于Excel表格的方式生成和转换多种数据库文件。由此&…...

云安全与网络安全:核心区别与协同作用解析

在数字化转型的浪潮中&#xff0c;云安全与网络安全作为信息安全的两大支柱&#xff0c;常被混淆但本质不同。本文将从概念、责任分工、技术手段、威胁类型等维度深入解析两者的差异&#xff0c;并探讨它们的协同作用。 一、核心区别 定义与范围 网络安全&#xff1a;聚焦于保…...