企业级监控工具应用实战(2)

实战二:zabbix 基础操作

声明:我下边已切换为3.4版本了

1、设置items监控项,采集信息

(1)对node1 添加名为rate of packets(in) 入站包的个数 的items监控项

企业级监控工具应用实战

① key 值选的是: net.if.in[if,<mode>]网络接口上传流量统计;可以加参数

企业级监控工具应用实战

② 点击进程,可以选择更多选项;比3.2不一样的地方

企业级监控工具应用实战

③ 查看图形

企业级监控工具应用实战

(2)克隆items 监控项

① 设置rate of packets(out) 出站包的个数,因为和in 很相似,可以克隆再设置

企业级监控工具应用实战

② 修改为out,其他都无需修改

企业级监控工具应用实战

(3)为了后边的实验,多定义2个items 监控项

① rate of bytes(out) 出站字节数

企业级监控工具应用实战

② rate of bytes(in) 入站字节数

企业级监控工具应用实战

2、设置trigger 触发器

(1)介绍

① 界定某特定的item采集到的数据的非合理区间或非合理状态:逻辑表达式

② 逻辑表达式,阈值:通常用于定义数据的不合理区间;

  OK:正常 状态 --> 不满足阈值(不合理区间)为OK

  PROBLEM:非正常状态 --> 满足阈值

③ 触发器存在可调用的函数:(对数据进行评估)

  nodata()没有数据

  last()最近几次的平均值

  date()

  time()

  now()

  dayofmonth()

  ...

注意:常用nodata()、last();能用数值采集的结果保存,就不要用字符串;计算机处理数值要快的多

(2)创建trigger 触发器

① 创建

企业级监控工具应用实战

② 设置

企业级监控工具应用实战

表达式可以自己手写;也可以按选择生成

次数count / 时间time 选项:二选一

企业级监控工具应用实战

time 时间

企业级监控工具应用实战

④ 下边的选择根据自己的需求选择,我没有设置

企业级监控工具应用实战

(3)查看图形,会发现多了一根警告线

企业级监控工具应用实战

3、设置触发器的依赖关系

(1)介绍

① 在一个网络中,主机的可用性之间可能存在依赖关系

  例如,当某网关主机不可用时,其背后的所有主机都将无法正常访问

  如果所有主机都配置了触发器并定义了相关的通知功能,相关人员将会接收到许多告警信息,这既不利于快速定位问题,也会浪费资源

  正确定义的触发器依赖关系可以避免类似情况的发生,它将使用通知机制仅发送最根本问题相关的告警

② 注意:目前zabbix 不能够直接定义主机间的依赖关系,其依赖关系仅能通过触发器来定义

(2)依赖的解释:

被依赖者会报警;依赖者不会报警

企业级监控工具应用实战

分析:监控到交换机故障,网卡和主机上的服务不用报警;

监控到主机上的服务,网卡和交换机不用报警

(3)设置依赖

企业级监控工具应用实战

4、设置Media 媒介

(1)Media 的介绍

Media:媒介,告警信息的传递通道;任何用户收到报警信息,都需要有媒介的端口

  类型:下面3个中国都没实现,中国可以实现微信,需要特殊插件

    Email:邮件

    Script:自定义脚本,每一个script都是一个媒介

    SMS:短信,只适用于北美地区

    Jabber:

    Ez Texting:

  接收信息的目标为zabbix用户:

    需要用户上定义对应各种媒介通道的接收方式;

每一类媒介,也能分很多种类型,如下图

企业级监控工具应用实战

系统自带的3中媒介

企业级监控工具应用实战

(2)定义一个media ,可以在email 模板上直接修改

企业级监控工具应用实战

在选项中可以设置并发会话

企业级监控工具应用实战

(3)用户使用media媒介

① 选择用户中的admin用户

企业级监控工具应用实战

② 添加media 报警媒介,一个用户可以添加多个

企业级监控工具应用实战

为了实验展示,我选择所有等级

(4)实现给公司用户发短信的媒介

① 创建一个名为 duanxin 的媒介

企业级监控工具应用实战

设置,关于发短信的脚本,网上有很多,自己找一个使用

企业级监控工具应用实战

② 设置个用户,使用duanxin的媒介

企业级监控工具应用实战

(5)互联网中有发微信做媒介的

需先发个公众号,且公众号中所有人都能收到

5、设置Actions 动作

(1)设置action 动作的准备

① 准备一个被监控的服务redis

yum -y install redis 下载一个redis 服务做实验

vim /etc/redis.conf 修改配置文件

bind 0.0.0.0 监听本机所有端口

systemctl start redis 开启服务

② 因为要执行动作时需远程操作,给admin 用户设置sudo权限

a) visudo 修改sudo的配置

zabbix ALL=(ALL) NOPASSWD: ALL 允许zabbix用户能在所有主机,以所有人的身份执行所有命令

企业级监控工具应用实战

Defaults !visiblepw 默认所有命令要依靠tty执行,先注释掉

b) vim zabbix_agentd.conf 设置agent允许执行远程命令

EnableRemoteCommands=1 允许执行远程命令

LogRemoteCommands=1 把远程执行的命令记录在日志中

企业级监控工具应用实战

systemctl restart zabbix-agent.service 重启zabbix-agent服务

(2)设置redis 的监控项items

企业级监控工具应用实战

① 监控端口的key

net.tcp.listen[port] 监听本地listen:检查 TCP端口是否处于侦听状态,返回 0 - 未侦听;1 - 正在侦听

net.tcp.port[<ip>,port]:server远程扫描redis服务:检查是否能建立 TCP 连接到指定端口,返回 0 - 不能连接;1 - 可以连接

net.tcp.service[service,<ip>,<port>] 直接指定服务:检查服务是否运行并接受 TCP 连接,返回 0 - 服务关闭;1 - 服务运行

(3)设置triggers 触发器

企业级监控工具应用实战

① 设置表达式

企业级监控工具应用实战

(4)设置action 动作

a) 创建一个action

企业级监控工具应用实战

b) 设置action

① 设置action 的动作

企业级监控工具应用实战

② 设置action 的操作

企业级监控工具应用实战

③ 设置要操作的步骤1:重启redis服务

企业级监控工具应用实战

④ 设置要操作的步骤2:给admin发邮件

企业级监控工具应用实战

⑤ 设置完的action 的操作:共两步

企业级监控工具应用实战

c) 设置action 的恢复操作

企业级监控工具应用实战

d) 设置action 成功

6、测试动作

(1)手动停掉redis 服务,模拟服务故障

systemctl stop redis

(2)可以看到problem 问题已产生

① 问题生成

企业级监控工具应用实战

② 执行动作,10s,第一个action 1 执行成功,problem问题解决

因为第一个action1 执行成功,所以action 2没有执行

企业级监控工具应用实战

③ 恢复操作执行了,zabbix server 收到了mail "Resolved"

企业级监控工具应用实战

(3)模拟故障,且无法恢复

systemctl stop redis && rpm -e redis 停止服务,且删除redis

① 问题产生

企业级监控工具应用实战

② action 1 无法完成

企业级监控工具应用实战

③ action 2 执行:给admin 发邮件

企业级监控工具应用实战

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/be750cbadc47abbee88776ad79bf1375.html