规则:模仿咱们发现问题后先检查数据库主从同步是否有问题的习惯
|
天机系统发现成单金额或验证券数或短信发送条数环比大幅降低后,启动检查规则,
自动逐一检查各类从库的主从同步状况。
若是发现主从延迟超过阈值,则天机 DashBoard 应浮出两条红色警告提示(可点击进入):
若是发现主从同步失败致使了同步中止,则应浮出两条红色警告提示(可点击进入):
|
数据库拓扑关系
|
在监控系统里登记了 DB 的IP和分组后,其实已经能够探测到 DB 之间的主从关系(包括级联关系)了,能自动绘制出登记的全部数据库服务器之间的关系。举例以下:
图2 自动绘制数据库拓扑
|
Graphite 是一个企业级的监控工具,用 Python 编写,采用 django 框架,sqlite 数据库存储,自有简单文本协议通信,绘图功能强大。最初由 Chris Davis 在 Orbitz 工做时,做为一个辅助项目开发的,最终成了一个监控基础工具,如他所言,Graphite provides real-timevisualization andstorage of numeric time-series data,重点解决: javascript
严格地说,Graphite 只是一个根据数据绘图的工具,数据收集一般由第三方工具或插件完成,它自带了 carbon 和 whisper,还可根据其协议选用别的数据源供其绘图。官方描述,预计用Ceres 替代 Whisper。 php
图4 graphite图例 html
简单的文本协议和强大的绘图功能使得它能够方便地扩展到任何须要监控的系统上。豆瓣、Google、GitHub、Instagram、Uber等公司都用它。 java
3.3.CollectD node
C语言开发的 collectd 是一个较为古老的工具,像 statsd 同样它也作周期性收集统计数据,collectd 还管数据存储。它可以经过插件支持检测各类各样的系统信息,如数据库、UPS。 python
要想查看 collectd 收集的信息,还须要安装 web 界面或者 Cacti,因而工做模式就是: mysql
collectd 做为守护进程运行,每隔 10 秒收集信息,而 Cacti 每隔5分钟运行一个 PHP 脚原本收集信息(二者的时间间隔可配置)。 ios
3.5.Grafana git
grafana 则相似 ES Kibana 的可视化面板,有着很是漂亮的图表和布局,目前支持 Graphite、Influxdb 和 Opentsdb) + influxdb(分布式时序、事件和指标数据库)等配搭。 github
http://监控系统域名/db/createImage/target/%5B%22stats.timers.mysql.172_16_999_991-3306.com_select_persecond.upper%22%2C%22stats.timers.mysql.172_16_999_992-3306.com_select_persecond.upper%22%2C%22stats.timers.mysql.172_16_999_993-3306.com_select_persecond.upper%22%5D/from/-1hour.html?width=492&n=0.8623758849623238
图10 graphite 逻辑图
图11 Graphite 数据流转图
[default_1min_for_1day]pattern = .*retentions = 10s:1d能够自定义 retentions,注意表达式里每个时间间隔必须是第一个的倍数,也就是说,第一个是10s,那么第二个只能是10s的整数倍,以此类推。
[stats]pattern = ^stats.*retentions = 10s:1d,30s:7d,1m:28d,15m:5y
[business_monitoring]pattern = ^business_monitoring\.retentions = 1m:5y