乐趣区

关于zabbix:30分钟zabbix入门最简单有效的zabbix快速学习法

在公司搭建零碎级别的监控,因为 ELK 对流量监控存在局限——现有的工具只记录了累计的流量,而无奈计算每时每刻的流量。所以决定最初用 zabbix 来对网络做监控和报警,上面会从零开始记录 zabbix 搭建过程中的所有步骤,心愿能够给你带来帮忙。

装置前筹备工作

装置必要的软件,禁用 SELINUX,装置必备软件

LAMP 环境搭建

装置

启动 mysql,设置开机启动,批改 mysql 明码,留神上面的 yourpassword 要替换为你本人的明码

装置 zabbix 服务

创立 zabbix 数据库

导入数据

批改 zabbix 配置

留神:上面的 yourpasswd 请替换为你本人的数据库明码

批改时区

批改 zabbix 登录明码(可选)

启动

设置开机启动

通过 http://hostname/zabbix 拜访 zab…,填写装置信息,实现装置。实现装置后,初始登录账户明码为 Admin/zabbix。

装置 zabbix-agent

zabbix-server 装置好了,上面须要“接入”其余机器,将它们纳入到 zabbix-server 的治理,上面是装置步骤

配置 zabbix-agent

启动 zabbix-agent

上面在 zabbix-server 页面上增加这个机器

按下图填写即可

接着绑定模板

最初点击 Update,你就能够在 Host 目录中看到所有被监控的机器列表

留神:如果 zabbix-agent 须要被其余机器调用,例如通过 zabbix_get 取得监控信息,须要在防火墙设置“放开 10050 端口”

监控网络流量

假如咱们要监控机器 192.168.8.5 网卡 em1 上的出入口流量,咱们能够先在 zabbix 服务器上用 zabbix_get 命令来测试一下,上面代码测试的是输出流量,留神这里的输入是一个累积的流量

监控网络流量的流程为:

  1. 创立模板
  2. 创立监控项
    创立利用:Configuration->Templates->Create application

  3. 创立监控项:Configuration->Templates->network traffic on em1->Items->Create Item

    上图是入口流量的监控项设置,进口流量监控项 network traffic out em1 能够一样设置,胜利后你看到的是

  4. 创立 Triggers
    Triggers 是触发报警的设置,同样咱们点击 Configuration->Templates->network traffic on em1->Triggers->Create trigger 来创立 Triggers

  5. 留神在设置 Expression 时,咱们能够利用 zabbix 提供给咱们的模板

  6. 于是,入口流量的触发值就设置好了,每秒流量超过 1048576 时就会触发报警,同理咱们能够设置进口流量的触发值,胜利后,咱们看到的是

  7. 创立 Graphs
    接着,咱们再来创立 Graphs,Graphs 能够以图形化的形式展现流量信息,点击 Configuration->Templates->network traffic on em1->Graphs->Create graph,创立 Graphs 的最大益处是咱们能够把这些 Graphs 组合起来造成 Screens 监控面板,例如上面这样

    上面是创立 Graphs 的表单

  8. 绑定 Template
    至此,咱们模板就创立结束了,最初一步须要把主机和模板关联起来,点击 Configuration->Hosts->Templates->Select 创立关联,而后点击 Add

  9. 此时,通过 Monitoring->Latest data 能够看到网卡上的最新数据,同时能够通过 Monitoring->Graphs 来查看图形化的数据

自定义 script 报警

当零碎出现异常时,咱们须要立刻发现,并通过邮件或 App 的形式告诉给保护的同学,这样整个零碎才会掌控在咱们手中,Zabbix 要做到这一点,须要配置以下 3 个选项(zabbix 尽管很弱小,但配置和 UI 有点繁琐,这是我不喜爱它的中央):

  1. Media types
  2. Events
  3. User Media

Media types

Media types 是当产生事件时,以什么形式进行告诉,这里采纳的是 Script 形式,这种形式的灵活性最大,通过这种形式,咱们能够把报警发送到任何反对 Webhook 的 App 上,例如钉钉

Script 这种形式的原理是:咱们把可执行的脚本放在 zabbix 的指定目录下,当事件产生时,zabbix 会主动调用该脚本,能够在 /etc/zabbix/zabbix_server.conf 中找到指定目录的门路

Media types 设置如下,意思是在 /usr/lib/zabbix/alertscripts 下存在一个脚本 dingding.py,当事件产生时,zabbix 会调用该脚本,同时会传入该脚本 3 个参数,这 3 个参数别离是事件的接管人、事件的主题、事件的内容

dingding.py 这个脚本如下,咱们先实现一个简略的版本,也就是把这 3 个参数输入到日志中

设置脚本的权限

Events

事件是当某个条件产生时,zabbix 所创立的报警对象。在 zabbix 中,事件产生时和事件复原时都能够触发事件,上面咱们来创立一个事件,

能够看到,这里的事件主题和事件音讯都是零碎默认生成的,其中包含工夫产生时的必要信息,同时我把容许事件复原时告诉(Recovery message)打了勾,Conditions 标签页的内容放弃不变,而后咱们再来批改 Operations 标签里的内容

这里的意思是:事件的持续时间是 1 个小时(3600s),每隔 2 分钟(120s)产生一个事件,一共产生 10 个事件,产生事件时,发送给 Zabbix administrators 用户组中的 Admin 用户,最初事件会应用咱们刚刚创立的 dingding 这种 Media type

User Meida

事件和 Media type 创立好后,上面还须要把它们和指定用户关联起来,点击 Administration->Users->Media->Add,批改后,点击 Update

通过以上步骤,咱们曾经把 zabbix 的监控和报警建设起来了,并实操创立了网卡的流量监控,当初咱们把网络流量的阈值调到小,成心制作一个超出流量的事变,看一下报警是否失效,咱们预期是发送 10 个报警,发送结束后,咱们再把阈值调到失常,看下是否会收到复原音讯。还记得之前写的那个脚本吗,它会把报警内容输入到日志文件中,当初咱们查看下日志文件

很显然,后果合乎咱们的预期。

以上便是入门 zabbix 的全部内容,前面的文章咱们会具体实现 dingding.py 报警脚本,让你真正的能够在手机上收到报警信息。

作者:解牛_冯雅杰 
链接:http://www.jianshu.com/p/4d3a…

退出移动版