1) 将所有业务线的数据,分成业务层数据,中间件层数据,数据层数据
2) 业务层数据,是指我们的服务和客户端交互的数据。我们将数据分成数据交互总次数,数据交互出错次数,则可以得到数据出错率。在这里,我们主要使用1分钟数据出错率。
1分钟业务数据出错率=1分钟业务数据交互出错次数/业务数据交互总次数
3) 中间件层数据,是指我们的业务服务使用的数据库之外的中间件,包括缓存中间件 ,队列中间件 ,有的还可能使用到搜索中间件等等。这些中间件,我们关心的有
a) 中间件的端口是否响应
b) 中间件的连接是否正常
c) 中间件能否正常读写
我们需要分别取用中间件端口监控出错率、中间件通过账号密码连接的连通监控出错率、中间件读出错率、中间件写出错率。
端口监控出错率=监控程序进行100次端口连接的出错次数/总次数100次
连通出错率= 监控程序使用账号密码连接中间件100次的出错次数/总次数100次
读出错率=监控程序读取100次中间件数据的出错次数 /总次数100次
写出错率=监控程序使用模拟数据写100次中间件的出错次数 /总次数100次
4) 数据库层数据,对于一个数据库,我们比较关心的数据为
a) 数据库的端口是否正常
b) 数据库的连接是否正常
c) 数据库能否正常读写
d) 数据库中慢查询的比例
e) 数据库日志中的报错比例
其中 a)b)c)的出错率和中间件计算一致,慢查询出错率和日志出错率按下面公式计算。
1分钟慢查询出错率=1分钟的某数据库机器的慢查询数量/1分钟慢查询所在机器数据库的查询数量
1分钟日志出错率=1分钟的某数据库机器的数据库错误语句数量/1分钟慢查询所在机器数据库的语句数量
5) 针对以上三层的各种出错率,我们可以在管理系统设置好,黄色警告态的阈值,红色严重态的阈值。比如 1分钟业务数据出错率 可以设置出错超过2%为黄色警告态,超过5%为红色严重态。
其他中间件层各出错率的阈值,以及数据库各种出错率的阈值也可以根据业务需要自己指定。
6) 中间件和数据库多个出错率的处理。对于一个业务块,我们可以展示业务色块颜色,业务色块名,以及业务色块辅助信息。我们把{业务名,业务色块颜色,业务色块辅助信息}看成一组业务信息。则初始化为{业务名,绿色正常态,业务正常辅助信息}。当按着出粗率依次往下走的时候,如果遇到黄色警告态,则业务信息变成{业务名,黄色警告态,业务警告辅助信息},如果遇到红色严重态,则业务信息变成{业务名,红色严重态,业务严重辅助信息}。只能向更严重走即可。处理流程图如下
7) 根据所得到的业务层业务数据组,中间件层业务数据组,数据库层业务数据组,即可绘制业务服务视图。绘制得到的服务视图形式如下
架构如下: