数据库可用率监控工具

| 2019-05-17

数据库可用率监控工具
[root@skatedb66 tmp]# ./db_availability –help
 usage: Used to view server availability v0.1 ,(C) Copyright Skate 2014
        [-h] –host HOST –user USER –passwd PASSWD [–port PORT]
        [–dbname DBNAME] –rhost RHOST –ruser RUSER –rpasswd RPASSWD
        [–rport RPORT] [–rdbname RDBNAME] [–type TYPE] [–interval INTERVAL]
optional arguments:
   -h, –help           show this help message and exit
   –host HOST          = Data configuration center ip address
   –user USER          = Data configuration center database user
   –passwd PASSWD      = Data configuration center database password
   –port PORT          = Data configuration center database port
   –dbname DBNAME      = Data configure center database name
   –rhost RHOST        = Monitored ip address
   –ruser RUSER        = Monitored database user
   –rpasswd RPASSWD    = Monitored database password
   –rport RPORT        = Monitored database port
   –rdbname RDBNAME    = Monitored database name
   –type TYPE          = Monitored type(db or host)
   –interval INTERVAL  = The monitoring time interval, this is very important,
                        please fill out in strict accordance with the call
                        interval
 [root@skatedb66 tmp]# ./db_availability –host=10.20.0.55 –user=root –passwd=root –port=3306 –dbname=test6 –rhost=10.20.0.56 –ruser=root –rpasswd=root –rport=3306 –rdbname=mysql –type=db –interval 60
ipaddr 10.20.0.56:
 database:3306 vailability is :
                             month       100.0000%
                             3month      100.0000%
                             year        100.0000%
                             total       100.0000%
                             uptime(s)   1116020
                             downtime(s) 0
 [root@skatedb66 tmp]#
 [root@skatedb66 tmp]# ./db_availability –host=10.20.0.55 –user=root –passwd=root –port=3306 –dbname=test6 –rhost=10.20.0.65 –ruser=root –rpasswd=root –rport=3306 –rdbname=mysql –type=db –interval 60
ipaddr 10.20.0.65:
 database:3306 vailability is :
                             month       97.6200%
                             3month      99.2200%
                             year        99.8000%
                             total       99.9800%
                             uptime(s)   0
                             downtime(s) 61620
 [root@skatedb66 tmp]#

简述: 这个工具能够通过监控得到database和host的近期一个月,3个月,一年和全部时间的内的可用率(默认在未监控时,database和host是可用的。没实用uptime/uptime+downtime的方式计算),并且还能够看到database和host在被监控到的时期的在线和离线时间。

这样能够了解database和host各个时期的使用情况。

使用环境:      能够监控mysql服务和server的可用率和离线时间 用法: 本工具是通过把配置监控信息写入的监控配置中心。然后实时分析採集的数据。能够把这个工具部署到服务端,通过并发批量检查大量的database和host

安装方法: 本工具是用python开发并已经打包,能够直接下载使用。没有环境依赖

特别说明: 1. interval參数特别重要,为了提高可用率的准确率。这个间隔时间的选取必须和本工具被调用时间间隔一样。 配置中心的数据库脚本

CREATE TABLE `db_availability` (
  `id` INT(11) UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `createtime` DATETIME NULL DEFAULT NULL COMMENT ‘创建时间’,
  `updatetime` DATETIME NULL DEFAULT NULL COMMENT ‘更新时间’,
  `downtime` INT(11) NULL DEFAULT0COMMENT ‘宕机时间,计量单位秒’,
  `uptime` INT(11) NULL DEFAULT0COMMENT ‘在线时间,计量单位秒’,
  `weekavailability` DECIMAL(10,4) NULL DEFAULT1.0000COMMENT ‘周在线率’,
  `monthavailability` DECIMAL(10,4) NULL DEFAULT1.0000COMMENT ‘月在线率’,
  `month3availability` DECIMAL(10,4) NULL DEFAULT1.0000COMMENT3个月在线率’,
  `yearavailability` DECIMAL(10,4) NULL DEFAULT1.0000COMMENT ‘年在线率’,
  `allavailability` DECIMAL(10,4) NULL DEFAULT1.0000COMMENT ‘总在线率’,
  `type` VARCHAR(50) NULL DEFAULT NULL COMMENT ‘两种类型:host和db’,
  `interval` INT(11) NULL DEFAULT NULL COMMENT ‘时间间隔,计量单位秒’,
  `ipaddr` VARCHAR(50) NULL DEFAULT NULL COMMENTIP地址’,
  `port` VARCHAR(50) NULL DEFAULT NULL,
  `hostname` VARCHAR(50) NULL DEFAULT NULL COMMENT ‘主机名称’,
  `idc` VARCHAR(50) NULL DEFAULT NULL COMMENT ‘所属IDC,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `ipaddr_port_type` (`ipaddr`, `port`, `type`)
 )
 COLLATE=’utf8_general_ci’
 ENGINE=InnoDB;
CREATE TABLE `db_downtime_detail` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `ipaddr` VARCHAR(50) NULL DEFAULT NULL COMMENTIP地址’,
  `port` VARCHAR(50) NULL DEFAULT NULL,
  `hostname` VARCHAR(50) NULL DEFAULT NULL COMMENT ‘主机名称’,
  `createtime` DATETIME NULL DEFAULT NULL COMMENT ‘创建时间’,
  `interval` INT(11) NULL DEFAULT NULL COMMENT ‘时间间隔,计量单位秒’,
  `type` VARCHAR(50) NULL DEFAULT NULL COMMENT ‘宕机类型:host和db’,
  `idc` VARCHAR(50) NULL DEFAULT NULL COMMENT ‘所属IDC,
  PRIMARY KEY (`id`),
  INDEX `createtime` (`createtime`)
 )
 COMMENT=’宕机具体时间记录表’
 COLLATE=’utf8_general_ci’
 ENGINE=InnoDB;

编辑:航网科技 来源:腾讯云 本文版权归原作者所有 转载请注明出处

在线客服

微信扫一扫咨询客服


全国免费服务热线
0755-36300002

返回顶部