zabbix自定义监控项:

  • 在上一篇文章中,我们通过添加模板zabbix自动为我们创建了很多监控项,但是往往模板中的监控项并不能满足我们业务需要,我们时常需要自己根据业务需要创建一系列的监控项,也成为自定义监控项
  • 监控项:zabbix进行监控的一个指标,zabbix中称为item,它的值由独立的key进行识别。

1. 监控redis服务:

1.1利用zabbix自带的功能创建监控项:

  1. 点击《配置》,然后选择《主机》,在下面双击《监控项》,注意:这里的创建监控项根据主机定义:
    2. 选择创建监控项:
    3. 下面可以填写你要监控的信息了填完后记得选择添加:

1.2. 自定义脚本创建监控项:

1.2.1. 修改zabbix-agent配置文件:

[root@localhost ~]# vim /etc/zabbix_agentd.conf
# 指定监控项及获取值的方式:UserParameter=redis.status,bash  /data/sh/redis_status.sh# redis.status: 键(监控项)
# bash /data/sh/redis_status.sh 值(获取监控项的方式)

1.2.2. 创建脚本:

[root@localhost ~]# mkdir -p /data/sh/
[root@localhost ~]# vim /data/sh/redis_status.sh
#!/bin/bash
#killall 这个命令没有的话需要安装psmisc-22.20-16.el7.x86_64
killall -0 redis-server  &>/dev/nullif [ $?  -eq  0 ];thenecho 1
elseecho 0
fi
#授权,因为普通用户无法使用killall这个命令所有需要授权
[root@localhost ~]# chmod u+s /usr/bin/killall
[root@localhost ~]# chmod +x /data/sh/redis_status.sh
[root@localhost ~]# systemctl restart zabbix-agent.service

1.2.3. 测试脚本:

  • 一定要先测试,脚本有没有问题,没有问题才能继续。而且,测试需要在客户端及服务端都进行测试。
###客户端测试:
#当redis进程存在时:
[root@localhost ~]# ps -ef | grep redis
redis      2543      1  0 01:26 ?        00:00:02 /usr/bin/redis-server 127.0.0.1:6379
root       2910   1687  0 01:49 pts/0    00:00:00 grep --color=auto redis
[root@localhost ~]# /data/sh/redis_status.sh
1
#停止redis服务测试:
[root@localhost ~]# systemctl stop redis.service
[root@localhost ~]# ps -ef | grep redis
root       2954   1687  0 01:51 pts/0    00:00:00 grep --color=auto redis
[root@localhost ~]# /data/sh/redis_status.sh
0
###服务端测试:
# 当redis进程存在时测试:
[root@localhost ~]# zabbix_get -s 192.168.2.20  -k  "redis.status"
1
#当redis进程不存在时测试:
[root@localhost ~]# zabbix_get -s 192.168.2.20  -k  "redis.status"
0

1.2.4. web界面添加监控项:

1.2.5. 查看redis.status图形:

乱码解决方法:

# 上传字体(simkai.ttf),然后替换字体,再次刷新网页即可:
[root@localhost ~]# mv -b  simkai.ttf /usr/share/zabbix/assets/fonts/DejaVuSans.ttf

2. 监控nginx服务:

2.1. 修改zabbix-agent配置文件:

[root@localhost ~]# vim /etc/zabbix_agentd.conf
# 指定监控项及获取值的方式UserParameter=nginx.status[*],bash  /data/sh/nginx_status.sh $1

2.2. 创建脚本:

[root@localhost ~]# vim /data/sh/nginx_status.sh
#!/bin/bash
function active {curl 192.168.2.20/status 2>/dev/null |awk 'NR==1{print $NF}'}
function accepts {curl 192.168.2.20/status 2>/dev/null | awk 'NR==3{print $1}'}
function handled {curl 192.168.2.20/status 2>/dev/null | awk 'NR==3{print $2}'}
function requests {curl 192.168.2.20/status 2>/dev/null | awk 'NR==3{print $3}'
}
function reading {curl 192.168.2.20/status 2>/dev/null | awk 'NR==4{print $2}'
}
function writing {curl 192.168.2.20/status 2>/dev/null | awk 'NR==4{print $4}'
}
function waiting {curl 192.168.2.20/status 2>/dev/null | awk 'NR==4{print $NF}'
}
$1
[root@localhost ~]# chmod +x /data/sh/nginx_status.sh
[root@localhost ~]# systemctl restart zabbix-agent.service

2.3. 测试脚本:

[root@localhost ~]# zabbix_get -s 192.168.2.20 -k nginx.status[waiting]
0

2.4. web界面添加监控项:

3.触发器:

  • 触发器是对监控项采集的数据进行评估的逻辑表达式,如果接收的数据超过了可接受的状态,则触发器会被触发。

3.1. 创建触发器:

  • 在前面课程中,我们创建了对redis服务进行监控的监控项。现在对该监控项设置一个触发器,如果监控项的值为0,则触发一系列动作。

  • 点击配置–>主机–>触发器–>点击创建触发器

  • 创建触发器名字及级别:

  • 设置触发器表达式:

  • 确认之后,可以在主机-触发器中看到刚才创建的触发器。

3.2. 验证触发器:

  • 关闭nginx服务,可以在问题中看到事件。
[root@localhost ~]# systemctl stop nginx.service
  • 点击检测–仪表板中问题项:

4. 动作:

  • 触发器可以在当接受到某个值超过预设的值时,直观的显示出问题,但是也只是仅仅显示在web界面,监控人员还是需要时刻盯着屏幕,才能及时看到问题。这样工作效率还是没有明显提升,我们需要当这个触发器被触发时,有一个动作帮我们报警或者直接帮我们恢复故障

4.1. 自动邮件报警:

4.1.1 为监控负责人绑定媒介:

  • 点击管理–>报警媒介类型–>点击Email:
  • 点击配置–>用户–>点击发送使用的用户:

4.1.2. 添加动作:

  • 点击配置–>动作–>创建动作
  • 选择报警媒介填写内容–>点击添加–点击更新:

4.1.3. 测试:

  • 把nginx服务关闭掉:
[root@localhost ~]# systemctl stop nginx

可以看的出来这里已经收到短信了

4.1.4. 自动重启服务:

  • 在配置动作中,我们可以设置相应的报警媒介给工作人员报警,也可以尝试先让zabbix为我们重启相应的服务,如果多次重启都失败了,则继续报警,让负责人来处理相关问题。
  • 点击动作–>操作–>选择远程命令:

zabbix自定义监控项及触发动作相关推荐

  1. 70 Zabbix自定义监控项

    一.背景 zabbix本身提供了很多可选的监控项,可以满足绝大部分的监控需求.有时候由于业务需求,需要自定义监控项. 下面以创建监听TCP连接数自定义监控项为例,分享如何创建zabbix自定义监控项. ...

  2. zabbix自定义监控项-统计AP在线、离线数量(AC:H3C WX5540H)

    ​ 1.3.6.1.4.1 - IANA-registered Private Enterprises 有些私有oid提供并不完全准确 # (community)替换成需要填写的可读团体名,由于不清楚 ...

  3. zabbix自定义监控项

    1.创建自定义监控脚本,将脚本放入zabbix客户端环境/etc/zabbix/scripts下,如果没有这个文件目录,自行创建,可以先在本地执行一下脚本,确定脚本已经调通 2.执行成功后在zabbi ...

  4. zabbix 自定义监控项 获取nginx监控状态

    本篇是基于zabbix 源码安装的 [root@localhost conf]# curl "http://192.168.0.73:8080/nginx_status" Acti ...

  5. Zabbix-Sender 增加自定义监控项-- Ping 到目的地链路监控--bat脚本循环运行

    前言: 普通情况监控使用 UserParameter 即可,默认120s/次 上报到zabbix server(最小值60s/次). Zabbix-sender 模式配置: zabbix-sender ...

  6. zabbix-agent自定义监控项

    用户定义参数可以用来帮助用户实现通过Zabbix agent执行非Zabbix原生的 agent check. 一条用户自定义参数配置应当使用以下语法: UserParameter=<key&g ...

  7. zabbix监控系列——自定义一个监控项并触发告警

    一.自定义一个监控项思路 模板虽好,但是不能解决所有的监控,有些需要的监控项在模板中并没有,需要我们自己定义一个监控项,如何定义一个监控项呢?大概的流程是这样的几步 1.在插件配置文件中定义一个key ...

  8. @zabbix监控自定义监控项

    文章目录 一.自定义监控项-SSH 1.创建自定义的监控模板(模板.应用集.监控项等都可以根据规划自行创建) 2.创建自定义监控项 3.在server端测试键值 4.在web页面查看监测结果 5.关闭 ...

  9. 使用 Docker 安装 Zabbix,并配置自定义监控项

    使用 Docker 安装 Zabbix,并配置自定义监控项 一.Zabbix 简介 1.监控功能 2.Zabbix 工作原理 3.Zabbix 组件 4.Zabbix 进程 二.使用 Zabbix 配 ...

最新文章

  1. M - 非常可乐 HDU - 1495
  2. Java程序运行的内存分配
  3. 课后练习----实现窗口的切换
  4. 产品经理如何专业吐槽产品?友谊小船从此不再翻
  5. oracle11g db files,oracle11g整个DB迁移
  6. mysql 绕过权限检查_跳过权限检查,强制修改mysql密码
  7. 一位资深程序员大牛给予Java的学习路线建议
  8. 对于algorithm102的总结
  9. Redis(RedisTemplate)使用hash哈希
  10. 2022高教社杯数学建模思路 - 案例:Apriori-关联规则挖掘算法
  11. Arcgis操作系列一:shp矢量数据的面积计算
  12. DoS和DDoS攻击
  13. java知识点ppt背景图片,Java 给PowerPoint文档设置背景颜色和背景图片
  14. 【小程序】扫码预览时不显示图片
  15. ABeam Insight | 女性科技系列(3):国内外女性科技(FemTech)企业介绍
  16. 【数据湖Hudi-8-Hudi集成Flink-入门】
  17. VLAN的概念与配置
  18. 手机 长按删除 html5,移动端长按删除
  19. Photoshop鼠绘教程:逼真鲜活金鱼的绘制
  20. Android 点击按钮切换图片

热门文章

  1. php开发环境搭建和基础入门
  2. java多线程之Executors
  3. Learning to Rank(以下简称L2R)
  4. docker中没有vi/vim命令
  5. 敏涵控股集团:以匠心致敬品质 用效益回馈社会
  6. rtl8723bu linux wifi驱动移植教程
  7. 《卓有成效的管理者》阅读心得
  8. 批量将一个 PPT 幻灯片文件按固定页数拆分成多个幻灯片文件
  9. Executor及Executors
  10. APP性能测试--帧率测试