zabbix监控服务

一、监控软件的作用

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

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

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

二、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.hqwc.cn/news/623128.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024第十五届蓝桥杯JavaB组省赛部分题目

目录 第三题 第四题 第五题 第六题 第七题 第八题 转载请声明出处,谢谢! 填空题暂时可以移步另一篇文章:2024第十五届蓝桥杯 Java B组 填空题-CSDN博客 第三题 第四题 第五题 第六题 第七题 第八题 制作不易,还请点个赞支持…

【软件工程】UML用例图介绍和实例说明

文章目录 1、什么是用例图2、用例图的作用3、怎么画用例图4、三要素说明5、实例说明 1、什么是用例图 用例图(Use Case Diagram)是统一建模语言(UML)的一种图,它主要用于描述系统的功能和用户(参与者&…

实现智能水控 | 基于ACM32 MCU的分体式水控方案

分体式水控概述 分体式水控是一种常见的水控系统,它的工作原理是通过水的流动来控制水的供应和排放,该系统一般由两部分组成:控制器和水阀。控制器负责监测水的流量和压力,根据设定的参数来控制水阀的开和关,从而实现水…

PMP一般需要提前多久备考?

很多考生在备考PMP前都会有这样问题,那么考取PMP需要提前多长时间备考比较合适呢?是两个月?还是三个月?还是四个月? 我觉得因人而异。像有些学霸踏踏实实备考一个半月,每天花个4、5个小时去学习&#xff0…

医疗设备防漏费系统安装的必要性是什么,人情、管理、增收?

医疗漏费新闻 19138173009(刘) 请大家稍作停留,聚焦网页新闻。那些隐藏在暗处的私收费、人情检查,正是我们这个时代需要警惕的痛点。或许,在网络上,你曾看到过类似的新闻,那些关于抖音上的漏费…

精益管理培训:谁需要它,为什么需要?

当下,精益管理作为一种先进的管理理念和方法,正被越来越多的企业所重视。那么,精益管理培训适合哪些人群呢?天行健精益管理培训公司解析如下: 一、企业中高层管理者 企业中高层管理者是企业战略决策和日常运营的核心力…

单细胞分析|映射和注释查询数据集

reference映射简介 在本文中,我们首先构建一个reference,然后演示如何利用该reference来注释新的查询数据集。生成后,该reference可用于通过cell类型标签传输和将查询cell投影到reference UMAP 等任务来分析其他查询数据集。值得注意的是&am…

vue3 vueUse 连接蓝牙

目录 vueuse安装: useBluetooth: 调用蓝牙API 扫描周期设备 选择设备配对 连接成功 vue3的网页项目连接电脑或者手机上的蓝牙设备,使用vueUse库,可以快速检查连接蓝牙设备。 vueUse库使用参考: VueUse工具库 常用api-CSDN…

【Android】Activity task和Instrumentation杂谈

文章目录 activity taskInstrumentation机制参考 Android不仅可以装载众多的系统组件,还可以将它们跨进程组成ActivityTask,这个特性使得每个应用都不是孤立的。 activity task 从数据结构角度看,Task有先后之分,源码实现上采取了…

苍穹外卖学习记录(二)

本节,主要是学习业务逻辑,我们以菜品管理为例: 在实现这部分前,我们要完成Mybatis的配置,即指定映射的mapper.xml文件路径以及对应的实体类,这部分配置是在application.yml文件中实现的。 mybatis:#mapper…

社交媒体数据恢复:Talkbox

Talkbox数据恢复:找回珍贵的回忆 在数字化时代,我们的许多珍贵回忆都存储在手机应用程序中,如Talkbox。当意外发生,导致这些回忆丢失时,我们不禁会问:能否找回那些失去的数据?本文将探讨Talkbox…

【随笔】Git 基础篇 -- 拉取数据 git pull(二十八)

💌 所属专栏:【Git】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! 💖 欢迎大…