zabbix监控服务

news2024/9/22 1:00:38

一、监控软件的作用

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

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

  • 对系统不间断实时监控
  • 实时反馈系统当前状态
  • 保证服务可靠性安全性
  • 保证业务持续稳定运行

二、zabbix 的概念

2.1 Zabbix是什么

        zabbix是一个基于 Web界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

        zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
        zabbix由2部分构成,zabbix server(端口:10051) 与可选组件 zabbix agent(端口:10050)。通过 C/S模式采集数据,通过 B/S 模式在 web 端展示和配置。

        zabbix server 可以通过SNMP,zabbixagent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能它可以运行在 inux 等平台上。

        zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。

Server

Zabbix Server需运行在LAMP(Linux+Apache+Mysql+PHP)环境下,对硬件要求低
Agent

目前已有的agent基本支持市面常见的OS,包含Linux、HPUX、Solaris、Sun、windows等
SNMP

支持各类常见的网络设备

2.2 zabbix监控原理

zabbix agent安装在被监控的主机上,zabbix agent负责定期收集客户端本地各项数据,并发送至 zabbix server端
zabbix server收到数据后,将数据存储到数据库中
用户基于 Zabbix WEB 可以看到数据在前端展现图像
当zabbix监控某个具体的项目, 该项目会设置一个触发器阈值,当被监控的指标超过该触发器设定的阈值,会进行一些必要的动作,包括发送信息(邮件、微信、短信)、发送命令(shell 命令、reboot、restart、install 等)

2.3 Zabbix的优点

开源,无软件成本投入
Server对设备性能要求低
支持设备多,自带多种监控模板
支持分布式集中管理,有自动发现功能,可以实现自动化监控
开放式接口,扩展性强,插件编写容易
当监控的 item 比较多服务器队列此较大时可以采用主动状态,被监控客户端主动从server端去下载需要监控的item然后取数据上传到server端。这种方式对服务器的负载比较小。
Api的支持,方便与其他系统结合

2.4 Zabbix的缺点

        需在被监控主机上安装agent,所有数据都存在数据库里,产生的数据据很大,瓶颈主要在数据库。
        项目批量修改不方便。
        社区虽然成熟,但是中文资料相对较少,服务支持有限。
        入门容易,能实现基础的监控,但是深层次需求需要非常熟悉Zabbix并进行大量的二次定制开发难度较大。
        系统级别报警设置相对比较多,如果不筛选的话报警邮件会很多;且自定义的项目报警需要自己设置,过程比较繁琐。
        缺少数据汇 总功能,如无法查看-组服务器平均值, 需进行二次开发;

2.5 Zabbix监控系统的监控对象

类型                    典型代表服务                                            安装的服务
数据库            MySQL,MariaDB,Oracle,SQL Server                    agent
应用软件            Nginx,Apache, PHP,Tomcat                               agent
集群            LVS,Keepalived,HAproxy,RHCS,F5                          agent
虚拟化            VMware,KVM,XEN ,docker ,k8s                           agent
操作系统            Linux,Unix,Windows性能参数                             agent
硬件            服务器,存储,网络设备                                            IPMI
网络            网络环境(内网环境,外网环境)                                SNMP

三.Zabbix的监控架构

        在实际监控架构中,zabbix根据网络环境、监控规模等分了三种架构: server-client 、master-node-client、server-proxy-client

3.1 server-client架构

  • zabbix的最简单的架构
  • 监控机和被监控机之间不经过任何代理 ,直接由zabbix server和zabbix agentd之间进行数据交互
  • 适用于网络比较简单,设备比较少的监控环境

3.2.server-proxy-client架构

        其中proxy是server、client之间沟通的一个桥梁,proxy本身没有前端,而且其本身并不存放数据,只是将agentd发来的数据暂时存放,而后再提交给server 
        该架构经常是和master-node-client架构做比较的架构 ,一般适用于跨机房、跨网络的中型网络架构的监控

3.3 master-node-client架构

        该架构是zabbix最复杂的监控架构,适用于跨网络、跨机房、设备较多的大型环境 。
        每个node同时也是一个server端,node下面可以接proxy,也可以直接接client 。
        node有自已的配置文件和数据库,其要做的是将配置信息和监控数据向master同步,master的故障或损坏对node其下架构的完整性

四、Zabbix的程序组件

        1.Zabbix agent:客户端守护进程,负责部署在被监控主机上,把被监控主机的数据传送给zabbix server,例如:收集 CPU 负载、内存、硬盘使用情况等;
        2.Zabbix server:服务端守护进程,负责接收agent发送的信息,组织配置信息,统计配置信息和操作数据等
        3.Zabbix database:存储系统,用于存储zabbix的所有配置信息,监控数据的数据库,例如mysql, pgsq|
        4.Zabbix web:GUI图形化界面,zabbix的web界面,管理可以通过zabbix的web界面管理zabbix配置以及查看zabbix的监控信息,可以独一部署在一台服务器上
        5.Zabbix proxy:zabbix分布式代理守护进程,分布式环境中使用,zabbix proxy代表server端管理该区域中的信息收集,最终统一发往zabbix server
        6.Zabbix get:zabbix 数据接收工具,单独使用的命令,通常在 server 或者 proxy 端执行获取远程客户端信息的命令
        7.Zabbix sender:zabbix 数据发送工具,用户发送数据给 server 或 proxy 端,通常用户耗时比较长的检查
        8.Zabbix_ java_ gateway:java网关

五、Zabbix的监控模式

1. 主动模式

        主动检测: 由agent端主动收集信息发送给server端 工具是zabbix_sender
        相对于agent而言; agent(active),agent向server请求与自己相关监控项配置, 主动地将server配置的监控项相关的数据发送给server;
        主动监控能极大节约监控server的资源。

2.被动模式

        被动检测:由server端主动拉取信息 工具是zabbix_get

        相对于agent而言 ; agent, server向agent请求获取配置的各监控项相关的数据,agent接收请求、获取数据并响应给server;

六.Zabbix监控有哪些?

        1.硬件监控:通过 SNMP 来进行路由器交换机的监控
        系统监控:如 CPU 的负载,上下文切换、内存使用率、磁盘读写、磁盘使用率、磁盘 inode 节点
        2.服务监控:比如公司用 LNMP nginx 自带 Status 模块、 PHP 也有相关的 Status 、 MySQL 的话可以通过 ODBC协议 来进行监控
        3.网络监控:如果是云主机又不是跨机房,那么可以选择不监控网络
        4.安全监控:如果是云主机可以考虑使用自带的安全防护。当然也可以Zabbix监控 iptables 如果是硬件,那么推荐以Zabbix监控硬件防火墙
        5.Web 监控:web 监控的话题其实还是很多。比如可以使用自带的 web 监控来监控页面相关的延迟、 js 响应时间、下载时间、等等
        6.日志监控:如果是 web 的话可以使用监控 Nginx 的 500x 日志。PHP 的 ERROR 日志
        7.流量分析:平时我们分析日志都是拿 awk sed xxx 一堆工具来实现。这样对我们统计 ip 、 pv 、 uv 不是很方便。那么可以使用百度统计、 google 统计、商业,让开发嵌入代码即可 (不想关建议去掉)
        8.可视化:通过 screen 以及引入一 些第三方的库来美化界面,同时我们也需要知道、订单量突然增加、 突然减少。或者说突然来了一大波流量,这流量从哪儿来,是不是推广了,还是被攻击了。可以结合监控平台来梳理各个系统之间的业务关系
        9.自动化监控:如上我们做了那么多的工作,当然不能是一台一台的来加 key 实现。可以通过Zabbix 的主动模式以及被动模式来实现。当然最好还是通过 API 来实现

七.部署Zabbix服务端(端口:10051)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1596909.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

进程地址空间(PAS)

"进程地址空间" "虚拟地址空间" "地址空间"; "进程内存" ≠ "虚拟内存"; 32位系统虚拟地址空间为4GB,一般使用不完,用户和内核都使用不完; 前言:一个…

HarmonyOS实战开发-拼图、如何实现获取图片,以及图片裁剪分割的功能。

介绍 该示例通过ohos.multimedia.image和ohos.multimedia.mediaLibrary接口实现获取图片,以及图片裁剪分割的功能。 效果预览 使用说明: 使用预置相机拍照后启动应用,应用首页会读取设备内的图片文件并展示获取到的第一个图片,…

古月·ROS2入门21讲——学习笔记(一)核心概念部分1-14讲

讲解视频地址:1.ROS和ROS2是什么_哔哩哔哩_bilibili 笔记分为上篇核心概念部分和下篇常用工具部分 下篇:古月ROS2入门21讲——学习笔记(二)常用工具部分15-21讲-CSDN博客 目录 第一讲:ROS/ROS2是什么 1. ROS的诞生…

numpy学习笔记(5),其他实用函数

8. 更多函数 8.1 随机数 8.1.1 常用随机数 8.1.1.1 numpy.random.rand(d0, d1, …, dn) 返回[0.0, 1.0)随机浮点数,即大于等于0.0,小于1.0。d0, d1, …, dn:返回的数组形状 # 使用numpy.random.rand函数 import numpy as np np.random.r…

09 Php学习:超级全局变量

超级全局变量 PHP中预定义了几个超级全局变量(superglobals) ,这意味着它们在一个脚本的全部作用域中都可用。 PHP 超级全局变量列表: $GLOBALS$_SERVER$_REQUEST$_POST$_GET$_FILES$_ENV$_COOKIE$_SESSION $GLOBALS $GLOBALS 是 PHP 中的…

javaee初阶———多线程(三)

T04BF 👋专栏: 算法|JAVA|MySQL|C语言 🫵 小比特 大梦想 此篇文章与大家分享多线程专题第三篇,关于线程安全方面的内容 如果有不足的或者错误的请您指出! 目录 八、线程安全问题(重点)1.一个典型的线程不安全的例子2.出现线程不安全的原因3.解决线程不安…

【Entity Framework】聊一聊EF中继承关系

【Entity Framework】聊一聊EF中继承关系 文章目录 【Entity Framework】聊一聊EF中继承关系一、概述二、实体类型层次结构映射三、每个层次结构一张表和鉴别器配置四、共享列五、每个类型一张表配置六、每个具体类型一张表配置七、TPC数据库架构八、总结 一、概述 Entity Fra…

高清4路HDMI编码器JR-3214HD

产品简介: JR-3214HD四路高清HDMI编码器是专业的高清音视频编码产品,该产品具有支持4路高清HDMI音视频采集功能,4路3.5MM独立外接音频输入,编码输出双码流H.264格式,音频MP3/AAC格式。编码码率可调,画面质…

盒子模型+响应式布局 + 原型链与继承

盒子模型 是什么 css布局基础,规定了元素在页面上如何呈现,以及元素之间的空间关系 由content paddingbordermargin四部分组成 为什么 盒子模型分为 标准盒子模型: 元素的宽度与高度 只包括content IE盒子模型: 元素的宽度与高度 包括content,padding,border 在实际操作中…

【数据结构】【C++】AVL树的模拟实现(插入、判断、旋转)

文章目录 1 概念2 实现2.1 AVL树结点的定义2.2 AVL树的插入2.2.1 AVL树的插入规则2.2.2 旋转2.2.2.1 左单旋2.2.2.2 右单旋2.2.2.3 左右双旋2.2.2.4 右左双旋 2.2.3 总结 3 平衡判断4 删除5 源码 1 概念 二叉搜索树虽可以缩短查找的效率,但如果数据有序或接近有序二…

软件测试/测试开发丨接口测试学习笔记分享

一、Mock 测试 1、Mock 测试的场景 前后端数据交互第三方系统数据交互硬件设备解耦 2、Mock 测试的价值与意义 不依赖第三方数据节省工作量节省联调 3、Mock 核心要素 匹配规则:mock的接口,改哪些接口,接口哪里的数据模拟响应 4、mock实…

【每日刷题】Day15

【每日刷题】Day15 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 目录 1. 141. 环形链表 - 力扣(LeetCode) 2. 142. 环形链表 II - 力扣(LeetCode) 3. 143. 重…

基于Python的微博舆论分析,微博评论情感分析可视化系统

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…

IDEA 本地库引入了依赖但编译时找不到

在使用 IDEA 开发 Maven 项目的过程中,有时会遇到本地库引入了依赖,但编译时报找不到这个依赖,可以使用命令处理。 打开 Terminal。 执行清理命令。 mvn clean install -Dmaven.test.skiptrue执行更新命令。 mvn -U idea:idea

YOLO-World——S

文章目录 Abstract成果 MethodPre-training Formulation: Region-Text PairsModel ArchitectureYOLO DetectorText EncoderText Contrastive HeadTraining with Online VocabularyInference with Offline Vocabulary Re-parameterizable Vision-Language PANText-guided CSPLay…

string类——常用函数模拟(C++)

本篇中,将会详细的介绍 Cpp 中 string 的使用,以及 string 类常用函数的模拟实现。对于 string 的内置函数来说,存在很多很冗余的用法,很多函数都有很多种用法,本篇将会讲解常用内置函数的常用用法,模拟函数…

Pytest小技巧:高效获取自动化测试结果

自动化测试用例在执行完成后,我们想要很清楚的查看到测试用例的执行结果,我们可以通过Pytest中的Hooks来进行获取吗? 其中Pytest中存在多个Hooks的函数,小编今天先简单介绍其中一种,通过pytest_runtest_makereport 获…

若依vue中关于字典的使用

文章目录 字典管理页面列表点击某个字典类型展示具体字典数据修改某一条字典数据 字典的应用一般用于select多选框中代码实现根据字典Dict的value获取Label,类似于通过key获得value 源码解析 字典管理页面 列表 点击某个字典类型展示具体字典数据 修改某一条字典数…

04_UART串口发送数据

1.配置芯片,如果PA9,PA10的UART引脚被占用,会自动进行重映射 2.代码 int main(void) {uint8_t temp[]"test";/* USER CODE BEGIN 1 *//* USER CODE END 1 *//* MCU Configuration--------------------------------------------------------*…

windows的jar包开机自启动【搬代码】

感觉最方便的就是放到启动项目里操作步骤 winR 输入:shell:startup回车或点击确定 3.将自己jar包右键创建快捷方式 4.然后放进去 5.重启电脑,浏览器输入网址,就可以看到重启成功了 另外一个就是放入.exe文件的快捷方式 首先,…