数据库可用率监控工具

数据库可用率监控工具

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

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)


相关推荐

  • 最大矩阵和 leetcode_leetcode有效的括号

    最大矩阵和 leetcode_leetcode有效的括号给你一个二维矩阵 matrix 和一个整数 k ,矩阵大小为 m x n 由非负整数组成。矩阵中坐标 (a, b) 的 值 可由对所有满足 0 <= i <= a < m 且 0 <= j <= b < n 的元素 matrix[i][j](下标从 0 开始计数)执行异或运算得到。请你找出 matrix 的所有坐标中第 k 大的值(k 的值从 1 开始计数)。示例 1:输入:matrix = [[5,2],[1,6]], k = 1输出:7解释:坐标 (0,

  • dw中css制作导航,Dreamweaver导航条按钮制作方法

    dw中css制作导航,Dreamweaver导航条按钮制作方法核心提示:教你Dreamweaver用表格巧妙制作导航条按钮看到上面的导航条了吗?你可以点击一下看看它的效果,请注意,这可是用表格做出来的,你相信吗?其实代码很简单,现在让我们来看看该怎么做。1.首先创建一个1×6的表格,参数为:border=0cellspacing=3cellpadding=0;2.在这个表格的每个单元格内分别插入一个表格,宽度和高度设为100%;3.建立一个CSS样式.u…

  • springboot实战第四章-Spring MVC 基本配置

    springboot实战第四章-Spring MVC 基本配置

  • Flask中jsonify和json.dumps用法以及区别(简单案例)[通俗易懂]

    Flask中jsonify和json.dumps用法以及区别(简单案例)[通俗易懂]环境:python3.6,Flask1.0.3flask提供了jsonify函数供用户处理返回的序列化json数据,而python自带的json库中也有dumps方法可以序列化json对象.其二者的区别,写个简单的案例实测一下便见分晓。fromflaskimportFlaskfromflaskimportjsonifyimportjsonapp=F…

  • Navicat 15 for MySQL激活码-激活码分享

    (Navicat 15 for MySQL激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

  • Java 解决中文乱码问题

    Java 解决中文乱码问题一:服务端解析客户端二:客户端解析服务端三:Filter设置编码四:Get提交中文乱码

发表回复

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

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