博主的自动化运维之路

时间:Sept. 15, 2017 分类:

目录:

很幸运,公司有一套属于自己的自动化运维平台,本系列以后的内容会拆解各个部分来进行代码编写,服务部署等等。

本博文是一个类似目录的博文,会对后续的博文进行导航。

为什么会有自动化运维

  1. 运维是一个互联网服务的基石,要求安全稳定
  2. 人工无法满足技术,业务,管理方面的需求
  3. 实现性能和服务的最优化
  4. 静态设备结构转化为需求动态弹性响应
  5. 提高运维质量,降低运维成本
  6. 解放运维人员
  7. 流程透明化,出现问题迅速定位问题并解决问题

自动化的前提

服务部署等标准化是自动化运维的前提

  1. 部署代码,服务的目录结构标准化
  2. 报警信息标准化
  3. 更多待补充

今年做的年度优化

  • 监控项报警信息
  • 成本优化(ec2根据cpu,内存,网卡进行调整,考虑当天峰值)
  • 成本优化(ebs更换ebs磁盘)
  • 成本优化(cdn图片进行优化)
  • 成本优化(s3存储策略)
  • ELK优化
  • WAF安全
  • 服务规范化

服务的标准化就是自动化的前提,其他优化是年度对公司运维成本的优化。

定时发送邮件

邮件内容 目的
磁盘使用 用于优化ebs磁盘大小
cpu使用 用于优化ec2机型
内存使用 用于优化ec2机型
机器启动 用于优化ebs磁盘
时间同步 基础时间同步服务
各库慢查询 用于数据库优化
CDN巡检 每周巡检CDN

有些cpu使用率高,但是内存使用率少参考cpu优化型机器,反之是内存优化型机器

对于机器是否启动,未启动的机器适当进行终止使用,释放ebs磁盘。

监控项

  • cpu
  • 内存
  • cpu和内存使用量高进程,瞬时值
  • 接口

未完待续,到zabbix再进行补充

cmdb

  1. 自动发现主机,添加监控和关闭监控
  2. 自动触发任务(修改主机名,)
  3. 记录操作记录
  4. 管理jenkins,例如部署项目
  5. 报表展示,资产数量,aws账单(月成本,ec2,ebs,小时付费),七牛账单,域名信息,elb对应主机信息,数据库(主从,业务线,端口,机型),预留实例情况,报警趋势
  6. 定时任务的统一管理
  7. 常用功能(创建主机,批量砍量,切换预案)
  8. salt自动化,部署基础服务等,通过页面进行salt组管理
  9. 微信小程序进行报警管理,报表展示,常用功能
  10. 日志清理
  11. 接口超时

安全

  • waf

流程化

  • 离职后需要来运维组签单子,消除账号,然后人事才给办理离职,将以前记录的管理信息进行交接,替换管理平台中的配置

大促问题汇总

  • 活动前运维找开发运营商量加机器,运营考虑的是总体总量,而运维关注的瞬时量
  • 扩容时提前写好流程
  • sql的qps,加缓存,加从库,优化代码,逻辑,加机器
  • 大促记录ELB瞬时峰值请求量、延迟、机器负载以及单机QPS等,用于预估请求量
  • 问题存在在缩容问题上,预案问题,CDN大图流量,报警问题
  • 大促结束后要总结业务问题,和开发一起推动

思考

  • 4xx和5xx报警如何快速定位

基础服务主机

  • salt-master主机
  • vpn+ipsec主机,兼职ntp主机
  • 跳板机,用于发布业务,fab主机
  • ELK主机组
  • zabbix主机
  • zabbix-agent,用于监控虚拟主机
  • Squid代理
  • jenkins主机
  • 翻墙主机(假想)
  • gitlab主机
  • 共享存储主机组(假想)
  • 透明代理主机(假想)
  • 文档主机

外部

  • CDN
  • AWS

规范

项目

  • auto scaling自动扩容
  • aws标签
  • ccmod自动触发
  • cdn
  • op微信小助手
  • gitlab
  • jenkins
  • vpn
  • 安全
  • kan
  • 容器
  • zabbix
  • 数据库备份
  • 数据库高可用
  • 跳板机
  • elk