数据库可用率监控工具

数据库可用率监控工具

大家好,又见面了,我是全栈君。

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—-

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115900.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ER图转关系模型_实体关系图变关系模型

    ER图转关系模型_实体关系图变关系模型(1)实体类型的转换将每个实体类型转换成一个关系模式,实体的属性即为关系的属性,实体标识符即为关系的键。(2)联系类型的转换实体间的关系是1对1在实体类型转换成两个关系模式中的任意一个关系模式的属性中加入另一个关系模式的键和联系类型的属性。实体间的联系是1对N则在N端实体类型转换成的关系模式中加入1端实体类主键。如实体间的联系是M对N单独将联系类型也转换成关系模式。将M和N端的主键都加进去。示例:该ER图转换为关系模型商店和职工是一对多关系,一个商店有多个

    2025年6月5日
    0
  • 教你搭建你自己的Git服务器

    教你搭建你自己的Git服务器

    2021年10月9日
    34
  • git clone 指定分支 拉代码

    git clone 指定分支 拉代码gitclone指定分支拉代码

    2022年5月29日
    86
  • Java HashSet的实现原理详解

    Java HashSet的实现原理详解HashSet是JavaMap类型的集合类中最常使用的,本文基于Java1.8,对于HashSet的实现原理做一下详细讲解。(Java1.8源码:http://docs.oracle.com/javase/8/docs/api/)一、HashSet实现原理总结HashSet的实现原理总结如下:①是基于HashMap实现的,默认构造函

    2022年10月29日
    0
  • yii报错400

    yii报错400当你在使用yii2.0过程中程序出现400的错误可以在控制器内加入public$enableCsrfValidation=false;即可解决

    2022年6月3日
    33
  • Busybox的安装步骤[通俗易懂]

    Busybox的安装步骤[通俗易懂]一、下载busyboxwww.busybox.net/downloads/(busybox-1.17-0.tar/bz2)二、安装:1、修改Makefile文件:第175行交叉编译器CORSS_COMPILE2、makemenuconfig当出现如下错误时的解决办法:make[2]:***[scripts/kconfig/lxdialog/check…

    2022年7月16日
    10

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号