运维监控系统——Zabbix简介

Johnny21 等级 664 0 0

前言

对于运维人员来说,监控是非常重要的,因为如果想要保证线上业务整体能够稳定运行,那么我们则需要实时关注与其相关的各项指标是否正常,而一个业务系统的背后,往往存在着很多的服务器、网络设备等硬件资源,如果我们想要能够更加方便的、集中的监控他们,我们则需要依靠一些外部的工具,而zabbix就是一个被广泛使用的,可以实现集中监控管理的应用程序。

我们监控的初衷就是当某些指标不符合我们的需求时,我们能够在第一时间发现异常,所以,监控工具需要定期的对被监控主机进行检查、信息收集等操作,当被监控主机出现异常时,能够及时报警、通知管理员,并且需要记录这些异常,以便我们分析这些数据,查漏补缺,那么,一个监控工具就应该具备采集信息、存储信息、展示信息、报警通知等功能,而zabbix就可以做到这些,除了zabbix,你可能还听说过cacti、nagios、ganglia等类似的监控系统,但是此处,我们只聊zabbix。

运维监控系统——Zabbix简介

一、zabbix 通讯方式

好了,我们大概了解了一下zabbix,那么我们通过zabbix能够监控哪些硬件资源呢,理论上来说,只要是与我们的业务有关的硬件资源,都应该被监控,比如 主机、交换机、路由器、UPS等等。

但是,监控它们的前提是能与它们进行通讯,那么问题来了,由于硬件的不同,导致我们无法使用统一的方法去监控他们,这个时候,就需要监控程序有一定的通用性,或者说,监控程序需要能够与多种硬件设备通讯,才能满足我们的监控需求,举个例子:如果被监控的对象是一台安装了linux操作系统的服务器,那么我们可以通过ssh或者telnet这种远程工具与被监控对象建立起通讯的通道,可是如果被监控的对象是一台安装了其他操作系统的服务器呢,更甚之,被监控的对象并不是服务器,而只是一台交换机或者路由器呢,所以,zabbix如果想要能够全面的监控这些对象,则需要能够通过各种方法与它们进行通讯。

那么zabbix能够支持哪些通讯方式呢,总结如下:

方式 详解
agent 通过专用的代理程序进行监控,与常见的master/agent模型类似,如果被监控对象支持对应的agent,推荐首选这种方式。
ssh/telnet 通过远程控制协议进行通讯,比如ssh或者telnet。
SNMP 通过SNMP协议与被监控对象进行通讯,SNMP协议的全称为Simple Network Management Protocol ,被译为 “简单网络管理协议”,通常来说,我们无法在路由器、交换机这种硬件上安装agent,但是这些硬件往往都支持SNMP协议,SNMP是一种比较久远的、通行的协议,大部分网络设备都支持这种协议,其实SNMP协议的工作方式也可以理解为master/agent的工作方式,只不过是在这些设备中内置了SNMP的agent而已,所以,大部分网络设备都支持这种协议。
IPMI 通过IPMI接口进行监控,我们可以通过标准的IPMI硬件接口,监控被监控对象的物理特征,比如电压,温度,风扇状态,电源状态等。
JMX 通过JMX进行监控,JMX(Java Management Extensions,即Java管理扩展),监控JVM虚拟机时,使用这种方法也是非常不错的选择。

运维监控系统——Zabbix简介


二、zabbix 各项组件介绍

好了,我们刚才提到了zabbix agent,一般情况下,我们将zabbix agent部署到被监控主机上,由agent采集数据,报告给负责监控的中心主机,中心主机也就是master/agent模型中的master,负责监控的中心主机被称为zabbix server,zabbix server将从agent端接收到的信息存储于zabbix的数据库中,我们把zabbix的数据库端称为zabbix database, 如果管理员需要查看各种监控信息,则需要zabbix的GUI,zabbix的GUI是一种Web GUI,我们称之为zabbix web,zabbix web是使用php编写的,所以,如果想要使用zabbix web展示相关监控信息,需要依赖LAMP环境,不管是zabbix server ,或是zabbix web,他们都需要连接到zabbix database获取相关数据,这样说可能不容易理解,对比下图理解上述概念,就容易许多。

运维监控系统——Zabbix简介

当监控规模变得庞大时,我们可能有成千上万台设备需要监控,这时我们是否需要部署多套zabbix系统进行监控呢?

如果部署多套zabbix监控系统,那么监控压力将会被分摊,但是,这些监控的对象将会被尽量平均的分配到不同的监控系统中,这个时候,我们就无法通过统一的监控入口,去监控这些对象了,虽然分摊了监控压力,但是也增加了监控工作的复杂度,那么,我们到底该不该建立多套zabbix监控系统从而分摊巨大的监控压力呢?

其实,zabbix天生就有处理这种问题的能力,因为zabbix支持分布式监控,我们可以把成千上万台的被监控对象分成不同的区域,每个区域中设置一台代理主机,区域内的每个被监控对象的信息被agent采集,提交给代理主机,在这个区域内,代理主机的作用就好比zabbix server,我们称这些代理主机为zabbix proxy,zabbix proxy再将收集到的信息统一提交给真正的zabbix server处理,这样,zabbix proxy分摊了zabbix server的压力,同时,我们还能够通过统一的监控入口,监控所有的对象,当监控规模庞大到需要使用zabbix proxy时,zabbix的架构如下图,我们可以对比下图,理解上述描述。

运维监控系统——Zabbix简介

此处,我们再把刚才说到的各种组件总结一遍:

组件 功能
zabbix agent 部署在被监控主机上,负责被监控主机的数据,并将数据发送给zabbix server。
zabbix server 负责接收agent发送的报告信息,并且负责组织配置信息、统计信息、操作数据等。
zabbix database 用于存储所有zabbix的配置信息、监控数据的数据库。
zabbix web zabbix的web界面,管理员通过web界面管理zabbix配置以及查看zabbix相关监控信息,可以单独部署在独立的服务器上。
zabbix proxy 可选组件,用于分布式监控环境中,zabbix proxy代表server端,完成局部区域内的信息收集,最终统一发往server端。

四、工作模式

了解完了zabbix的几个核心组件,我们再来聊聊zabbix的工作模式。

我们知道,agent端会将采集完的数据主动发送给server端,这种模式我们称之为主动模式,即对于agent端来说是主动的。

其实,agent端也可以不主动发送数据,而是等待server过来拉取数据,这种模式我们称之为被动模式。

聪明如你一定已经明白,不管是主动模式还是被动模式,都是对于agent端来说的,而且,主动模式与被动模式可以同时存在,并不冲突。

管理员可以在agent端使用一个名为zabbix_sender的工具,测试是否能够向server端发送数据。
管理员可以在server端使用一个名为zabbix_get的工具,测试是否能够从agent端拉取数据。

好了,我们已经了解了zabbix的一些基本概念,接下来我们将演示zabbix搭建过程,并且演示相关服务的监控实施过程。

本文转自 https://blog.csdn.net/meltsnow/article/details/91908357,如有侵权,请联系删除。

收藏
评论区

相关推荐

运维监控系统——Zabbix简介
前言对于运维人员来说,监控是非常重要的,因为如果想要保证线上业务整体能够稳定运行,那么我们则需要实时关注与其相关的各项指标是否正常,而一个业务系统的背后,往往存在着很多的服务器、网络设备等硬件资源,如果我们想要能够更加方便的、集中的监
Prometheus架构与实践分享
Prometheus已经被广泛应用于数据中心监控,尤其是和Kubernetes结合的容器监控。本文主要从架构分析到落地实践,详细介绍Prometheus原理和使用。对比Prometheus与其他监控工具(Zabbix、OpenFalcon)的特点与使用场景。然后介绍Prometheus与Kubernetes集成,主要从监控和自动伸缩两个方面。最后通过企业案
OSSIM架构与组成综述
**OSSIM架构与组成综述** OSSIM布道师 李晨光 **一、背景** 如果运维工程师手里没有高效的管理工具支持,就很难快速处理故障。市面上有很多运维监控工具,例如商业版的 Solarwinds、ManageEngine以及WhatsUp等,开源的MRTG、Nagios、Cacti、Zabbix、OpenNMS、Ganglia等。 [![wKi
IT:从运维到运营
_本文转自公众号:傲寒荐书,作者:陈傲寒_ _IT运维?IT运营?_ _都是 IT Operations,有什么区别?_ _IT运维管理?IT运营管理?_ _都是 ITOM,有什么区别?_ _一字之差,只是翻译不同,还是另有玄机?_ _其实,_**中文真的是一门更精确的语言 :-)** * _IT运维是“活着”,IT运营是“活得好”;_
MySQL运维之
**1、mysqldump备份一个数据库** mysqldump命令备份一个数据库的基本语法: mysqldump -u user -p pwd dbname > Backup.sql 我们来讲解一下备份的文件都包含了什么?\-- MySQL dump 10.13 Distrib 5.5.20, for Win32 (x86)\--
Ubuntu16.04安装zabbix
1. 安装zabbix所需的PHP模块 * apt-get install php7.0-bcmath php7.0-xml php7.0-mbstring 2. 安装zabbix * wget [http://repo.zabbix.com/zabbix/3.2/ubuntu/pool/main/z/zabb
mysql报错排查总结
**mysql报错:** ------------ \[root@zabbix ~\]# mysql ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 问题排查总结: ------- ### **
64.监控平台介绍 安装zabbix 忘记admin密码
19.1 Linux监控平台介绍 19.2 zabbix监控介绍 19.3/19.4/19.6 安装zabbix 19.5 忘记Admin密码如何做 19.1 Linux监控平台介绍: 常见开源监控软件 ~1.cacti、nagios、zabbix、smokeping、open-falcon等等 ~2.cacti、smokeping偏向于基础监
CentOS 6.4 Zabbix 安装
yum和rpm安装zabbix 2.0.9,从2.0.4开始zabbix官方提供了从rpm包和yum仓库安装的方法,近来有空特地参考了官方文档进行了尝试,安装过程记录如下 1、安装zabbix 官方的软件配置仓库包 rpm -ivh http://repo.zabbix.com/zabbix/2.0/rhel
CentOS 7上搭建 Zabbix4.0!
公众号关注“**杰哥的IT之旅**”, 选择“ **星标** ”, 重磅干货,第一 时间送达! ![](https://oscimg.oschina.net/oscnet/71ddb7bb-23ff-4ca0-9ae9-070b378d4136.jpg) ### zabbix介绍 Zabbix 是一个基于 WEB 界面的提供分布式
Linux实战教学笔记50:Zabbix监控平台3.2.4(二)深入理解zabbix
##一,Zabbix Web操作深入 ###1.1 Zabbix Web下的主机和模版以及监控项的添加方式 (1)创建一个模版 > 我们所有的功能几乎都是在模版中定义的 ![1.png-27.4kB](https://oscimg.oschina.net/oscnet/069729381dafd4bee3dc0dd41efc3aa4688.png)
Linux运维常见面试题之精华收录
Linux运维常见面试题之精华收录 ================= **1、什么是运维?什么是游戏运维?** 1)运维是指大型组织已经建立好的网络软硬件的维护,就是要保证业务的上线与运作的正常, 在他运转的过程中,对他进行维护,他集合了网络、系统、数据库、开发、安全、监控于一身的技术 运维又包括很多种,有DBA运维、网站运维、虚
MONGO DB too many mongodb page_faults 报错排查step by step
![](https://oscimg.oschina.net/oscnet/23c4624a-6bcc-4293-b675-41f639362dc9.png) 早上运维的同学, morning call,说zabbix的 MONGO 监控报警,图片传给我,报的错误是 too many mongodb page\_faults. 本来 page\_
OneAPM 云监控部署与试用体验
作为 Zabbix 骨灰级粉丝,一直以来对第三方监控(APM)都是拒绝的。一来觉得收费,二来担心数据被人所知,三来觉得 Zabbix 牛逼到无可取代。但是,随着 APM 市场的火爆,我决定「放下身段」试用一次,并且会总结出它与开源监控之间差别在哪里。 运维经历的磨难 ------- 虽然都在不同的公司,做着不同的业务,但是大多运维总会经历相同的故事,以及
StatsD!次世代系统监控的核心
在互联网业务蒸蒸日上的今时今日,系统架构日渐复杂,随着软件产品和工程团队的变革,许多开源的监控工具应运而生,其中有一些相当出名,比如 Zabbix、Nagios 还有 StatsD。也有一些问题被大家不断讨论,例如,监控领域的开源工具 Zabbix 和 Nagios 哪个更好?StatsD 是否有可能取代 Zabbix 或 [Nagios](https://