Zabbix部署

Zabbix 介绍

zabbix是由Alexei Vladishev开发的一种网络监视,管理系统,基于Server-Client架构,可用于监视各种网络服务,服务器和网络机器等状态

使用各种Database-eNd 如 MYSQL PostgreSQL,SQLite,Oracle或IBM DB2储存资料。Server端基于C语言:web管理端frontend是基于PHP所制作的

Zabblx可以使用多种方式监视,可以只使用simple check不需要安装client端,亦可是于SMTP或
HTTP,各种协议定制监视

​ 客户端如UNIX,windows中安装Zabbix Agent之后,可监视CPU Load,网络使用状况,硬盘容量
等各种状态。而就算没有安装Agent在监视对象中,zabbix也可以经由SNMP、TCP,ICMP,利用I
PMI,SSH,telent对自标进行监视

zabbix自带的ltem足够满足普通小公司的监控需求,对于大公司也可以设定自定义的Item,自动生成报表,也有API可以和其他系统集成

附一下zabbix的官方中文文档

功能组件

  • Server
    • Zabbix server是 Zabbix agent 向其报告可用性、系统完整性信息和统计信息的核心组件。是存储所有配置信息、统计信息和操作信息的核心存储库。
  • 数据库
    • 所有配置信息以及 Zabbix 收集到的数据都被存储在数据库中。
  • Web 界面
    • 为了从任何地方和任何平台轻松访问 Zabbix ,我们提供了基于 web 的界面。该界面是 Zabbix server 的一部分,通常(但不一定)和 Zabbix server 运行在同一台物理机器上。
  • Proxy
    • 可以替 Zabbix server 收集性能和可用性数据。Zabbix proxy 是 Zabbix 环境部署的可选部分;然而,它对于单个 Zabbix server 负载的分担是非常有益的
  • Agent
    • 部署在被监控目标上,用于主动监控本地资源和应用程序,并将收集的数据发送给 Zabbix server。
  • 数据流

    • 此外,重要的是,需要回过头来了解下 Zabbix 内部的整体数据流。首先,为了创建一个采集数据的监控项,您就必须先创建主机。其次,必须有一个监控项来创建触发器。最后,您必须有一个触发器来创建一个动作,这几个点构成了一个完整的数据流。因此,如果您想要收到 CPU load it too high on Server X 的告警,您必须首先为 //Server X // 创建一个主机条目,其次创建一个用于监视其 CPU 的监控项,最后创建一个触发器,用来触发 CPU is too high 这个动作,并将其发送到您的邮箱里。虽然这些步骤看起来很繁琐,但是使用模板的话,其实并不复杂。也正是由于这种设计,使得 Zabbix 的配置变得更加灵活易用

关联术语

***主机(host)***

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

***主机组(host group)***

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

***监控项(item)***

- 你想要接收的主机的特定数据,一个度量/指标数据。

***值预处理(value preprocessing)***

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

***触发器(trigger)***

- 一个被用于定义问题阈值和“评估”监控项接收到的数据的逻辑表达式

当接收到的数据高于阈值时,触发器从”OK”变成”Problem”状态。当接收到的数据低于阈值时,触发器保留/返回”OK”的状态。

***事件(event)***

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

***事件标签(event tag)***

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

***事件关联(event correlation)***

- 自动灵活的、精确的关联问题和解决方案

比如说,你可以定义触发器A告警的异常可以由触发器B解决,触发器B可能采用完全不同的数据采集方式。

***异常(problems)*** - 一个处在”异常”状态的触发器

***异常更新(problem update)***

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

***动作(action)***

- 预先定义的应对事件的操作

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

***升级(escalation)***

- 一个在动作内执行操作的自定义方式; 发送通知/执行远程命令的顺序安排。

***媒介(media)***

- 发送告警通知的方式;传送途径

***通知(notification)***

- 关于事件的信心,将通过选设定的媒介途径发送给用户。

***远程命令(remote command)***

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

***模版(template)***

- 一组可以被应用到一个或多个主机上的实体(监控项,触发器,图形,聚合图形,应用,LLD,Web场景)的集合

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

***应用(application)***

- 一组监控项组成的逻辑分组

***Web场景(web scenario)***

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

***前端(frontend)***

- Zabbix提供的web界面

***Zabbix API***

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

***Zabbix server***

- Zabbix监控的核心程序,主要功能是与Zabbix proxies和Agents进行交互、触发器计算、发送告警通知;并将数据集中保存等

***Zabbix agent***

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

***Zabbix proxy***

- 一个帮助Zabbix Server收集数据,分担Zabbix Server的负载的程序

***加密(encryption)***

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

安装部署

环境搭建

安装VMware tool

解决VMware虚拟机中centos 7无法上网的问题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//关闭防火墙
systemctl disable firewalld.service

//安装apache
yum install -y httpd

//httpd服务开机进行自启
systemctl enable httpd

//启动httpd服务
Systemctl start httpd

//安装mysql
yum install -y mariadb mariadb-server

//开机自启动
systemctl enable mariadb

//运行服务
Systemctl start mariadb

//安装php环境
yum install -y php php-mysql

安装zabbix


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!