数据库可用率监控工具

Author:Skate

Time:2014/12/23

数据库可用率监控工具

[[email protected] 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

[[email protected] 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

[[email protected] tmp]#

[[email protected] 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

[[email protected] 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----

时间: 2024-10-09 21:46:20

数据库可用率监控工具的相关文章

Linux CPU占用率监控工具小结

关键词:top.perf.sar.ksar.mpstat.uptime.vmstat.pidstat.time.cpustat.xload.munin.htop.glances.atop. 1. top top是最常用的查看系统资源使用情况的工具,包括CPU.内存等等资源. 这里主要关注CPU资源. 1.1 /proc/loadavg load average取自/proc/loadavg. 9.53 9.12 8.37 3/889 28165 前三个数字是1.5.15分钟内进程队列中平均进程数

6. SQL Server数据库监控 - 如何告警

原文:6. SQL Server数据库监控 - 如何告警 常用的告警方式大致有:短信.邮件.应用程序 (beep提示,图标提示,升窗提示等),可是不能一直坐在电脑前看着应用程序,或者用脚本部署监控,根本没有程序界面,所以通常用短信.邮件两种方式告警. 一. 告警方式 1. 短信 用程序发短信的方式一般有这两种: (1) 硬件 需要1张SIM卡,1个SIM卡读卡设备 (比如:短信猫),然后把设备连接到电脑,应用程序根据设备的软件接口,传参并发送短信.记得把SIM卡设备放在信号好,无干扰的地方: 如

如何配置数据库镜像<一>

一.简介 “数据库镜像”是Sql Server 2005推出的一个主要用于提高数据库可用率的软件解决方案.镜像是基于每个数据库执行的,仅适用于使用完整恢复模式的数据库.简单恢复模式和大容量日志恢复模式不支持数据库镜像. 数据库镜像是通过维护一个热备用服务器而发挥作用的.在一般的镜像会话期间,如果生产服务器出现故障,客户端应用程序可以通过重新连接到备用服务器来快速进行恢复. 二.前提条件 1.准备好服务器,保证数据库版本至少是Sql Server 2005 SP1,当然最好是最新版本,老的版本测试

Docker 监控实战 教你如何监控 Docker 容器内部

如今,越来越多的公司开始使用 Docker 了,现在来给大家看几组数据: 2 / 3 的公司在尝试了 Docker 后最终使用了它 也就是说 Docker 的转化率达到了 67%,而转化市场也控制在 60 天内. 越大型的公司越早开始使用 Docker 研究发现主机数量越多的公司,越早开始使用 Docker.而主机数量多,在这个研究里就默认等同于是大型公司了. Docker 优势 那为什么 Docker 越来越火呢?一谈起 Docker 总是会跟着让人联想到轻量这个词,甚至会有一种通过 Dock

电商峰值系统架构设计--转载

1.1 系统架构设计目录 摘要:双11来临之际,<程序员>以“电商峰值系统架构设计”为主题,力邀京东.当当.小米.1号店.海尔商城.唯品会.蘑菇街.麦包包等电商企业,及商派.基调网络等服务公司,分享电商峰值系统架构设计的最佳技术实践. 自2009年11月11日,淘宝商城(现名天猫)拉开网购狂欢节的序幕,各大电商的促销浪潮此起彼伏.此时的电商大战不仅是价格之争,更是技术的较量.如何设计电商峰值系统来更好地满足用户蜂拥而至的访问,如何在海量数据处理中实时发现有效信息并转化为商机,成为众多电商企业密

Jmeter的性能测试

性能测试的概念 定义:软件的性能是软件的一种非功能特性,它关注的不是软件是否能够完成特定的功能,而是在完成该功能时展示出来的及时性. 由定义可知性能关注的是软件的非功能特性,所以一般来说性能测试介入的时机是在功能测试完成之后.在系统基础功能测试验证完成.系统趋于稳定的情况下,才会进行性能测试,否则性能测试是无意义的.另外,由定义中的及时性可知性能也是一种指标,可以用时间或其它指标来衡量,通常我们会使用某些工具或手段来检测软件的某些指标是否达到了要求,这就是性能测试. 性能测试定义:指通过自动化的

浅谈网络安全的经验

1 ) 一切以精准的监控为前提 (简介Prometheus) 谈安全防护和***之前, 一切的前提 先以精准的监控为准 , 采集精度 1s 无论是 企业对***的监控和预警, 还是未雨绸缪的 压力测试模拟 都必须有一个详细的参照物 在这里 给大家推荐一款强力的开源监控工具, Prometheus 普罗米修斯 它是一款开源的,基于数学命令行 和 时间序列数据库的 精密监控工具 其采集精度 理论值可以达到每秒一次采集,结合浮点数的表达形式,非常适用于瞬时突发状况的分析/监控/ 以及报警 接下来 咱们

mysql最大连接数默认只有100,当很多用户访问带有数据库的站点如论坛时,会造成mysql服务CPU占用率上升,并无法提供服务

问题 mysql最大连接数默认只有100,当很多用户访问带有数据库的站点如论坛时,会造成mysql服务CPU占用率上升,并无法提供服务 解决方案 为mysql增加最大连接数的方法: --------------------------------------Linux: vi /etc/my.cnf 找到[mysqld]一段,加入如下一行:set-variable=max_connections=500 注意:该参数必须加入[mysqld]配置段内,加入别的地方无效. 例如一个标准的my.cnf

极佳数据库文件备份文件防止被病毒加密监控工具

本工具为了对抗勒索病毒而开发. 支持 SQL数据库备份文件 MYSQL  oracle  mongodb  ACCESS sybase等数据库文件及备份文件 支持 一旦被勒索病毒加密 无需联系黑客,我们可为其解密. 支持 支持定时备份 分钟及备份, 支持 备份时不影响mysql oracle等程序运行. 支持 备份文件夹下多种扩展名 如需备份多个备份多种文件 只要扩展名分号隔开 例如 dmp;dbf;log; 本工具只备份文件关键信息不会占用很大磁盘空间.一旦被勒索病毒加密 我们可以根据关键信息