前面已分别介绍了zabbix的邮件、微信报警设置,这些都是手机在有网络时才能收到报警信息,那如果手机没有网的情况下怎么办,这就需要考虑使用短信接口报警了。当服务出现故障达到预警级别是通过发送短信的形式告诉运维人员,以便及时处理。公司的短信接口是从短信服务器购买的,并经过公司开发大神调整后使用的。废话不多赘述,下面直接记录配置过程:

一、zabbix服务端的脚本路径设置

  1. [root@zabbix ~]# cat /data/zabbix/etc/zabbix_server.conf|grep alertscripts
  2. AlertScriptsPath=/data/zabbix/alertscripts

二、短信脚本

  1. --------------------------------------------------------------------------------------------------------
  2. 下面是开发大神给定义的一个短信模板,经过调试之后给运维部门使用的:
  3. curl -H "Content-type: application/json" -X POST 192.168.1.10:8080/sms/send/batch -d '
  4. {
  5. "phones": [
  6. "13611789029",
  7. "12310703369",
  8. "13314466149"
  9. ],
  10. "callOrgCode": "YW1001",
  11. "callOrgName": "运维部门",
  12. "callAppCode": "WANG_OPS",
  13. "key": "R13-G294595Y32M24TAD60JK",
  14. "templateId": 6,
  15. "valueMap": {
  16. "msg": "test001服务器出现问题!请尽快修复!"
  17. }
  18. } '
  19.  
  20. 可以在命令行里手动执行上面的接口进行发信测试,在目标手机查看是否收到短信。(上面的短信模板需要开发人员在自己的短信接口平台里特意给我们运维部门造的)
  21. --------------------------------------------------------------------------------------------------------

结合上面的短信接口,zabbix短信报警脚本如下:

  1. [root@zabbix alertscripts]# cat zabbixsend_sms.sh
  2. #!/bin/bash
  3. export LANG=en_US.UTF-8
  4.  
  5. PHONE=$(echo $1|sed 's/,/",\n"/g') #第一个变量($1)。由于多个号码要换行,并且每行要加双引号,故要做匹配转换设置
  6. #Message=$(echo $3|sed 's/:/": "/g'|sed 's/,/",\n"/g')
  7. #Message=$(echo $3|sed 's/: /": "/g'|sed 's/,/",\n"/g')
  8. Message=$3 #第三个变量
  9.  
  10. curl -H "Content-type: application/json" -X POST 192.168.1.10:8080/sms/send/batch -d """ #公司的短信接口地址,这里采用post方式
  11. {
  12. \"phones\": [
  13. \"$PHONE\"
  14. ],
  15. \"callOrgCode\":\"YW1001\",
  16. \"callOrgName\": \"运维部门\",
  17. \"callAppCode\": \"WANG_OPS\",
  18. \"key\": \"R13-G294595Y32M24TAD60JK\",
  19. \"templateId\": \"6\",
  20. \"valueMap\": {
  21. \"msg\": \"$Message\"
  22. }
  23. } """ #前后三个引号表示引号里的内容输入什么就是什么,变量参数不会被影响。
  24.  
  25. time=`date '+%F %T'`
  26. echo "${time} ${PHONE} $Message" >> /data/log/sendsms_`date +%Y-%m`.log
  27.  
  28. [root@zabbix alertscripts]# chmod 755 zabbixsend_sms.sh
  29.  
  30. 可以先手动执行脚本进行发信测试:
  31. $1是发信的手机号码
  32. $2是发信的主题,这个一般短信报警信息里不显示,如下测试是"报警测试"。上面脚本中没有配置$2的变量
  33. $3是发信的内容。
  34. 三个变量使用空格隔开
  35. [root@zabbix alertscripts]# ./zabbixsend_sms.sh 13633767819 报警测试 backup01服务器宕机了!
  36. {"totalCnt":1,"successCnt":1,"failCnt":0,"failPhones":[],"failMsg":null,"msgContent":"backup01服务器宕机了!"}

三、zabbix的web界面里的报警设置

1)报警媒介类型设置

2)用户的报警媒介设置

3)"动作"设置

上面的报警主题如下,这个其实在短信报警信息中没有体现,随便定义即可。

  1. 故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!

报警内容如下(由于开发那边的调整规则,报警内容换行后就发信失败,所以这里只能讲报警内容放在一行)

  1. 告警主机:{HOSTNAME1}, 告警时间:{EVENT.DATE} {EVENT.TIME}, 告警等级:{TRIGGER.SEVERITY}, 告警信息: {TRIGGER.NAME}, 告警项目:{TRIGGER.KEY1}, 问题详情:{ITEM.NAME}:{ITEM.VALUE}, 当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}, 事件ID:{EVENT.ID}

手机短信报警截图如下:

发信后,可以查看zabbix的web界面里的"报表"->“动作日志”

分布式监控系统Zabbix-3.0.3--短信报警设置的更多相关文章

  1. CactiEZ 中文版V10.1安装使用以及139邮箱短信报警设置

    说明:CactiEZ中文版V10.1是基于CentOS 6.0系统,整合Cacti等相关软件,重新编译而成的一个操作系统!   说明:CactiEZ中文版V10.1是基于CentOS 6.0系统,整合 ...

  2. 分布式监控系统Zabbix3.2给异常添加邮件报警

    在前一篇 分布式监控系统Zabbix3.2跳坑指南 中已安装好服务端和客户端,此处客户端是被监控的服务器,可能有上百台服务器.监控的目的一个是可以查看历史状态,可以对比零晨和工作区间数据的对比,以便后 ...

  3. 企业级分布式监控系统-Zabbix基础

    1.基础分部 1.1Zabbix简介 Zabbix 是一个企业级的分布式开源监控方案. 1.2监控系统架构 C/S架构 客户端/服务器端,这种架构适合规模较小,处于同一地域的环境 C/P/S 客户端/ ...

  4. 分布式监控系统--zabbix

    1Zabbix简介 Zabbix 是一个企业级的分布式开源监控方案. 2.监控系统架构 C/S架构 客户端/服务器端,这种架构适合规模较小,处于同一地域的环境 C/P/S 客户端/代理端/服务器端/, ...

  5. 企业级分布式监控系统--zabbix

    目录 1.Zabbix简介 2.zabbix安装 3.工作原理 4.监控功能 5.监控系统架构 6.Zabbix系统架构 7.Zabbix组件构成 8.zabbix监控环境中基本概念 正文 回到顶部 ...

  6. 【Zabbix】分布式监控系统Zabbix【二】

    一.Zabbix基本操作 1.主机群组.主机.模板.触发器 a.创建主机群组和主机的过程比较简单,不再介绍 b.配置模板: 创建一个模板,将其分组到Template组,添加配置应用: 给应用创建监控项 ...

  7. 【Zabbix】分布式监控系统Zabbix【一】

    一.Zabbix功能及特性简介 Zabbix可以获取cpu,内存,网卡,磁盘,日志等信息 1.Zabbix数据收集方式: a.Agent客户端(Agent客户端支持多平台部署) b.如果是无法安装客户 ...

  8. Zabbix实现短信报警设置(实战)

    配置环境: zabbix 2.2.15 1.配置示警媒介类型 此文件所在位置:/usr/lib/zabbix/alertscripts/ 必须拥有执行权限,并且改变所属用户和组 要修改此脚本的路径,需 ...

  9. Zabbix使用第三方API短信报警

    之前试过邮件告警,微信告警.但是,对于一些企业的重要业务服务器,可能是存放在隔离的内网中的,无法正常连接外网.这个时候,就有必要考虑一下使用短信告警.以下这个其实还是需要服务器能够连接到外网的,但是我 ...

  10. 分布式监控系统之Zabbix基础使用

    前文我们了解了分布式监控系统zabbix的相关组件的作用和zabbix的部署,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13997582.html:今天我们 ...

随机推荐

  1. Elasticsearch安装图形化界面工具Head插件

    1.Head插件介绍以及下载 Head插件是Elasticsearch的图形化界面工具,通过此插件可以很方便的对数据进行增删改查等数据交互操作.在Elasticsearch5.x版本以后,head插件 ...

  2. 在同一个服务器(同一个IP)为不同域名绑定的免费SSL证书

    越来越多的浏览器不在支持http协议了,这就要求你为你的网站必须绑定SSL证书.谷歌浏览器也将要在今年取消对http协议的支持,申请CA证书迫在眉睫.我购买有两个域名,一个虚拟机,没事鼓捣鼓捣,图个乐 ...

  3. Python之对象的永久保存模块---pickle

    经常遇到在Python程序运行中得到了一些字符串.列表.字典等数据,想要长久的保存下来,方便以后使用,而不是简单的放入内存中关机断电就丢失数据. 这个时候Pickle模块就派上用场了,它可以将对象转换 ...

  4. 【微信JSSDK】PHP版微信录音文件下载

    微信的录音文件上传到微信服务器上,只能保存三天. 因此需要做一个转存到自己服务器,或者七牛云的操作. 转存到自己服务器 调用微信JSSDK API 录音, 录音结束,上传到微信服务器,获取录音文件的 ...

  5. 2018-2019-2 网络对抗技术 20165318 Exp1 PC平台逆向破解

    实验模块 (一)直接修改程序机器指令,改变程序执行流程: (二)通过构造输入参数,造成BOF攻击,改变程序执行流: (三)注入Shellcode并执行: 实验准备 设置共享文件夹(这一步我已经在之前安 ...

  6. openssl windows 生成公钥与私钥

    链接: https://pan.baidu.com/s/1qn-qeFxovor-vcAWFl8jIw 提取码: zy5v 一,下载安装windows平台openssl密钥生成工具,执行安装目录bin ...

  7. 2017-2018-2 20155314《网络对抗技术》Exp9 Web安全基础

    2017-2018-2 20155314<网络对抗技术>Exp9 Web安全基础 目录 实验目标 实验内容 实验环境 基础问题回答 预备知识 实验步骤--WebGoat实践 0x10 We ...

  8. docker swarm英文文档学习-11-上锁你的集群来保护你的加密密钥

    Lock your swarm to protect its encryption key上锁你的集群来保护你的加密密钥 在Docker 1.13及更高版本中,默认情况下,群管理器使用的Raft日志在 ...

  9. python3 练习题(购物车)

    '''购物车程序需求:1.启动程序后,让用户输入工资,然后打印商品列表2.允许用户根据商品编号购买商品3.用户选择商品后,检查余额是否够,够就直接扣款,不够就提醒4.用户可一直购买商品,也可随时退出, ...

  10. JavaScript高级程序设计学习(三)之变量、作用域和内存问题

    这次讲的主要是变量,作用域和内存问题. 任何一门编程语言,都涉及这三个. 变量,比如全局变量,局部变量等,作用域,也分全局作用域和方法作用域,内存问题,在java中就涉及到一个垃圾回收的问题,由于ja ...