大家好,又见面了,我是全栈君。
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.cn/115900.html原文链接:https://javaforall.cn