Grafana(https://github.com/grafana/grafana)是一个开源并支持多种metrics存储源的监控工具,DRDS(https://www.aliyun.com/product/drds)是阿里云商用的分布式数据库中间件,虽然有蛮多限制,但是底下基于MySQL,并且分库分表是比较成熟的方案,比较适合前台落数据业务使用,DRDS 的`show full stats`指令提供了秒级监控,所以马上想到用grafana来快速搭建一个针对DRDS的秒级监控。
废话不多说,开始步骤,注意:本文不考虑安全因素,如果生产使用,请设置好账号密码,以及权限,云上请注意设置ip白名单或者进VPC。
1. 官网下载页https://grafana.com/grafana/download?platform=mac ,因为我用mac,并且DRDS可以免费申请公网域名,所以可以直接本机搭建,当然你有ecs,下载对应操作系统版本也ok
2. 使用homebrew安装grafana完毕后,`brew services start grafana`启动服务,可以确认下进程是否存在,如果不做任何配置,默认浏览地址是:127.0.0.1:3000
3. 先可以使用mysql作为监控数据存储源,使用homebrew安装MySQL,安装完毕后`mysql.server start`, 使用root登陆创建账号密码和权限(5.7需要先`xxx/mysqld_safe --skip-grant-tables & `启动,然后无密码登陆后,修改mysql.user里面root密码,再登陆创建业务账号和密码)
4. mysql使用刚创建账号创建database, 再创建表,按照grafana官方文档,Time类型监控,如果是MySQL数据源必须要有3个字段,分别是datetime类型,double类型,varchar类型,分别表示时间,值,监控类型。比如我创建的表:
CREATE TABLE `show_full_stats` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`my_time_sec` datetime DEFAULT NULL,
`my_value` double DEFAULT NULL,
`my_metric` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
5. 写一个python脚本,主要目的访问DRDS,通过`show full stats`(https://help.aliyun.com/document_detail/52139.html)拿到指标,并且按照指标名称,值(注意需要数值),当前时间为一条记录写入刚创建的监控数据存储中,可以无限循环,每隔一秒执行一次。这样数据就有了。
6. 登陆本地启动的grafana,点击Data Sources标签,添加一个MySQL数据源,比如叫localdb,连接串(需要带port)、数据库名、用户名密码都填上。save&test
7. 点击Dashboards, 创建一个Dashboard, 默认会带有一个pannel,图形是Graph,默认显示图形的数据都是假的, 单击选择编辑,选择Metrics标签页,Data Source选择localdb, 然后填写Query,按照官方文档,类似以下sql,其中字段名必须取到grafana认识的别名,$__timeFilter 变量可以通过当前页右上方进行过滤选择,where条件可以添加对监控项的选择。Query配置好之后,可以Query Inspector下看看SQL是否合法。
SELECT
UNIX_TIMESTAMP(my_time_sec) as time_sec,
my_value as value,
my_metric as metric
FROM show_full_stats
WHERE $__timeFilter(my_time_sec)
ORDER BY my_time_sec ASC
8. 可能这个时候你还看不到图线出现,怎么回事呢?一般是因为时间范围选择不对,点击当前页面右上角,选择 Last xx minutes 一般就可以了。
9. 配置一秒刷新怎么办呢?也是点击当前页面右上角 Time Range 选项,选择相应时间间隔,默认是5秒一刷,如果感觉精度不够。可以在页面上方类似 配置的图标>settings>Time picker 添加,比如在5s之前加一个1s, 然后回到Time Range选项选择1秒时间间隔,apply 即可隔一秒刷新。
10.这样一个基础的监控就添加完毕,最后放一个基本效果图
后续:dashboard页面的pannel配置是可以添加多个,并且自由布局,并且类型不止graph, 所以可以组成比较丰富的监控页。而告警是和监控搭配使用,grafana有比较丰富的告警对接,电话,sms, email等通用方式,甚至还有钉钉,后续尝试下。
- 大小: 455.4 KB
分享到:
相关推荐
“阿里云DRDS简明教程-Ver1.04”详细介绍了如何在Java环境中集成和使用DRDS,包括配置、操作、监控等方面。通过阅读此教程,开发者可以快速掌握DRDS的基本用法,并在实际项目中发挥其优势,提升数据库系统的处理能力...
本文档是阿里云专有云企业版分布式关系型数据库服务DRDS的用户指南,旨在帮助用户快速掌握DRDS的使用和管理。该指南详细介绍了DRDS的基本概念、功能特点、操作指南、故障排除和优化技巧等方面的知识点。 一、法律...
2. **监控能力**:内置的StatFilter可以收集各种连接池指标,如SQL执行时间、连接使用情况等,并提供可视化的Web监控界面,帮助开发者实时了解数据库运行状态。 3. **扩展性**:Druid支持插件化设计,可以通过配置...
总的来说,阿里云DRDS是一种针对大型互联网应用和企业级业务的高效分布式数据库解决方案,它通过分布式技术解决了单机数据库在容量、并发和计算上的瓶颈,同时也保留了传统关系型数据库的易用性和稳定性。...
12. **SQL审计与分析**:能够快速定位问题SQL语句,并提供实时分析及报表中心功能,便于全面监控数据库状态。 13. **SQL闪回**:提供了对误操作SQL语句的数据恢复能力,可以恢复到行级别。 14. **一体化备份恢复...
DRDS(Distributed Relational Database Service,分布式关系型数据库服务)是一种分布式数据库中间件,旨在简化分布式数据库事务的管理和维护。在数据库系统中,事务是一组操作,这些操作要么全部成功,要么全部...
DRDS的诞生源自于阿里巴巴集团内部业务快速发展的需求。随着业务规模的不断扩大,传统的单机数据库已经无法满足海量数据存储与处理的需求,尤其是在高并发和大数据量的情况下。因此,为了应对这些挑战,阿里巴巴内部...
此外,DRDS产品还使用云计算降低成本,成本预算周期减短,并且随着规模变大,资源和管控成本会逐步降低,总体上对业务收取的费用也会逐步降低。 DRDS产品是一种功能强大、可扩展性强、成本低廉的分布式关系型数据库...
* 24/7监控:提供24/7的监控服务,确保DRDS的稳定运行。 8. 产品发展前景: 分布式关系型数据库服务DRDS的发展前景包括: * 云计算和大数据应用 * 人工智能和机器学习应用 * 物联网和边缘计算应用 * 5G和边缘计算...
DRDS提供了丰富的监控指标,如CPU使用率、I/O等待时间、网络带宽等,帮助管理员实时了解数据库运行状态。同时,系统支持设置阈值报警,一旦达到预设条件,将自动发送报警通知。 总结来说,阿里云DRDS是一种强大的...
* 数据库监控:DRDS提供了多种监控工具,帮助用户实时监控数据库性能。 * 数据库备份和恢复:DRDS支持多种备份和恢复策略,帮助用户保护数据库数据。 * 数据库升级和维护:DRDS提供了多种升级和维护工具,帮助用户...
阿里巴巴中间件高级技术专家励强(君瑜) 在2017杭州云栖大会中做了题为《分布式数据库DRDS全新升级》的分享,就分布式数据库DRDS近年发展历程,场景覆盖介绍,HiStore高性能列式存储引擎,分布式数据库DRDS2018年全面...
在服务条款方面,用户在使用DRDS前需要仔细阅读阿里云官网上的相关规范、规则、使用流程和服务条款。一旦选择“立即开通”,即表示同意这些条款。用户需自行判断DRDS服务是否与所选操作系统、云服务器等软硬件产品...
该文档提供了阿里云专有云企业版分布式关系型数据库服务DRDS 的开发指南,旨在帮助开发者快速了解和使用 DRDS 服务。文档中包含法律声明、通用约定、OpenAPI 介绍、使用说明等内容。 法律声明部分明确了阿里云对本...
最小规格配置为4Core4G(两个DRDS节点),参考的最大QPS(每秒查询数)约为10000,其他规格的专享实例的最大QPS均为10000的整倍数。 - **适用场景**:对于需要独占DRDS实例、对并发处理SQL性能有较高要求的用户来...
快速开始DRDS主要涉及以下几个步骤: 1. **创建DRDS实例**:在阿里云DRDS控制台上,可以选择创建共享实例或专享实例。共享实例是免费的,但与其他用户共享资源,可能受到SQL执行的影响;专享实例提供独享资源,适用...
DRDS提供了慢SQL查询功能,能够帮助用户快速定位慢SQL语句,提高数据库性能。慢SQL查询可以通过执行以下命令实现: mysql> show slow; 这个命令将显示当前DRDS库中的慢SQL语句,包括执行时间、影响行数、SQL语句等...
阿里云分布式关系型数据库DRDS(Distribute Relational Database Service)是一种基于RDS(Relational Database Service)的服务,旨在解决大规模数据处理中的分库分表、读写分离、平滑扩容以及全局唯一ID等问题。...