資料庫可用率監控工具,資料庫監控工具

來源:互聯網
上載者:User

資料庫可用率監控工具,資料庫監控工具

Author:Skate
Time:2014/12/23


資料庫可用率監控工具

[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 DEFAULT '0' COMMENT '宕機時間,計量單位秒',
 `uptime` INT(11) NULL DEFAULT '0' COMMENT '線上時間,計量單位秒',
 `weekavailability` DECIMAL(10,4) NULL DEFAULT '1.0000' COMMENT '周線上率',
 `monthavailability` DECIMAL(10,4) NULL DEFAULT '1.0000' COMMENT '月線上率',
 `month3availability` DECIMAL(10,4) NULL DEFAULT '1.0000' COMMENT '3個月線上率',
 `yearavailability` DECIMAL(10,4) NULL DEFAULT '1.0000' COMMENT '年線上率',
 `allavailability` DECIMAL(10,4) NULL DEFAULT '1.0000' COMMENT '總線上率',
 `type` VARCHAR(50) NULL DEFAULT NULL COMMENT '兩種類型:host和db',
 `interval` INT(11) NULL DEFAULT NULL COMMENT '時間間隔,計量單位秒',
 `ipaddr` VARCHAR(50) NULL DEFAULT NULL COMMENT 'IP地址',
 `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 COMMENT 'IP地址',
 `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;

 

----end----

 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.