zabbix基础

监控系统基本介绍:

企业级应用中,服务器数量众多,一般情况下需要维护人员进行长时间对服务器体系、计算机或其他网络设备(包括硬件和软件)进行长时间进行性能跟踪,保证正常稳定安全的运行,于是有了监控系统。

运维行业有句话:“无监控、不运维”,监控俗称“第三只眼”。没了监控,什么基础运维,业务运维都是“瞎子”。所以说监控是运维这个职业的根本。尤其是在现在DevOps这么火的时候,用监控数据给自己撑腰,这显得更加必要,有人说运维是背锅侠,那么,有了监控,有了充足的数据,一切以数据说话,运维还需要背锅吗,所以作为一个运维工程师,如何构建一套监控系统是你的第一件工作。

监控功能

在需要的时刻,提前预警即将出问题,避免故障发生实时监控系统和业务,当出问题之后,通过发出告警,提醒相关人员,快速可以找到问题的根源,从而及时处理问题,可以实现网站,应用或者服务器的故障自愈, 保证高可用性以图形或易观察的方式呈现当前以及过往的状态,便于分析和预测系统发展趋势

开源监控软件:cacti(监控snmp协议,流量数据)、nagios(报警系统,支持多种插件)、zabbix(支持分布式,故障自愈)、smokeping(Windows监控系统)、open-falcon(小米猎鹰)、滴滴夜莺Nightingale、Prometheus(容器和云莺监控)等

商业监控方案:http://ping.chinaz.com/     站长之家

https://www.jiankongbao.com/ 监控宝

https://www.toushibao.com/ 透视宝

https://www.tingyun.com/ 听云

监控的从业务角度,从上到下

①:业务监控(监控pv量、业务指标等)

②:应用监控

③:操作系统监控

监控模式:

①:IPMI:基于硬件的监控模式,基于IPMI,对硬件的本身做监控

②:SNMP:网络数据监控,可以监控防火墙,路由器

③:agent:普通监控模式,代理端(server-agent),被监控主机都需装agent

④:Proxy:分布式监控,每个proxy都有自己的存储体系,如:MySQL,Pgsql

⑤:API:第三方API,实现其他类型的监控

Zabbix基本介绍

Zabbix 是一个企业级解决方案,支持实时监控数千台服务器,虚拟机和网络设备,采集百万级监控指标。Zabbix 完全开源免费。

Zabbix 的主要特点有:

指标收集:从任何设备、系统、应用程序上进行指标采集

问题监测:定义智能阈值(安全线)

可视化:单一界面管理平台(UI界面统一页面管理)

告警和修复:确保及时、有效的告警

安全和认证:保护您所有层级的数据

轻松搭建部署:大批模板,开箱即用,节省您宝贵的时间

自动发现:自动监控大型动态环境

分布式监控:无限制扩展

ZABBIX API :将 Zabbix 集成到您 IT 环境的其他任何部分

Zabbix完整监控流程:

首先在被监控端安装agent应用程序,让它作为zabbix的被监控端。那么装了zabbix的被监控端就有数据采集的能力,它们会基于主动模式或者被动模式,将对应的历史数据,或者是趋势数据直接传输到zabbix服务端,其服务端会将数据进行汇集,将历史数据存储到数据库,并且会关联它的认证权限系统,将对应的趋势数据放到数据展示区,基于特定的数据格式UI展示出来。同时将其对应的数据汇集到告警策略区,一旦涉及到数据指标超阈值的行为,会触发告警策略,然后会关联到用户管理系统,认证权限系统,媒介系统,动作系统;然后将其发送告警,发送告警会关联后面的告警媒介,基于邮件、微信、电话短信来进行告警。同时将告警的event事件存储到事件管理器,在组合面板控制区展示出来。最后故障修复之后,事件管理器会重新定义事件,将对应修复的故障将其移除。

Zabbix的主要功能:

Zabbix采集到的数据分类

1:历史数据:每一个收集到的监控数据

2:趋势数据(绘图数据)

SNMP(包括主动轮询和被动捕获)、IPMI、JMX、VMware 监控

灵活的阈值定义

可以参考后端数据库定义非常灵活的告警阈值,即触发器

高度可配置化的告警

可以根据递增计划、接收者、媒介类型自定义发送告警通知;

使用宏变量可以使告警通知变得更加高效有用;

自动操作包含远程执行命令(基于root用户)。

实时图形

使用内置图形功能可以将监控项实时绘制成图形。 Web 监控功能 Zabbix可以追踪模拟鼠标在 Web 网站上的点击操作,来检查 Web 网站的功能和响应时间。

丰富的可视化选项

可以组合多个监控项到单个视图中,创建自定义图表;

网络拓扑图;

以仪表盘样式展示自定义聚合图形和幻灯片演示;

报表;

监控资源的更高层次展示视图(业务视图)。

历史数据存储

存储在数据库中的数据;

历史配置;  https://www.zabbix.com/documentation/5.0/zh/manual/introduction/features

内置数据管理机制

配置简单

将被监控设备添加为主机;

主机一旦添加到数据库中,就会采集数据用于监控;

将模板用于监控设备。

使用模板

模板中分组检查;

模板可以关联模板,继承已关联模板的属性。

网络发现

自动发现网络设备;

Zabbix Agent 发现设备后自动注册;

自动发现文件系统、网络接口和 SNMP OIDs 值。

快捷的 Web 界面

基于 PHP 的 Web 前端;

可以从任何地方访问;

可以定制自己的操作方式;

可以通过审计日志来查看你的操作。

Zabbix API

Zabbix API 为 Zabbix 提供可编程接口,用于批量操作、第三方软件集成和其他用途。

权限管理系统

安全的用户身份验证;

指定的用户只能查看指定的权限范围内的视图。

功能强大且易于扩展的 Zabbix Agent

部署于被监控对象上;

支持 Linux 和 Windows

二进制守护进程

为了更好的性能和更少的内存占用,采用 C 语言编写;便于移植。

适应更复杂的环境

使用 Zabbix Proxy 代理,可以轻松实现分布式远程监控

Zabbix架构

首先zabbix支持多种模式 ,它支持zabbix-server到zabbix-agent模式,也支持zabbix-server到zabbix-proxy模式。架构是zabbix-server同时关联多个zabbix agent,将zabbix agent对应的历史数据和趋势数据存储到它对应的database中,然后再通过zabbix-web端,也就是nginx展示出来。其次如果zabbix要支持proxy代理模式,那么我们只需要授权zabbix proxy,让其监听在特定的端口。而proxy会独立的管理下属zabbix agent,并将zabbix agent对应的数据,独立存储到proxy的database里面去。作为 zabbix server只是遥控zabbix proxy ,将其zabbix proxy 收集到的指标对应的数据,放到其zabbix server对应的zabbix web的图表展示区,zabbix server并没有存储各个代理节点数据库的功能。

同时zabbix还支持java的指标数据库监控,但其有一个缺点,因为zabbix是基于php体系开发的,不支持java的技术体系,而java技术体系是基于类和对象的方式来抽象组织数据。zabbix基于fastcgi来管理其对应的数据管理协议。也就是说zabbix在做绘图处理数据指标收集的时候,它的数据传递模式默认是基于fastcgi,但是java不支持fastcgi。为了去收集图表化展示的java数据,我们必须让java应用支持fastcgi,于是我们需要安装一个JMX的一个类(Java只要安装了jdk/jre,都支持JMX类,JMX就是面向监控系统的统一调用接口的API,有了这个API,就说明java的所有应用体系都支持zabbix的监控,但是要关联其fastcgi对应的接口,所以我们需要java getway这个网关将其抽象为fastcgi接口),也就是说一旦zabbix关联的javagetway,并且将java技术体系内部所有的应用程序支持javagetway,将其绑定起来。这时候我们基于JMX这个类收集到的指标就可以被zabbix-server所支持,最终可以被图表展示出来。

SERVER

Zabbix server 是 Zabbix 软件的核心组件

Zabbix Agent 向其报告可用性、系统完整性信息和统计信息。

Zabbix server也是存储所有配置信息、统计信息和操作信息的核心存储库。

Zabbix server也是Zabbix监控系统的告警中心。在监控的系统中出现任何异常,将发出通知给管理员。

基本的 Zabbix Server 的功能分解成为三个不同的组件。他们是:Zabbix server、Web前端和数据库。

Zabbix 的所有配置信息都存储在 Server和Web前端进行交互的数据库中。例如,当你通过Web前端(或者API)新增一个监控项时,它会被添加到数据库的监控项表里。然后,Zabbix server 以每分钟一次的频率查询监控项表中的有效项,接着将它存储在 Zabbix server 中的缓存里。这就是为什么 Zabbix前端所做的任何更改需要花费两分钟左右才能显示在最新的数据段的原因。

数据库

所有配置信息以及 Zabbix 采集到的数据都被持久存储在数据库中

可以支持MySQL,PostgreSQL,Oracle 等多种数据库

WEB 界面

WEB 界面是 Zabbix server 的一部分,用于实现展示和配置的界面

通常(但不一定)和 Zabbix server 运行在同一台物理机器上

基于 Apache(Nginx)+PHP 实现,早期只支持LAMP架构,从Zabbix5.0开始支持LNMP

AGENT

Zabbix agents 部署在被监控目标上,用于主动监控本地资源和应用程序,并将收集的数据发送给

Zabbix server。从Zabbix5.0开始支技Zabbix Agent2

PROXY

Zabbix Proxy 可以代替 Zabbix Server 采集性能和可用性数据

Zabbix Proxy 在 Zabbix 的部署是可选部分

Zabbix Proxy 的部署可以很好的分担单个Zabbix server的负载

Java 网关

Zabbix 要监控 tomcat 服务器和其它JAVA程序,需要使用 Java gateway 做为代理,才能从JAVA程序中获取数据

内部配置的数据流程

Zabbix 内部的数据流对Zabbix的使用也很重要。首先,为了创建一个采集数据的监控项,就必须先创建主机。其次,在任务的另外一端,必须要有监控项才能创建触发器(trigger),必须要有触发器来创建动作(action)。因此,如果您想要收到类似“X个server上CPU负载过高”这样的告警,您必须首先为 Server X 创建一个主机条目,其次创建一个用于监控其 CPU的监控项,最后创建一个触发器,用来触发 CPU负载过高这个动作,并将其发送到您的邮箱里。虽然这些步骤看起来很繁琐,但是使用模板的话,实际操作非常简单。也正是由于这种设计,使得 Zabbix 的配置变得更加灵活易用。

Zabbix 术语

被监控: 即 Zabbix 监控的主机或设备

监控项item:即 Zabbix 监控的相关指标,比如:CPU利用率,内存使用率,TCP连接数等

应用集Application:为方便管理众多的监控项,可将多个同类型的监控项进行归类,纳入一个集合中,即应用集

触发器Trigger:是一个表达式,或者说一个条件,如磁盘利用率超过80%等,当触发条件后,会导致一个触发事件,这个事件会执行一个或多个动作

动作Action:动作是触发器的条件被触发后的行为,可以是发送一条短信,微信或邮件,或是重启某个服务

告警:当触发器和动作二者结合起来时,就构成了的告警机制,比如cpu的使用率达到80%以上,触发了报警动作,系统将自动发送一封邮件到指定的邮箱。然后运维可以及时的去处理此错误。

Web 监测:对WEB服务进行检测,比如:访问指定网站是否可正常访问

模板 Template: 可以方便地应用于多个主机的一组实体的集合。而这些实体包括:

items(监控项)

applications(应用集)

triggers(触发器)

graphs(图形)

screens (聚合图形,自Zabbix 2.0起)

陷入器(trapper)——用于处理主动采集、陷入以及分布式节点间或服务器代理的通信

不可到达轮询器(unreachable poller)——用于轮询不可到达到的设备

vmware 收集器(vmware collector)——负责从vmware服务进程中收集数据(服务器代理端不支持这种类型的进程);

可用的mode参数包括:

avg——指定类型所有进程的平均值

count——返回创建的指定类型进程的数量

max——最大值

min——最小值

——进程号,含义参见“描述”中所述的;

可用的state参数包括:

繁忙(busy)——表示处于繁忙状态的进程;

空闲(idle)——表示处于空闲状态的进程;

low-level discovery rules (自动发现规则 ,自Zabbix 2.0起)

web scenarios (web场景, 自Zabbix 2.0起)。

 zabbix的安装和基本操作

Zabbix 安装要求

https://www.zabbix.com/documentation/6.0/zh/manual/installation/requirements

https://www.zabbix.com/documentation/5.0/zh/manual/installation/requirements

https://www.zabbix.com/documentation/4.0/zh/manual/installation/requirements

安装 Zabbix Server

Zabbix Server 安装方法介绍

二进制包安装: 官方提供了二进制包安装的方法,可以支持CentOS和Debian/Ubuntu的安装

源码编译安装: 部署繁琐,生产环境定制安装可以使用

基于容器安装: 测试环境使用

zabbix配置文件详解:

zabbix server配置文件/etc/zabbix/zabbix_server.conf

zabbix agent配置文件/etc/zabbix/zabbix_agentd.conf

zabbix  监听端口

  10051:server

  10050:agent

  10052:java gateway

日志文件所在路径

zabbix配置文件详解

日志到500M自动滚动

日志级别

默认pollers进程(预启动多少个实例数量)

预启动多少进程用于处理zabbix agent数据

启动多少进程用于检测不可达主机的运行状态

启动多少Ping进程(若检测网络设备多,可以多调)

启动多少http进程用于前端接收web页面的处理

进程的初始实例数量,用于处理动作中的自动同步步骤的进程的数量。实战环境要调

是否开启SNMP检测进程

每隔多少小时清理一次代理端数据库的history数据

每次最多删除历史数据的行数

监控缓存数量调整,根据实际内存来决定

内存缓存的数据更新周期,单位为秒

数据同步进程数量

历史数据缓存

历史数据索引缓存的大小

设置划分系统多少共享内存用于存储计算出来的趋势数据,此值可能影响数据库的压力

内存大可以多调

历史数据缓存值共享内存的大小。

获取监控数据的超时时长

当主机不可用了,多久检查一次该主机的可用性,单位为秒

监控网络设备的命令行工具

慢查询日志,单位为毫秒

开启多少proxy代理进程,用于搜集proxy代理监控数据

proxy被动模式下,server多少秒同步配置文件至proxy。

被动模式下,zabbix server间隔多少秒向proxy请求历史数据

zabbix对其他主机进行监控

在agent主机上安装zabbix-agent,并启动agent。

vim /etc/zabbix/zabbix_agentd.conf

systemctl enable --now zabbix-agent

zabbixtomcat进行监控

tomcat基于java体系,zabbix-server需要安装java-gateway中间系统才能对后台tomcat进行监控

同时需要在tomcat内开启JMX监控

CATALINA_OPTS="$CATALINA_OPTS

-Dcom.sun.management.jmxremote #启用远程监控JMX

-Dcom.sun.management.jmxremote.port=12345 #默认启用的JMX端口号,要和zabbix添加主机时候的端口一致即可

-Dcom.sun.management.jmxremote.authenticate=false  #不使用用户名和密码

-Dcom.sun.management.jmxremote.ssl=false #不使用ssl认证

-Dcom.rmi.server.hostname=192.168.10.120"

 在zabbix server端需要安装zabbix-java-gateway

yum -y install zabbix-java-gateway

对zabbix-java-gateway进行配置

vim /etc/zabbix/zabbix_java_gateway.conf

systemctl start zabbix-java-gateway

同时对zabbix server进行配置

然后在zabbix的监控页里取配置主机对应的模板

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

桥接模式(Bridge)——结构型模式

桥接模式(Bridge)——结构型模式 桥接模式是一种结构型设计模式, 可将一个大类或一系列紧密相关的类拆分为抽象和实现两个独立的层次结构, 从而能在开发时分别使用。 假如有三个类Circle、triangle和rectangle,现在要…

祝贺嫦娥六号发射成功,思迈特再为航天项目提供数据支持和保障

近日,嫦娥六号由长征五号遥八运载火箭在中国文昌航天发射场发射成功。 据悉,嫦娥六号是中国探月工程的第六个探测器,其主要任务是前往月球背面的南极-艾特肯盆地进行科学探测和样品采集。 嫦娥六号任务不仅是技术上的挑战,也是科学…

嗨动PDF编辑器适合你的pdf编辑器,试试吧!

pdf编辑器有哪些?在数字化办公日益普及的今天,PDF文档因其跨平台、高保真度的特性而备受欢迎。无论是工作汇报、学术研究还是日常学习,我们都需要对PDF文档进行编辑、修改和整理。然而,如何选择合适的PDF编辑器却成了许多人头疼的…

本地搭建各大直播平台录屏服务结合内网穿透工具实现远程管理录屏任务

文章目录 1. Bililive-go与套件下载1.1 获取ffmpeg1.2 获取Bililive-go1.3 配置套件 2. 本地运行测试3. 录屏设置演示4. 内网穿透工具下载安装5. 配置Bililive-go公网地址6. 配置固定公网地址 本文主要介绍如何在Windows系统电脑本地部署直播录屏利器Bililive-go,并…

做抖店如何提高与达人合作的几率?有效筛选+有效推品

我是王路飞。 总是有很多新手商家,找我吐槽,抖音上的达人特别不好找,好不容易加上了,要么是发消息不回复,要么是寄样后就没下文了。 虽然一直都说找达人带货玩法比较简单,但也离不开电商的基本逻辑&#…

Redis实战笔记

黑马点评项目笔记 一:数据交互: 1.把String解析成Java对象集合并且存入Redis及Java对象集合转换成JSON。 Overridepublic Result queryTypeList() {String s stringRedisTemplate.opsForValue().get("cache:list:");System.out.println(&qu…

京东h5st4.7逆向分析

声明 本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 本文章未…

OFDM802.11a的FPGA实现(十四)data域的设计优化,挤掉axi协议传输中的气泡

原文链接(相关文章合集):OFDM 802.11a的xilinx FPGA实现 目录 1.前言 2.data域的时序要求 3.Debug 1.前言 前面12篇文章详细讲述了,OFDM 802.11a发射部分data域的FPGA实现和验证,今天对data域的设计做一个总结。在…

打破地域界限,HubSpot海外获客系统引领企业走向国际化

在全球化的浪潮中,企业如何精准把握海外市场、高效获取并转化目标客户,已成为决定其市场地位与未来发展的关键因素。HubSpot海外获客系统以其独特的视角、强大的功能和卓越的性能,正在引领全球营销进入一个新的时代。今天运营坛将深入剖析Hub…

wps

文章目录 取消自动升级、WPS热点及广告推送excel数字大小排序函数不起作用vlookup函数 取消自动升级、WPS热点及广告推送 打开WPS Office,点击左上角“首页”图标,依次点击右上角“设置”—>“配置和修复工具”。在弹出框点击“高级”,选…

如何在IDEA中找到jar包路径对应的maven依赖

1.找到文件所对应的jar包路径 2.按照箭头顺序操作 3.查找文件所对应的依赖

QX---mini51单片机学习---(9)中断系统

目录 1什么是中断 2中断系统在单片机系统中的作用 3如何使用单片机的中断系统 1什么是中断 RST P0想输出高电平接上拉电阻 2中断系统在单片机系统中的作用 可位寻址:IE中的EA可以直接,EA1; 外部中断:先EA1;再EX1…

Linux-- 重定向缓冲区

目录 0.接上篇文章 1.粗略的见一下这两个问题 2.理解重定向 3.理解缓冲区 0.接上篇文章 Linux--基础IO(文件描述符fd)-CSDN博客 1.粗略的见一下这两个问题 先来了解几个函数: stat()函数用于获取指定文件或符号链接的元数据。如果文件是…

【多电压流程 Multivoltage Flow】- 5.特定工具使用建议(6.Formality)

使用Formality进行形式验证 Formality支持具有低功耗特性的功能等效性检查,如时钟门控、多阈值电压(multiple-Vt)、多电压供电、电源门控以及动态电压和频率缩放。Formality能够识别低功耗单元,例如隔离单元、电平转换器、始终开启单元、保持寄存器和电源门。 Formality支持…

MQTT 5.0 报文解析 04:PINGREQ 与 PINGRESP

欢迎阅读 MQTT 5.0 报文系列 的第四篇文章。在上一篇中,我们已经介绍了 MQTT 5.0 中的 SUBSCRIBE 报文和 UNSUBSCRIBE 报文。现在,我们将介绍用于维持连接的控制报文:PINGREQ 和 PINGRESP。 除了用于连接、发布和订阅的控制报文,…

抖音上有可以长久赚钱的副业吗?当然有,只有它最稳定长久!

大家好,我是电商糖果 现在有很多年轻人在大城市上班,发现辛辛苦苦一年也赚不到多少钱。 如果说自己有了房贷,车贷,那更是一点儿不敢歇。 为了可以有更多的收入,年轻人都希望可以靠着下班时间,找一个可以…

visual sudio使用-创建空项目-创建cpp文件

新建空项目 新建cpp文件 #include <iostream> using namespace std;int main() {cout << "hello vs" << endl;cout << "hello c" << "\n";cout << "hello first day\n"; }

如何在群晖NAS中开启FTP并实现使用公网地址远程访问传输文件

文章目录 1. 群晖安装Cpolar2. 创建FTP公网地址3. 开启群晖FTP服务4. 群晖FTP远程连接5. 固定FTP公网地址6. 固定FTP地址连接 本文主要介绍如何在群晖NAS中开启FTP服务并结合cpolar内网穿透工具&#xff0c;实现使用固定公网地址远程访问群晖FTP服务实现文件上传下载。 Cpolar内…

关于SQL

数据库简介&#xff1a; 数据库分类 关系型数据库模型&#xff1a; 优点&#xff1a;易于维护&#xff0c;可以实现复杂的查询 缺点&#xff1a;海量数据 读取写入性能差&#xff0c;高并发下数据库的io是瓶颈 是把复杂的数据结构归结为简单的二元关系&#xff08;即二维表…

【数据结构】有关栈和队列相互转换问题

文章目录 用队列实现栈思路实现 用栈实现队列思路实现 用队列实现栈 Leetcode-225 用队列实现栈 思路 建立队列的基本结构并实现队列的基本操作 这部分这里就不多说了&#xff0c;需要的可以看笔者的另一篇博客 【数据结构】队列详解(Queue) 就简单带过一下需要实现的功能 …