摘要: 一. 背景介绍 当集团的MySQL数据库实例数达到2000+、MHA集群规模数百个时,对MHA的及时、高效管理是DBA必须面对的一个挑战。MHA 集群 节点信息 和 运行状态 是管理的基础。本篇幅主要介绍如何通过Python实现收集MHA 集群 节点信息 和 运行状态的功能。这些信息将是CMDB信息 阅读全文
posted @ 2021-10-01 00:36 东山絮柳仔 阅读(100) 评论(0) 推荐(1) 编辑
摘要: 一.背景 1.1 问题描述 近期发现一台SQL Server的CPU利用率很不稳定,发现不定时的飙升到100%,更可怕的是在业务繁忙时,影响了业务调用,失败率明显增加,所以,减低CPU的利用率,是迫切需要解决的问题。 CPU升高的原因直观上来说,就是CPU(中央处理器)的负载过高, 中央处理器忙不过 阅读全文
posted @ 2021-08-05 02:28 东山絮柳仔 阅读(718) 评论(4) 推荐(20) 编辑
摘要: 前言 身边一直都有小伙伴在问:MongoDB到底是什么?它有到底什么特性?有什么与众不同?在什么情况下使用MongoDB最合适?以什么样的姿势是最好的?难道就一定要用吗?....说实话,这些问题都问到精髓了,也看得出来你们的急切和真切。有时候大家都比较忙,很难抽出一天的时间,坐而论道,把这些问题掰扯 阅读全文
posted @ 2021-04-01 22:45 东山絮柳仔 阅读(574) 评论(0) 推荐(2) 编辑
摘要: I 文档定义 1.1 编写目的 为了在软件生命周期内规范数据库相关的需求分析、设计、开发、测试、运维工作,便于不同团队之间的沟通协调,以及在相关规范上达成共识,提升相关环节的工作效率和系统的可维护性。同时好的规范,在执行的时候可以培养出好的习惯,好的习惯是软件质量的保证。 1.2 适用范围 本文档适 阅读全文
posted @ 2020-10-17 00:33 东山絮柳仔 阅读(1180) 评论(0) 推荐(3) 编辑
摘要: 我们知道,之前的运维告警多通过mail 等方式通知到相应的人员,难以实现随时随地的查看。随着手机APP的发展,很多告警开始发送到IM软件上去。目前比较常用的是发送到微信和钉钉上,今天我们将重点放在钉钉上。群机器人是钉钉群的高级扩展功能,群机器人可以将第三方服务的信息聚合到群聊中,实现自动化的信息同步 阅读全文
posted @ 2019-09-06 00:00 东山絮柳仔 阅读(8554) 评论(0) 推荐(0) 编辑
摘要: 1.问题描述 最近有一个需求,更新Mongo数据库中 原料 集合的某字段价格,更新后,程序报错了,说长度过长了,需要Truncation。 主要错误信息如下: 调试发现,价格这个数据来自于SQL Server数据库,是decimal(18,4),数据落到Mongodb中也是Decimal类型。DBA 阅读全文
posted @ 2019-08-20 16:12 东山絮柳仔 阅读(8271) 评论(0) 推荐(1) 编辑
摘要: 当前,随着电商节日的增多(6.18、双十一、双十二)、平台拉新趋于频繁,大促活动也越来越普遍。作为一个电商平台,每年都会有一次,甚至几次的流量“大考”。数据库作为系统的重要节点,其稳定性和性能格外重要,数据库的全力保障是一个大的挑战。电商大促,这场没有硝烟的战争很多人已有体会,在此不再赘述。现在,我 阅读全文
posted @ 2019-07-31 17:06 东山絮柳仔 阅读(803) 评论(2) 推荐(1) 编辑
摘要: 1.需求概括 我们知道,在SQL Server Alwayson 架构中,有多种虚拟IP,例如 WindowsCluster IP,ListenIP,角色高可用性IP(类似于侦听IP)。在某些条件下,例如系统故障,会触发虚拟IP的漂移,如何高效率、低延迟、更好地监控IP漂移情况,是我们DB的一个重要 阅读全文
posted @ 2019-06-27 19:08 东山絮柳仔 阅读(1107) 评论(0) 推荐(1) 编辑
摘要: 第一部分 Telegraf 部署和配置 Telegraf 是实现 数据采集 的工具。Telegraf 具有内存占用小的特点,通过插件系统开发人员可轻松添加支持其他服务的扩展。 在平台监控系统中,可以使用 Telegraf 采集多种组件的运行信息,而不需要自己手写脚本定时采集,大大降低数据获取的难度; 阅读全文
posted @ 2019-06-21 11:13 东山絮柳仔 阅读(5323) 评论(0) 推荐(0) 编辑
摘要: MySQL语句的审核,在业界都已经基本被认同了,实际上也是对MySQL语句写法的统一化,标准化,而之前的人工审核,针对标准这个问题其实是很吃力的,标准越多,DBA越累,开发也越累。 那么在这个都追求自动化运维的时代,审核也必须要跟上步伐,因此Inception诞生了。而Inception可以做的工作 阅读全文
posted @ 2019-04-29 17:02 东山絮柳仔 阅读(1660) 评论(0) 推荐(0) 编辑
摘要: 关键字: MongoDB,Replace,forEach 近日接到一个开发需求,因业务调整,需要DBA协助,将MongoDB数据库中某集合的进行替换。例如我们需要将集合A中B字段中,有关《美好》的字符替换为 《非常美好》。个人感觉这个需求如果是在SQL Server 或MySQL 数据库上处理是小菜 阅读全文
posted @ 2019-03-01 10:47 东山絮柳仔 阅读(10492) 评论(3) 推荐(2) 编辑
摘要: 很多同学因为对MongoDB不熟悉,加之应用的不是很多,有时候会认为MongoDB数据库对一些功能不支持,或者认为支持不好。今天我们 演示一下 MongoDB对“加减乘除”的使用。 在MongoDB数据库中“加减乘除”运算,又称为 数学表达式(mathematical expression;或算术表 阅读全文
posted @ 2019-01-25 21:29 东山絮柳仔 阅读(10173) 评论(0) 推荐(0) 编辑
摘要: 索引小知识 篇幅有限,索引的基本知识我们就不赘述了,在此,我们尝试说明其中的一个小点 B+树与B树的区别到底是什么。 InnoDB是使用B+树来实现其索引功能的。在B+树中,内节点(非叶子节点)存储了行数据的键,而叶子节点存储了所有的行数据,而B树的每个节点都存储了真实的数据。这种数据结构,决定了两 阅读全文
posted @ 2018-12-28 22:51 东山絮柳仔 阅读(2737) 评论(0) 推荐(0) 编辑
摘要: 一.需求背景 SQL Server开源的归档工具不多,DBA一般都是通过计划任务来触发执行,执行的脚本多是SP或者是SSIS包。SSIS包的性能稍好一些,但是维护更新成本高些。所以更常见的是通过SP脚本来实现归档操作。 当数据库规模较小时,可以方便的直接在数据库上进行脚本的编写部署。但是随着数据库越 阅读全文
posted @ 2018-12-24 22:44 东山絮柳仔 阅读(1765) 评论(4) 推荐(0) 编辑
摘要: 一. 聚合框架 聚合框架是MongoDB的高级查询语言,它允许我们通过转换和合并多个文档中的数据来生成新的单个文档中不存在的信息。 聚合管道操作主要包含下面几个部分: 命令 功能描述 $project 指定输出文档里的字段. $match 选择要处理的文档,与fine()类似。 $limit 限制传 阅读全文
posted @ 2018-12-03 01:42 东山絮柳仔 阅读(115710) 评论(10) 推荐(17) 编辑
摘要: 一. TiDB的核心特性 高度兼容 MySQL 大多数情况下,无需修改代码即可从 MySQL 轻松迁移至 TiDB,分库分表后的 MySQL 集群亦可通过 TiDB 工具进行实时迁移。 水平弹性扩展 通过简单地增加新节点即可实现 TiDB 的水平扩展,按需扩展吞吐或存储,轻松应对高并发、海量数据场景 阅读全文
posted @ 2018-11-26 20:55 东山絮柳仔 阅读(6825) 评论(1) 推荐(0) 编辑
摘要: 一 需求描述 我们知道数据是公司的重要资产,业务的系统化、信息化就是数字化。数据高效的存储与查询是系统完善和优化的方向,而数据库的稳定性、可靠性是实现的基础。高可用和RPO(RecoveryPointObjective,复原点目标,指能容忍的最大数据丢失量)是衡量一个数据库优劣的重要指标。作为一个D 阅读全文
posted @ 2018-11-08 01:43 东山絮柳仔 阅读(9476) 评论(18) 推荐(8) 编辑
摘要: MongoDB是非关系型数据库的典型代表,DB-Engines Ranking 数据显示,近年来,MongoDB在NoSQL领域一直独占鳌头。MongoDB是为快速开发互联网应用 而设计的数据库系统,其数据模型和持久化策略就是为了构建高读/写的性能,并且可以方面的弹性拓展。目前公司使用到的Mongo 阅读全文
posted @ 2018-10-31 17:11 东山絮柳仔 阅读(7941) 评论(1) 推荐(3) 编辑
摘要: 基础部分 1. select @@version; ##查询当前mysql的版本. 2. show variables like 'port';##查看mysql实例的端口。 3. show variables like 'socket';##查看实例的socket数据。 4. show varia 阅读全文
posted @ 2018-10-30 18:18 东山絮柳仔 阅读(4393) 评论(0) 推荐(1) 编辑
摘要: 一 . 背景需求 在日常的业务需求中,我们往往会根据时间段来统计数据。例如,统计每小时的下单量;每天的库存变化,这类信息数据对运营管理很重要。 这类数据统计依赖于各个时间维度,年月日、时分秒都有可能。因为需求变化多样,并且表的设计有严格的规范,我们不可能将订单的下单时间分别拆分存储到 年、月、日、时 阅读全文
posted @ 2018-10-17 14:49 东山絮柳仔 阅读(27480) 评论(1) 推荐(2) 编辑
摘要: 一 了解InfluxDB的必要性 时序数据库主要存放的数据 Time series data is a series of data points each associated with a specific time. Examples include: Server performance m 阅读全文
posted @ 2021-10-14 22:46 东山絮柳仔 阅读(187) 评论(2) 推荐(0) 编辑
摘要: 一 项目描述 1.1 背景 MHA(Master HA)是一款开源的 MySQL 的高可用程序,它为 MySQL 主从复制架构提供了 automating master failover 功能。MHA 在监控到 master 节点故障时,会提升其中拥有最新数据的 slave 节点成为新的master 阅读全文
posted @ 2021-10-10 15:41 东山絮柳仔 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 1.Netstat 命令 用于显示各种网络相关信息,如网络连接,路由表,接口状态等待。 例如 统计IP110.120.119.XXX的连接数: netstat | grep 110.120.119.XXX |wc -l 列出所有 tcp 端口 netstat -at 查看端口3306的使用情况 ne 阅读全文
posted @ 2021-10-08 19:43 东山絮柳仔 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 一. 背景介绍 当集团的MySQL数据库实例数达到2000+、MHA集群规模数百个时,对MHA的及时、高效管理是DBA必须面对的一个挑战。MHA 集群 节点信息 和 运行状态 是管理的基础。本篇幅主要介绍如何通过Python实现收集MHA 集群 节点信息 和 运行状态的功能。这些信息将是CMDB信息 阅读全文
posted @ 2021-10-01 00:36 东山絮柳仔 阅读(100) 评论(0) 推荐(1) 编辑
摘要: 一.Flask 1.1 什么是Flask Flask是由python实现的一个web微框架,可以使用Python语言快速实现一个网站或Web服务。 1.2.构造基本步骤 ste1.创建api对象; step2.生成resource子类,并定义该类的方法; step3.绑定路由。 二.ConfigPa 阅读全文
posted @ 2021-09-28 23:48 东山絮柳仔 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 1.复制模式 (1)MySQL 复制模式默认是异步的。主库将事务Binlog事件写入到Binlog文件中,此时主库只会通知Dump线程发送这些新的Binlog,然后主库就会继续处理提交操作,而此时不会保证这些Binlog传到任何一个从库上。(2)半同步复制必须是主库和从库两端都开启时才可以。(3)从 阅读全文
posted @ 2021-09-25 23:19 东山絮柳仔 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 当需要监控的实例日渐增加,zabbix图形展示 就有些卡了,通过采用 资源升级、历史数据定期移除、分区表等手段采用后,已满足使用要求。但为了性能进一步提升,决定采用读写分离,中间件使用ProxySQL。以下几个是在部署过程中参考的网址,感觉不错,记在这儿... 1.ProxySQL 基础篇 http 阅读全文
posted @ 2021-09-15 23:45 东山絮柳仔 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 1.你走,我不送你; 你来,无论多大风多大雨,我都会去接你。 梁实秋 2.一个笑就击败了一辈子, 一滴泪就还清了一个人。 一人花开,一人花落, 这些年从头到尾,无人问询。 顾漫 3.我明白你会来。 所以,我等。 沈从文 4.你的过去,我来不及参与。 你的未来,我奉陪到底。 余秋雨 5.如若相爱,便携 阅读全文
posted @ 2021-09-12 00:53 东山絮柳仔 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 1.单引号 python中不区分单引号和双引号,与shell脚本不一样。 2.Python 模块(Module) Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。可以认为是变量、函数、类这些工具的“工具箱”,模块时可 阅读全文
posted @ 2021-09-08 22:50 东山絮柳仔 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 1.场景描述 早上7:25 接到Report中心同学告警,昨天业务报表数据没有完整跑出来,缺少500位业务员的数据,并且很快定位到,缺少的是huabei_order库上的数据。Report中心的数据是BI每天5:15从huabei_order库的从库上抽取。查看监控告警,从库实例确实在4:50 -- 阅读全文
posted @ 2021-09-03 01:07 东山絮柳仔 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 1.代码说明 在实际的使用中,有些邮件我们希望收件人可以看到还有那些人可以收到此邮件,但有些邮件相反,例如含有一些较敏感的信息时,希望收件人都是隐藏的。一般我们可以在邮件配置文件smtp_conig.py中设置,下面是为实现 隐藏 / 显示 收件人而使用的不同配置。 Python 的运行环境:Pyt 阅读全文
posted @ 2021-08-24 22:53 东山絮柳仔 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 41.RESET SLAVE For a server where GTIDs are in use (gtid_mode is ON), issuing RESET SLAVE has no effect on the GTID execution history. The statement d 阅读全文
posted @ 2021-08-22 23:34 东山絮柳仔 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 1.实例重启背景 收到监控组同学反馈,连接某一个MongoDB实例的应用耗时异常,并且出现了超时。查看数据库监控平台,发现此实例服务器的IO异常飙升,而查看副本集状态(rs.status()),主从是坏掉的,从节点不可达。 登入从节点,查看mongodb服务状态,是stop的。 查看服务器的log, 阅读全文
posted @ 2021-08-18 23:03 东山絮柳仔 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 1.需求描述 因业务方需求,在一个月内,需要每天从数据库中收集、汇聚相关数据,形成3份excel,然后发给相关人。工作虽然简单,但是还是需要花费大家的时间和经历,所以,通过一份简单的python代码来实现此功能。 2.执行文件 3.代码实现 Python 的运行环境:Python 2.7.5 3.1 阅读全文
posted @ 2021-08-15 21:49 东山絮柳仔 阅读(99) 评论(1) 推荐(0) 编辑
摘要: 一.什么是K8S k8s全称kubernetes。K8s 是 Google 在 2014 年开源出来的用于解决生产环境中大规模容器编排的组件。换言之,k8s是为容器服务而生的一个可移植容器的编排管理工具。 K8s三大特性:第一,K8s 自带便捷性,包括故障自愈、容器编排、服务发现,使应用更便捷。第二 阅读全文
posted @ 2021-08-14 23:07 东山絮柳仔 阅读(42) 评论(0) 推荐(0) 编辑