数据库可用率监控工具

数据库可用率监控工具

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

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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 玩转电源设计,8个优选逆变电源参考方案大合辑

    玩转电源设计,8个优选逆变电源参考方案大合辑利用晶闸管电路把直流电转变成交流电,这种对应于整流的逆向过程,定义为逆变。例如:应用晶闸管的电力机车,当下坡时使直流电动机作为发电机制动运行,机车的位能转变成电能,反送到交流电网中去。又如运转着的直流电动机,要使它迅速制动,也可让电动机作发电机运行,把电动机的动能转变为电能,反送到电网中去。1、基于STM32单片机SPWM逆变电源设计功能描述:单片机采用:STM32单片机(型号:STM32F030F4P6)输出:正弦波频率:可调;幅值:可调;SPWM逆变原理:单片机SPWM驱动H桥+后级滤

    2022年6月6日
    26
  • JAVA查询Oracle数据库集群连接字符串及其JDBC jar包选择.

    JAVA查询Oracle数据库集群连接字符串及其JDBC jar包选择.

    2021年5月9日
    98
  • Redis主从复制原理_数据库主从复制的原理

    Redis主从复制原理_数据库主从复制的原理十八岁男孩爆肝Redis极品文章,必须三连奥里给爆赞

    2022年8月13日
    2
  • pycharm该不该用汉化_pycharm语言怎么改成中文

    pycharm该不该用汉化_pycharm语言怎么改成中文原文:PyCharm设置中文(无需汉化包)(转载)如果侵权请联系我删除

    2025年6月14日
    1
  • linux vim用不了(排位老是遇到坑怎么办)

    这里写自定义目录标题Vim是Linux常用的文本编辑器新的改变插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML图表FLowchart流程图导出与导入导出导入Vim是Linux常用的文本编辑器1、 输入命令vi文件名,进…

    2022年4月11日
    29
  • Oracle数据库恢复删除数据的方法

    Oracle数据库恢复删除数据的方法误删oracle数据库中的数据,在不考虑全库备份和利用归档日志情况,怎样快速恢复数据呢?下面介绍3种方法。1.利用oracle提供的闪回方法进行数据恢复,适用于delete删除方式首先获取删除数据的时间点:select*fromv$sqlwheresql_textlike’%table_name%’;根据结果中的sql_text内容,找到delete执行语句对应的删除时间点,执行下面语句查询出删除的数据。select*fromtable_nameasoftime

    2022年7月17日
    37

发表回复

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

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