[toc]

Zabbix自愈模式

有些时候,我们的服务宕机了,或者有些服务停掉了,那么我们可以先尝试让他启动,看是否能起的来,为了不影响用户的体验,先把服务起起来,然后再去排查,是什么原因故障的。
那么此时我们就需要用到zabbix的自愈模式,这个…叫起来很好听,说白了,就是在让zabbix-server通过远程执行命令的方式,在agent上执行命令,启动服务。

步骤流程指示图

image-20230324101035783

image-20230324101040373

image-20230324101043558

image-20230324101058725

image-20230324101106655

image-20230324101112186

image-20230324101115213

sudo提权配置

1
2
3
4
5
6
7
8
9
10
11
因为远程执行命令需要通过zabbix用户来执行,因为启动zabbix-server的用户是zabbix,所以我们必须给
zabbix添加sudo权限,否则无法执行,并且要无密码。

# 添加sudo权限
visudo
%zabbix ALL=(ALL) NOPASSWD:ALL

# 测试启动服务
usermod zabbix -s /bin/bash
su - zabbix
-bash-4.2$ sudo systemctl start sshd

zabbix开启远程执行命令

1
2
3
4
5
6
# 修改配置文件
vim /etc/zabbix/zabbix_agentd.conf
EnableRemoteCommands=1

# 重启zabbix
systemctl restart zabbix-agent

Zabbix报警升级机制

场景一:在企业中,我们需要把报警设置为升级机制,当有些报警,运维人员没有及时处理的时候,或者没有时间,或者外出,或者陪产在医院,或者…总之身边没有电脑没有网络,在山沟子里的时候,必须有人站出来,解决这个问题。

场景二:当zabbix报警服务器出现问题的时候,例如MySQL挂了,运维人员在厕…没有及时处理,那一分钟后这个警告肯定要升级,从警告变成严重故障之类的。
所以不管在哪种场景下,我们要有不同的报警人员,比如,一级报警,交给运维,没有及时处理就二级报警,交给运维总监或者运维经理,如果此时报警还没有人处理,那么报警就会升级到CTO或者CEO那里,那么这个时候,也是灾难降临之时,这也是一个很好的对运维人员必须要及时处理告警的一个制约。

步骤流程指示图

image-20230324101404535

image-20230324101408778

image-20230324101411636

image-20230324101414374

添加用户

image-20230324101438249

image-20230324101442091

image-20230324101445712

image-20230324101448751

image-20230324101451498

image-20230324101454626

image-20230324101458246

计算方式:

  1. 开始于 ,这个是相对一但触发监控,则立即发送消息

  2. 1-2步骤是给运维组发送消息,每隔5分钟发送一次,总共2个步骤,所以发送2次

  3. 3-4步骤是给运维经理组发送消息,每隔5分钟发送一次,总共2个步骤,所以发送2次

  4. 4-5步骤是给运维总监组发送消息,每隔5分钟发送一次,总共2个步骤,所以发送2次

  5. 每次的开始时间是如何计算的呢,第一个立即开始:

    1-2,3-4,4-5动作时间间隔是5分钟,所以在触发告警发送时间计算是5m+5m+5m=15m

Zabbix自定义图形

创建图形

介绍监控的顺序->应⽤级->监控项->基于监控项创建触发器->基于监控项创建图形

image-20230628224826930

基于监控项进行绘图

image-20230628224901113

聚合图形

将多张图形整合为一张图形, 简称聚合图形 企业真实聚合图形,情况

image-20230628224956056

注意,在这里,聚合图形,我们可以分为以下几类,主要还是看公司的需求

例如:

  1. 按项目聚合(王者荣耀,LOL,天涯明月刀…)
  2. 按主机聚合(每台主机的聚合…)
  3. 按应用聚合(所有nginx的监控,所有MySQL的监控…)

image-20230628225020604

幻灯片

多张聚合图形可以整合为幻灯⽚

image-20230628225042087

image-20230628225056892

自定义图形[扩展]

安装和配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 安装graphtree
cd /usr/share/zabbix
wget https://raw.githubusercontent.com/OneOaaS/graphtrees/master/graphtree3.0.4.patch

# 导⼊入补丁包
yum install -y patch
patch -Np0 <graphtree3.0.4.patch
chown -R apache.apache oneoaas

# 修改Apache配置⽂文件
vim /etc/httpd/conf.d/zabbix.conf
Alias /oneoaas /usr/share/zabbix/oneoaas

# 重启httpd服务
systemctl restart httpd

单击->监测中->Graphtree
单击对应的主机->选择需要查看的图形->点击查询->效果展示

image-20230628225154872

image-20230628225207367

image-20230628225222861

Zabbix⾃定义监控模板

  1. 模板是⽀支持导⼊入与导出(模板⾥里里⾯面的监控项是有脚本⽀支撑,所以脚本需⼀一起打包)
  2. conf⽂文件主要⽤用于定义监控项,监控项⽤用来调⽤用脚本或命令,获取监控值。
  3. 如果希望将之前定义的监控项做成模板,找到监控项->全选->复制
  4. 自定义使⽤用模板(让监控项可以重复使⽤用)
  5. 客户端agent必须要定义监控项,监控项取值需要使⽤用到脚本⽂文件或系统命令
  6. 服务端导⼊入模板
  7. 创建监控主机,链接新导⼊入模板,如果是已存在的监控主机,增加我们刚导⼊入的模板