Zabbix使用指南

简介

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

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

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

相关名词解释

主机(host)

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

监控项(item)

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

触发器 (trigger)

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

事件(event)

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

异常(problems)

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

动作(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 )协议。

安装

本教程以Centos7为例演示安装过程,其他版本请参考官网(https://www.zabbix.com/documentation/4.0/zh/manual/installation),通过docker安装还可参考(https://www.zabbix.com/documentation/4.0/zh/manual/installation/containers

1.添加 Zabbix 软件仓库

$ rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm

2.配置前端安装的先决条件
(Zabbix 前端需要额外的基础安装包。 您需要在运行 Zabbix 前端的系统中启用可选 rpms 的软件仓库)

$ yum-config-manager --enable rhel-7-server-optional-rpms

3.安装server/proxy/web

  • 安装 Zabbix server 并使用 MySQL 数据库:
$ yum install zabbix-server-mysql
  • 安装 Zabbix proxy 并使用 MySQL 数据库:
$ yum install zabbix-proxy-mysql
  • 安装 Zabbix web 并使用 MySQL 数据库:
$ yum install zabbix-web-mysql

4. 创建数据库

注意

  • 对于 Zabbix-server守护进程而言,数据库是必须的。而运行 Zabbix-agent是不需要的。
  • 如果 Zabbix server 和 Zabbix proxy 安装在相同的主机,它们必须创建不同名字的数据库!
#安装数据库
$ yum install -y  mariadb-server
#启动数据库服务
$ systemctl start mariadb.service
#创建数据库并设置默认字符为utf-8
$ mysql -e 'create database zabbix character set utf8 collate utf8_bin;'
#给用户zabbix授权,此处默认数据库帐号密码均为‘zabbix’
$ mysql -e 'grant all privileges on zabbix.* to zabbix@localhost identified by "zabbix";'

5. 导入数据库

#使用 MySQL 来导入 Zabbix server 的初始数据库 schema 和数据
$ zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

#对于 Zabbix proxy,导入初始的数据库 schema:
$ zcat /usr/share/doc/zabbix-proxy-mysql*/schema.sql.gz | mysql -uzabbix -p zabbix

6. 为 Zabbix server/proxy 配置数据库

#编辑 zabbix_server.conf 或 zabbix_proxy.conf 文件以使用已创建的数据库。
$ vi /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=<password> #此处为zabbix数据库密码

7.配置zabbixserver连接mysql

$ sed -i.ori '115a DBPassword=zabbix' /etc/zabbix/zabbix_server.conf

8.添加时区

$ sed -i.ori '18a php_value date.timezone  Asia/Shanghai' /etc/httpd/conf.d/zabbix.conf

9.解决中文的乱码问题

$ yum -y install wqy-microhei-fonts
$ cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf

7. 启动zabbix-server服务及zabbix-web服务

# 设置自启动zabbix_server服务(使用 'zabbix-proxy' 替换命令中的 'zabbix-server' 以启动和自启 Zabbix proxy。)
$ systemctl enable zabbix-server
#启动zabbix-server服务
$ systemctl start zabbix-server
#启动zabbix-web服务
$ systemctl start httpd

8. SELinux 配置
在 enforcing 模式下启用 SELinux 状态后,您需要执行以下命令以启用 Zabbix-web和 Zabbix server 之间的通信(若部署在同一机器上,无需此操作)

$ setsebool -P httpd_can_connect_zabbix on
$ setsebool -P httpd_can_network_connect_db on
#selinux及zabbix-web配置完成后,需要重启apache服务
$ systemctl restart httpd

8. zabbix-agent安装

#运行以下命令以安装 Zabbix agent :
$ yum install zabbix-agent
#修改配置文件(这里的配置文件若不修改则无法联通agent和server)
$ vi /etc/zabbix/zabbix_agentd.conf
Server=192.168.10.117 # 务必填写zabbix-server的ip地址
ServerActive=192.168.10.117 #务必填写zabbix-server的ip地址
#运行以下命令以启动 Zabbix agent:
$ systemctl enabled zabbix-agent
$ systemctl start zabbix-agent

入门

1.登录
输入用户名(默认:Admin),密码(默认:zabbix)登录

image.png

2.增加用户
Zabbix在安装后默认只定义了两个用户。

  • 'Admin' 用户是Zabbix的一个超级管理员,拥有所有权限。

  • 'Guest' 用户是一个特殊的默认用户。如果你没有登陆,你访问Zabbix的时候使用的其实是“guest”权限。默认情况下,“guest”用户对Zabbix中的对象没有任何权限。

  • 点击创建用户(Create user) 以增加用户。

    image.png

  • 填写相关信息,选择用户组

    image.png

    3.新建主机

注意:主机不单指某台物理机,而是指一切网络设备,是指任何网络实体,如一台物理服务器,一个网络交换机,一个虚拟机或者一些应用等,若还需要监控zabbix-server的宿主机,那么该宿主机也需要安装zabbix-agent并配置相关的配置。

  • 点击创建主机(Create host)以添加新的主机
image.png
  • 输入一个主机名称,可以使用字母数字、空格、点”.“、中划线”-“、下划线”_“。(注:此处的名称需要与agent的配置文件中的hostname配置项一样)
  • 从右边的选择框中,选择一个或者多个组,然后点击 « 移动它们到'所在组(In groups)'选择框。(注:权限是对组而言的,所在在创建主机的时候务必对其选择一个或多个组
  • 输入主机的IP地址。(注:如果这是Zabbix server的IP地址,它必须是Zabbix agent配置文件中‘Server’参数的值。

4.监控项

监控项是Zabbix中获得数据的基础。没有监控项,就没有数据——因为一个主机中只有监控项定义了单一的指标或者需要获得的数据。

(1)添加监控项
进入 配置主机 页面查找到新建的主机, 在“新主机(New host)”行中,监控项(Items)的链接旁的数量会显示为'0'。点击这个‘items’链接,然后点击创建监控项(Create item),将会显示一个监控项定义表格。

  • 输入 CPU Load 作为值。在列表中和其他地方,都会显示这个值作为监控项名称。
  • 手动输入 system.cpu.load 作为值。这是监控项的一个技术上的名称,用于识别获取信息的类型。这个特定值需要是Zabbix Agent预定义值中的一种。
  • 在此处选择 Numeric (float)。这个属性定义了想获得数据的格式。
    image.png

    (2)查看数据
    注:第一次获得的监控项值最多需要60秒才能到达。默认情况下,这是服务器读取变化后的配置文件,获取并执行新的监控项的频率。
    前往监控(Monitoring)最新数据(Latest data),然后点击监控项后的图表(Graph)链接以查看图表。
    image.png

5.触发器

监控项只是用于收集数据。如果需要自动评估收到的数据,我们则需要定义触发器。触发器包含了一个表达式,这个表达式定义了数据的可接受的阈值级别。
如果收到的数据超过了这个定义好的级别,触发器将被“触发”,或者进入“异常(Problem)”状态——从而引起我们的注意,让我们知道有问题发生。如果数据再次恢复到合理的范围,触发器将会到“正常(Ok)”状态。

为监控项配置触发器,前往配置(Configuration) 主机(Hosts),找到'新增主机(New host)',点击旁边的触发器(Triggers) ,然后点击创建触发器(Create trigger)

image.png

可以通过触发器表达式以及点击“Add”按钮排列组合自己想要的触发器规则,查看更多的触发器表达式语法信息

6.问题通知

当监控项收集了数据后,触发器会根据异常状态触发报警。根据一些报警机制,它也会通知我们一些重要的事件,而不需要我们直接在Zabbix前端进行查看,最常用的通知方式是email。

前往管理(Administration)媒体类型(Media types),点击预定义媒体类型列表中的Email,根据具体环境的SMTP服务器配置E-mail。

7.模版

模版(templates)允许对有用的监控项、触发器和其他对象进行分组,只需要一步就可以对监控主机应用模版,以达到反复重用的目的。当一个模版链接到一个主机后,主机会继承这个模版中的所有对象。简单而言,一组预先定义好的检查会被快速应用到主机上,此时如果我们需要配置上千台主机,一些自动化操作会带来更多便利性。

配置(Configuration)模版(Templates)中,点击创建模版(Create template)

  • 输入一个模版名称。可以使用数字、字母、空格及下划线。
  • 使用选择(Select)按钮选择一个或者多个组。模版必须属于一个组。完成后,点击添加(Add)

参考资料

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,463评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,868评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,213评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,666评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,759评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,725评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,716评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,484评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,928评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,233评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,393评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,073评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,718评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,308评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,538评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,338评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,260评论 2 352

推荐阅读更多精彩内容

  • Zabbix简介 Zabbix官方网站Zabbix中文文档 本文系统环境是CentOS7x86_64, Zabbi...
    Zhang21阅读 7,986评论 0 37
  • 自定义key网络发现Web监控主动检测基于SNMP监控基于JMX监控Zabbix ProxyZabbix调优 一、...
    哈喽别样阅读 1,142评论 0 1
  • 1.写在前面 本文主要介绍的是zabbix的编译安装过程,包含它的基础环境LNMP,虽然zabbix官方一般推荐的...
    天之蓝色阅读 2,532评论 0 16
  • 一、zabbix简介 1、zabbix概述 zabbix:是一个基于WEB界面的提供分布式系统监视以及网络监视功能...
    任总阅读 2,709评论 0 1
  • 图/网络 白老板是在政策的感召下先富起来的人。刚开始,凭借在生产大队跑业务建立的关系,倒买倒卖,大秤进小秤出,耍心...
    近视看客阅读 241评论 0 1