数据库可用率监控工具

数据库可用率监控工具

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

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

 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • java编译命令用什么写_要编译java程序需要使用的命令是什么[通俗易懂]

    java编译命令用什么写_要编译java程序需要使用的命令是什么[通俗易懂]要编译java程序需要使用的命令是什么发布时间:2020-07-2214:01:15来源:亿速云阅读:83作者:Leah要编译java程序需要使用的命令是什么?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。编译java程序需要使用javac命令。使用方法是:1、打开命令提示符,进入到Java文件所在目录下;2、执行【j…

  • nginx 转发websocket_nginx配置websocket

    nginx 转发websocket_nginx配置websocketnginx入门之简易,相信用过的同学都会有体会,没有复杂安装,没有庞大的配置文件,在nginx.conf配置一下,就可以提供不同类型的服务。本文简单描述下如何转发(反向代理)一个socket服务。将要配置一个如上图示的转发服务。在nginx.conf文件,与events平行的级别,配置一个stream#evnets是配置文件已有内容events{ worker_connec…

  • 群晖服务器名修改,闻上云刷黑群晖后免拆机修改序列号和mac地址

    群晖服务器名修改,闻上云刷黑群晖后免拆机修改序列号和mac地址闻上云刷黑群晖后免拆机修改序列号和mac地址2020-02-2715:03:1713点赞98收藏65评论最近,矿渣论坛的u盘直刷黑群晖固件免费了,再也不用辛辛苦苦的攒渣金了!值此利好消息,帮同事先后购入2台闻上云原封机器,都是原始系统。到手后成色很好,价格也从原来的150包邮一路涨到现在的300+了。这台机器颜值好,做工有大厂风范,甩蜗牛、魔盒之类矿渣几条街。。。这里放下xxx大佬的群晖引导固件…

  • htmlimg图片加载失败_js针对图片加载失败的处理方法分析

    htmlimg图片加载失败_js针对图片加载失败的处理方法分析本文实例讲述了js针对图片加载失败的处理方法。分享给大家供大家参考,具体如下:在项目中不可避免会用到图片,尤其是列表,有时候图片会加载失败;这样就会显示一个很难看的坏图片缩略图;下面介绍两种方法,解决这个问题:1、如果在你的项目中有引入jQuery插件,你可以使用error([[data],fn])这个函数;$(“img”).error(function(){//当图片加载失败时,你要进行的操作/…

  • hive RegexSerDe View

    hive RegexSerDe View

  • pycharm2021最新激活码_通用破解码

    pycharm2021最新激活码_通用破解码,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

发表回复

您的电子邮箱地址不会被公开。

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