Zabbix-企业级分布式开源监控解决方案部署

概述

Zabbix 是一个企业级分布式开源监控解决方案。

Zabbix 软件能够监控众多网络参数和服务器的健康度、完整性。Zabbix 使用灵活的告警机制,允许用户为几乎任何事件配置基于邮件的告警。这样用户可以快速响应服务器问题。
Zabbix 基于存储的数据提供出色的报表和数据可视化功能。这些功能使得 Zabbix 成为容量规划的理想选择。

Zabbix 支持主动轮询(polling)和被动捕获(trapping)。Zabbix所有的报表、统计数据和配置参数都可以通过基于 Web 的前端页面进行访问。基于 Web 的前端页面确保您可以在任何地方访问您监控的网络状态和服务器健康状况。适当的配置后,Zabbix 可以在监控 IT 基础设施方面发挥重要作用。无论是对于有少量服务器的小型组织,还是拥有大量服务器的大企业而言,同样适用。

Zabbix功能
  • 数据采集
  • 可用性和性能检查;
  • 支持 SNMP(包括主动轮询和被动捕获)、IPMI、JMX、VMware 监控;
  • 自定义检查;
  • 按照自定义的时间间隔采集需要的数据;
    -> 通过 Server/Proxy 和 Agents 来执行数据采集。
  • 灵活的阈值定义
  • 您可以参考后端数据库定义非常灵活的告警阈值,即触发器
  • 高度可配置化的告警
  • 可以根据递增计划、接收者、媒介类型自定义发送告警通知;
  • 使用宏变量可以使告警通知变得更加高效有用;
    -> 自动操作包含远程执行命令。
  • 实时图形
  • 使用内置图形功能可以将监控项实时绘制成图形。
  • Web 监控功能
  • Zabbix可以追踪模拟鼠标在 Web 网站上的点击操作,来检查 Web 网站的功能和响应时间。
  • 丰富的可视化选项
  • 可以组合多个监控项到单个视图中,创建自定义图表;
  • 网络拓扑图;
  • 以仪表盘样式展示自定义聚合图形和幻灯片演示;
  • 报表;
  • 监控资源的更高层次展示视图(业务视图)。
  • 历史数据存储
  • 存储在数据库中的数据;
  • 历史配置;
  • 内置数据管理机制(housekeeping)。
  • 配置简单
  • 将被监控设备添加为主机;
  • 主机一旦添加到数据库中,就会采集数据用于监控;
  • 将模板用于监控设备。
  • 使用模板
  • 模板中分组检查;
  • 模板可以关联模板,继承已关联模板的属性。
  • 网络发现
  • 自动发现网络设备;
  • Zabbix Agent 发现设备后自动注册;
  • 自动发现文件系统、网络接口和 SNMP OIDs 值。
  • 快捷的 Web 界面
  • 基于 PHP 的 Web 前端;
  • 可以从任何地方访问;
  • 您可以定制自己的操作方式;
  • 您可以通过审计日志来查看你的操作。
  • Zabbix API
  • Zabbix API 为 Zabbix 提供可编程接口,用于批量操作、第三方软件集成和其他用途。
  • 权限管理系统
  • 安全的用户身份验证;
  • 指定的用户只能查看指定的权限范围内的视图。
  • 功能强大且易于扩展的 Zabbix Agent
  • 部署于被监控对象上;
  • 支持 Linux 和 Windows ;
  • 二进制守护进程
  • 为了更好的性能和更少的内存占用,采用 C 语言编写;
  • 便于移植。
  • 适应更复杂的环境
  • 使用 Zabbix Proxy 代理,可以轻松实现分布式远程监控。
Zabbix架构

在这里插入图片描述
在这里插入图片描述

Server

Zabbix server 是 Zabbix软件的核心组件,agent 向其报告可用性、系统完整性信息和统计信息。server也是存储所有配置信息、统计信息和操作信息的核心存储库。

数据库

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

Web 界面

为了从任何地方和任何平台轻松访问 Zabbix ,我们提供了基于 web 的界面。该界面是 Zabbix server 的一部分,通常(但不一定)和 Zabbix server 运行在同一台物理机器上。

Proxy

Zabbix proxy 可以代替 Zabbix server采集性能和可用性数据。Zabbix proxy在Zabbix的部署是可选部分;但是proxy的部署可以很好的分担单个Zabbix server的负载。

Agent

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

数据流

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

Zabbix常用术语

主机(host)

  • 你想要监控的联网设备,有IP/DNS。

主机组(host group)

  • 主机的逻辑组;可能包含主机和模板。一个主机组里的主机和模板之间并没有任何直接的关联。通常在给不同用户组的主机分配权限时候使用主机组。

监控项(item)

  • 你想要从主机接收的特定数据,一个度量(metrics)/指标数据。

值预处理(value preprocessing)

  • 存入数据库之前,转化/预处理接收到的指标数据

触发器(trigger)

  • 触发器是一个逻辑表达式,用来定义问题阈值和“评估”监控项接收到的数据
    当接收到的数据高于阈值时,触发器从“OK”变成“Problem”状态。当接收到的数据低于阈值时,触发器保留/返回“OK”的状态。

事件(event)

  • 发生的需要注意的事件,例如触发器状态改变、自动发现/监控代理自动注册

事件标签(event tag)

  • 提前设置的事件标记,可以用于事件关联,权限细化设置等。

事件关联(event correlation)

  • 自动灵活的、精确的关联问题和解决方案
    比如说,你可以定义触发器A告警的异常可以由触发器B解决,触发器B可能采用完全不同的数据采集方式。

异常(problems)

  • 处在“异常”状态的触发器

异常状态更新(problem update)

  • Zabbix提供的异常管理选项,例如添加评论、确认异常、改变严重级别或者手动关闭等。

动作(action)

  • 预先定义的应对事件的动作

一个动作由操作(例如发出通知)和条件(什么时间进行操作)组成

升级(escalation)

  • 用户自定义的一个在动作(action)内执行操作的场景; 发送通知/执行远程命令的序列。

媒介(media)

  • 发送告警通知的方式、途径

告警通知(notification)

  • 通过预先设定好的媒介途径发送事件信息给用户。

远程命令(remote command)

  • 预定义好的,满足特定条件的情况下,可以在被监控主机上自动执行的命令。

模版(template)

  • 被应用到一个或多个主机上的一整套实体组合(如监控项,触发器,图形,聚合图形,应用,LLD,Web场景等)。

模版的应用使得主机上的监控任务部署快捷方便;也可以使监控任务的批量修改更加简单。模版是直接关联到每台单独的主机上。

应用(application)

  • 监控项的逻辑分组

Web场景(web scenario)

  • 检查网站可浏览性的一个或多个HTTP请求

前端(frontend)

  • Zabbix提供的web界面

仪表板(dashboard)

  • 自定义的web前端模块中,用于重要的概要和可视化信息展示的单元, 我们称之为组件(widget)。

组件(widget)

  • Dashboard中用来展示某种信息和数据的可视化组件(概览、map、图表、时钟等)。

Zabbix API

  • Zabbix API允许用户使用JSON RPC协议来创建、更新和获取Zabbix对象(如主机、监控项、图表等)信息或者执行任何其他的自定义的任务

Zabbix server

  • Zabbix软件的核心进程,执行监控操作,与Zabbix proxies和Agents进行交互、触发器计算、发送告警通知;也是数据的中央存储库

Zabbix agent

  • 部署在监控对象上的进程,能够主动监控本地资源和应用

Zabbix proxy

  • 代替Zabbix Server采集数据,从而分担Zabbix Server负载的进程

加密(encryption)

  • 使用TLS(Transport Layer Security )协议支持Zabbix组建之间的加密通讯(server, proxy, agent, zabbix_sender 和 zabbix_get工具) 。

网络自动发现(network discovery)

  • 网络设备的自动发现。

低级别自动发现(low-level discovery)

  • 特定设备上低级别实体的自动发现(如文件系统、网络接口等)。

低级别自动发现规则(low-level discovery rule)

  • 为自动发现设备中低级别实体设定的一系列规则。

监控项原型(item prototype)

  • 有特定变量的指标,用于自动发现。. 低级别自动发现执行之后,该变量将被实际自动发现的参数替换,该指标也自动开始采集数据。

触发器原型(trigger prototype)

  • 有特定参数作为变量的触发器,用于自动发现。自动发现执行后该变量将被实际自动发现的参数替换,该触发器自动开始计算数据。

还有其他的一些Zabbix 实体原型也被用于自动发现中——图表原型,主机原型,主机组原型,应用原型。

agent自动注册(agent auto-registration)

  • Zabbix agent自己自动注册为一个主机,并且开始监控的自动执行进程。

#####Zabbix安装部署
这里采用自己搭建yum仓库安装Zabbix

[zabbix]
name=zabbix
baseurl=http://172.25.254.55/4.0
gpgcheck=0
[root@server1 ~]# yum install zabbix-server-mysql  zabbix-web-mysql mariadb-server -y
  1. 创建数据库
    对于 Zabbix server 和 proxy 守护进程而言,数据库是必须的。而运行 Zabbix agent 是不需要的。
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'ql202897..';
Query OK, 0 rows affected (0.00 sec)

  1. 导入数据库
[root@server1 zabbix-server-mysql-4.0.5]# pwd
/usr/share/doc/zabbix-server-mysql-4.0.5
[root@server1 zabbix-server-mysql-4.0.5]# ls
AUTHORS  ChangeLog  COPYING  create.sql.gz  NEWS  README
[root@server1 zabbix-server-mysql-4.0.5]# zcat  create.sql.gz  | mysql -p zabbix
Enter password: 
  1. 为Zabbix server 配置数据库
[root@server1 ~]# vim /etc/zabbix/zabbix_server.conf 
	DBPassword=ql202897..
  1. Zabbix 前端配置,修改时区
[root@server1 ~]# vim /etc/httpd/conf.d/zabbix.conf
     php_value date.timezone Asia/Shanghai
  1. 启动Zabbix server进程, 并在系统启动时让它自启
[root@server1 ~]# systemctl start zabbix-server
[root@server1 ~]# systemctl enable zabbix-server
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-server.service to /usr/lib/systemd/system/zabbix-server.service.
  1. 安装agent并启动
# yum install zabbix-agent
# systemctl start zabbix-agent
# systemctl enable zabbix-agent
  1. 登陆web页面
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值