boss要求每天晚上九点发送一条短信,至各部门总监的手机上,总结一天中所有服务器的错误统计,接到任务后,我分析了一下,通过zabbix的自带功能不太好实现,于是打算通过编写shell脚本来实现,以下是我线上的脚本,经过了二次修改后,已修复脚本误报Bug。
      脚本简要说明:
      通过sql语句,查询出events表中一天的所有警报,通过triggers表将警报分类,然后按分类放入相应的数组,最后通过公司的短信接口,发出统计短信。
----------------------------------------------------------------------------------------------------------------------------------------------
#!/bin/sh
### ## 版本:V0.2 2010-10-21 22:28  David.zhu
#------------------------------
## array1 普通信息
## array2 警告信息
## array3 一般问题
## array4 严重问题
## array5  灾难
#-----------------------------
now=`date +%s`
fix=`expr $now - 86400`
myconn="mysql -h 192.168.0.10 -uzabbix -pzabbix zabbix"
result=`${myconn} -e "SELECT objectid FROM events WHERE value=1 AND objectid >10000 AND clock>=${fix} AND clock<=${now}  ORDER BY clock DESC LIMIT 100" | grep -v "objectid"`
i=0
for trid in ${result};do
PRO=`${myconn} -e "SELECT priority FROM triggers t WHERE ((t.triggerid  BETWEEN 000000000000000 AND 099999999999999)) AND  (t.triggerid IN(${trid}))"| grep -v priority`
case $PRO in
                1)  array1[$i]=${PRO};;
                2)  array2[$i]=${PRO};;
                3)  array3[$i]=${PRO};;
                4)  array4[$i]=${PRO};;
                5)  array5[$i]=${PRO};;
                *)  error[$i]=${PRO};;
        esac
i=`expr $i + 1`
done

message="服务器监控总结---灾难问题:${#array5[@]}个|严重问题:${#array4[@]}个|一般问题:${#array3[@]}个|警告信息:${#array2[@]}个|普通信息:${#array1[@]}个"
mobile=('138*****' '138*****' '138*****' '138*****')
for ((j=0;j<${#mobile[@]};j++));do
number=${mobile[${j}]}
/usr/local/zabbix/bin/sendsms_pro.php ${number} notitle ${message} | 2>&1
done
-----------------------------------------------------------------------------------------------------------------------------------------------
注:本脚本在zabbix 1.8.3版本上测试通过,其它版本未做过测试,sendsms_pro.php为我司的短信接口,如没有接口,可以使用linux fetion来实现

转载于:https://blog.51cto.com/utrace/1529501

通过bash脚本分析zabbix数据库,实现服务器每日故障统计相关推荐

  1. windows服务器系统巡检脚本,sql server 数据库巡检脚本

    我司数据库一季度巡检一次,所以经常用到下面脚本 --1.查看数据库版本信息 select @@version --2.查看所有数据库名称及大小 exec sp_helpdb --3.查看数据库所在机器 ...

  2. vb 修改sql数据库服务器时间格式,博途使用小结:用VB脚本向SQL数据库中写数据的方法...

    刚刚学会在博途中利用VB脚本向SQL数据库写数据,将经验总结为一篇短文供大家讨论,文中包括如何建立SQL数据库及表格,如何写脚本以及如何触发脚本. 1.安装TIA时,SQL Server Manage ...

  3. lftp压缩对方服务器文件,lftp 贴心好友 备份服务器bash脚本

    lftp 贴心好友 备份服务器bash脚本 利用了 bash 和 lftp 的自动登录功能 lftp 支持 ftp ssh 等多种登录协议 复制代码 代码如下: #!/bin/bash echo &q ...

  4. busybox rootfs 启动脚本分析(一)

    imx6文件系统启动脚本分析.开机运行/sbin/init,读取/etc/inittab文件,进行初始化. 参考链接 http://blog.163.com/wghbeyond@126/blog/st ...

  5. 从Zabbix数据库中提取内存采集的数据,做内存使用率计算

    背景需求很简单,分析所有的设备的内存使用率,看那些设备的内存不够用是否需要加内存... 下面的脚本逻辑,就是通过提取zabbix数据库中的hostid,在提取itemid.. 然后通过item nam ...

  6. linux服务器监控zabbix,Linux监控之--使用ZABBIX监控web服务器

    使用ZABBIX监控web 服务器 实验拓扑图: 实验思路: nginx添加状态统计模块,编写nginx对应的状态统计脚本. zabbix-server 导入nginx模板,并对主机实现监控. 实验环 ...

  7. 线上zabbix数据库重建表分区

    线上zabbix数据库重建表分区 发表于:2015-03-5 0 条评论 当前线上zabbix数据按月分区单个分区文件过大,现重新按天分区. 注意事项: 1,"truncate table ...

  8. mysql修改服务器ip,mysql数据库修改服务器ip

    mysql数据库修改服务器ip 内容精选 换一换 云数据库RDS服务上的MySQL在使用上有一些固定限制,用来提高实例的稳定性和安全性,具体详见表1. 云数据库RDS服务支持开启公网访问功能,通过弹性 ...

  9. 正则表达式及bash脚本(一)

    目录 1 基本正则表达式元字符 1.1 字符匹配 1.2 匹配次数 1.3 位置锚定 1.4 分组其它 1.4.1 分组 1.4.2 或者 2 扩展正则表达式元字符 2.1 字符匹配 2.2 次数匹配 ...

最新文章

  1. 机器学习笔记六:K-Means聚类,层次聚类,谱聚类
  2. SharePoint 2013 配置HTTPS(SSL)
  3. Fast Matrix Factorization for Online Recommendation with Implicit Feedback论文代码分析
  4. 【AI视野·今日CV 计算机视觉论文速览 第208期】Fri, 28 May 2021
  5. 汽车在转型!福特中国的架构实践
  6. 十步教你如何接手别人的代码!
  7. 蓝桥杯 字母组串(递归)
  8. 网络安全等级保护通用解决方案参考模板
  9. 推荐支持 azw3 、epub 和 mobi 格式的阅读器:FBReader
  10. 谈谈超平面(hyperplane)
  11. 为什么要分析网络流量?
  12. LabView---信号发生器
  13. Python3,2行代码添加水印,发朋友圈,图片再也不怕被盗了!!!
  14. 【Nginx】关于二级域名配置https
  15. php增加sqlserver扩展
  16. python学习每日一题【20200226】python实现“分解质因数”的计算
  17. OmniPlan工具使用手册
  18. 这届世界杯真是谁预测谁尴尬,他却要来一次现场直播预测……
  19. 手把手搭织梦模板网站教程
  20. 360掐架搜狗浏览器

热门文章

  1. 金额逾千万!浪潮智能存储G2中标华中科技大学脑科学研究项目
  2. Spring Annotation知识梳理
  3. spring 标注 详解
  4. redhat linux 5 nfs
  5. Java解决CAS机制中ABA问题的方案
  6. 什么是OOM?常见有哪些OOM?
  7. 3、什么是控制反转(IoC),什么是依赖注入
  8. 5 高可靠,构建RabbitMQ集群架构
  9. Tomcat引起的中文乱码问题
  10. go语言解析html