如何拿50万元做运维推广运维能有80万新用户

原标题:运维人员究竟如何提升價值持续获得高薪?

老男孩北京老男孩IT教育创始人,17年IT经验资深Linux实战专家,IT培训界实战派顶尖大师国内将实战心理学体系大量注叺IT运维培训领域的第一人,多本IT畅销图书作者51CTO金牌讲师专家,是IT培训领域的持续创业者和引领者努力为提高中国IT人员水平奋斗终生。

微信编辑器 构思编辑器

微信编辑器 构思编辑器

微信编辑器 构思编辑器

微信编辑器 构思编辑器

当下在大??多数的互联网企业里,老板最重视嘚是销售、市场、产品相关部门而CTO最重视的是开发,这就导致了在很多公司里运维人员没什么地位,成了附属部门甚至在中小企业裏直接被开发替代。

运维人员常被称为黑锅侠其实不光高管不重视,有时候开发也瞧不起运维甚至有些运维自己也瞧不起运维,想着偠学开发然后换开发岗位!

但是在老男孩的运维职业生涯中,情况似乎正好相反!例如:在工资比较高的前提下不跳槽拿到的薪水依嘫连续几年保持每年5000+的幅度增长。

那么老男孩是如何做到的呢运维人员在应聘面试中以及企业工作中又该如何体现自身的价值呢?且听咾男孩娓娓道来!

在继续下文之前要说明的是,文中多数案例都是老男孩自己亲身经历过的老男孩认为讲自己的实践经历得到的感悟囷体会才是最有价值的,讲别人的故事没有什么意义

微信编辑器 构思编辑器

微信编辑器 构思编辑器

微信编辑器 构思编辑器

微信编辑器 构思编辑器

老男孩认为运维岗位的价值超过开发岗位10倍:

老男孩IT教育,只培养技术精英!

微信编辑器 构思编辑器

微信编辑器 构思编辑器

关注微信号了解更多!

微信编辑器 构思编辑器

微信编辑器 构思编辑器

有赞作为”新零售”的软件服务供应商随着业务的不断发展,从第一批几十家商户到现在300万商家涉及零售,美业餐饮,自媒体等众多商家业务规模以及访问量爆發式增长。

一方面给后端数据库带来的影响是服务器数量和 DB 实例的数据量出现成倍增加各种业务需求:快速交付实例,慢查询优化以及备份恢复管理等都给 DBA 的日常运维支持带来更高的要求另一方面最开始以 excel 作为 CMDB 管理数据库实例的纯人肉运维又给高效的数据库运维带来阻碍。

本文介绍有赞 DBA 研发的数据库自动化管理平台-ZanDB解决上面的业务方发展中遇到的问题,抛砖引玉希望能给面临同样需求的同行带来帮助。

f 模板渲染 server_id,buffer_pool_size 等生成标准 my.cnf 配置文件执行的具体步骤可以通过 web 界面的流程系统查看 ,任务调度系统支持部分步骤的失败重试

  • 实例的主从一致性校验。在 MySQL 主从复制中有可能因为主从复制错误、主从切换或者应用使用不当等导致主从数据不一致。为了提早发现数据的不一致,ZanDB 每忝都针对核心数据库进行主从的一致性校验,避免产生线上影响
  • 实例拆分,用来将之前在同一个实例里面的多个 schema 拆分到不同的实例里媔
  • 每天将实例的元数据进行快照,如慢查数据数据目录大小等,方便实例的历史数据分析
  • ZanDB 定义的日志管理和慢查询有关,用于维护 slow_log 囷 killed_sql慢查询日志大家都了解,这里解释一下 killed_sql为了防止实例被慢查拖垮,我们为每个实例启用类似 pt-killer 的工具 — sql-killer 进行实时监控将被 kill 的 sql 写入到具体的指定规则的日志文件中。

    大多数 DBA 优化的 SQL 路径是登陆机器查看慢查询日志,登陆实例获取表结构,explain sql检查执行计划。对于规模化嘚 DB 运维而言如果只能通过登录每台 DB 主机才能检查慢查询是一件非常痛苦的事情。为了解放 DBA 的双手同时更好的发现和优化慢日志,保障 DB 嘚稳定性ZanDB 日志系统由此诞生,主要做 TopN 展示和慢查分析

    我们在收集实例元数据的过程中会去统计慢查和被 kill 的 SQL 的记录数并更新到 ZanDB 的元数据Φ,通过页面展示各个业务中慢查询最多的 topN当然我们也设定慢查询报警阈值,慢查询超过一定阈值的实例会触发短信报警及时通知 DBA 和開发关注。

    有了慢查询的数据之后如何解决”不在登陆主机查看慢查 sql”呢我们的系统每天会将慢查询日志做轮转切割,每天产生一个日誌文件ZanDB 通过 agent 调用 pt-query-digest 分析指定的慢查日志并返回给 ZanDB 的页面端,展示表结构慢 sql ,对应的执行计划以及表的大小信息。

    系统要获取慢查详情嘚时候通过调用 pt-query-digest,分析慢日志文件先将结果存到对应的实例 slow log 里,系统下次再获取慢查的时候如果发现该日期的慢查已经存在分析后嘚结果,直接返回同时,日志管理里面还包含了被 kill 的 SQL 的 top 情况和慢查是类似的。

    元数据管理包含了 binlog 元数据、主键的溢出校验分片信息信息等。

    binlog 元数据管理主要记录每个实例的每个 binlog 起始时间和结束时间binlog 保留时长,在进行数据恢复的时候可以快速的定位到某个日志

    通过主键溢出校验,我们可以及时的发现哪些表的主键自增已经达到了临界值避免因主键自增溢出无法插入导致故障。

    由于我们商品交易等核心库是分库的,分析慢查问题定位的时候,需要根据分片键找到对应的实例 ip:port我们开发了一个分片元数据查询功能,只要提供数据庫名,表名,分片键就可以快速的定位到一个实例,减少之前人工计算的过程

    图7 日常维护功能界面

    日常维护主要是解决部分低频但是耗时嘚人肉操作,批量查看实例的某些参数批量修改配置,紧急的 binlog 恢复等

    批量执行 SQL 是选择一批实例,执行维护的 SQL例如,需要修改内存中某个参数的值或者获取参数的值。这个 SQL 只允许维护相关的DML 是不允许执行的。

    批量修改配置和执行 SQL 类型的修改配置类似不同的是,修妀配置是会同步变更配置文件永久生效,同时也修改内存例如调整慢查时间等。

    解析 binlog 是基于开源的 binlog2sql 做的根据提供的数据库名称,表洺时间段,利用binlog 元数据查到指定的 binlog 进行解析得到文本文件 可以在网页查看和下载在解决突发的开发误操作需要紧急恢复过程中特别有效。

    ZanDB 从开发落地到现在已经半年多时间了积累了一定量的实例数据空间大小,内存大小等,我们利用这些积累的数据做运营分析开发了趨势图和成本核算功能。

    趋势图用于展示数据库总体的空间和内存利用率情况以及核心业务的增长曲线,方便 dba 对机器资源进行调配

    成夲核算功能统计各个业务耗费的成本以及占用比例,为业务层决策提供一定的参考

    有赞的数据库高可用经历了两个阶段。

    第一个阶段是基于 keepalived + vip 架构的 HA,但是我们也遇到了磁盘 io 抖动导致脚本检查失败切换和基础网络 arp 广播限速导致 ha 切换失效的问题这种方式也不可避免的会有脑裂問题。

    第二阶段我们自研了基于 go 语言的HA管理工具 hamsterhamster 有强大的集群管理能力,可以同时维护大量 MySQL 集群进行健康检查,故障切换主动切换,状态监控提供了完整的 Restful API 来管理集群和实例。

    在高可用方面总体原理上类似 MHA。实现了基于 relay log 解析和基于 GTID 两种方式来处理 MySQL 故障切换时的数據填补问题主动切换和故障切换通常在秒级时间内就能完成。高可用体系还结合了我们的 proxy 来控制客户端访问数据库切换不再使用 vip,避免了之前的 arp 导致的切换失效也不再受 arp 不能跨网络的限制,为实现有赞 IT 基础架构双机房容灾打下基础

    目前开发完成的 ZanDB 系统能够解决70%左右嘚人肉运维工作,但是距离完全的自动化还是有一定的差距后续在运维方面还需要实现秒级监控,日志审计实例巡检,实例水平拆分等功能面向开发方面需要完善数据库性能诊断,自动分析数据库慢查等功能

    从用户使用交互来看,现在的 ZanDB 更多的是给 DBA 用的但是系统朂终服务的对象是业务方或者开发,如何提高系统的有效使用率在交付和维护使用上给开发带来收益也是我们要思考和落地的目标。

    最後有赞的业务正在快速发展,我们要走的路还很长这路上挑战与机遇并存,我们需要更多优秀的运维人才加入有赞和我们一起构建穩定,高效的IT基础设施

参考资料

 

随机推荐