telegraf+GrayLog实现生产业务SQLServer数据库表字段监控及异常告警
一、需求场景:
要实现生产业务SQLServer数据库表中出现异常值时自动告警
也就是监控业务数据表(表记录一直在增长),如果出现表中某字段出现异常值时就进行告警
尝试用telegraf的inputs.sql+inputs.query模块来实现
配置如下所示
(图片点击放大查看)
但是启动telegraf服务时发现如下报错,需要开启SQLServer数据库SQLServer Browser服务和UDP 1434端口
(图片点击放大查看)
由于是生产业务服务器,不建议轻易做配置改动
最后结合直接之前的文章
使用Telegraf+GrayLog实现Linux业务系统服务异常时自动推送钉钉告警
并想出了另外一种可行的方法
二、实现的思路:
-
1、Linux服务器可以安装Linux版本的SQLServer客户端工具sqlcmd,命令行方式进行数据库查询
-
2、telegraf 的inputs.exec 执行sqlserver查询的脚本,通过sql语句top(1)也就是查询最新的一条表记录, 查询的结果在shell脚本简单过滤一下,然后间隔为每10s执行一次查询,并outputs发送到Graylog,作为日志在graylog日志服务器上面进行存储
-
3、Graylog配置Alert告警,每45s查询日志,条件出现异常值时推送告警
最终实现的效果:(钉钉机器人告警)
(图片点击放大查看)
原文始发于微信公众号(WalkingCloud):telegraf+GrayLog实现生产业务SQLServer数据库表字段监控及异常告警
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论