主题:一线互联网公司服务器监控系统架构
内容:
- 自动运维的一点体会
- 性能与可用性可扩展
- 功能可扩展
- 监控支撑业务扩展
主讲师:PC 老师
大学时期就负责学校官方网站的运维工作,实习期间加入豆瓣,有幸成为豆瓣 Top20 员工,从事 Python 开发及运维工作,后在 BAT 从事自动化运维,见证BAT 运维自动化从无到有。擅长系统底层、分布式系统开发,热衷于开源运动,给 memcached、[email protected] 等多个开源项目贡献过代码。
自动化运维的一点体会
不同公司的需求差异
- 监控?
- 配置管理?
- 自动部署?
- 调度系统?
- Iaas / Paas?
- or more?
不同规模、不同行业的公司存在需求差异
自动运维的几个基础
- 一本清晰的账本 (准确的基础信息)
- 一个靠谱的监控
- 一个靠谱的任务执行系统
自动运维的基础
靠谱的监控
- 本质:对被监控对象的指标进行状态判定
一台服务器上 nginx 服务的连接数 - 需要支持网络层、服务器、服务、业务四层
- 精准智能
- 适应机器 的规模与增长速度
- 高效、高可用性
- 支持纷繁多样的服务
性能与可扩展
模块内性能
- 通信
长连接
Epoll - 多进程/线程
高并发
并发度可调
通信层剥离
- 统一的高性能通信框架与通信协议
- 业务开发简单清晰
多进程工作模型
- 单进程IO复用接收
- 多进程(worker)并发处理
模块功能精简,便于组合
横向扩展
- 任意环节支持横向扩展
- 无状态、负载均衡
- 可支持级联
整体处理性能线性增长
- 多路多点部署
高可用
去中心化
- 无单点
- 负载均衡
- 横向扩展
- 多点部署
- 自动切换
- 每个环节自动切换
- WRR
- 多路冗余
- 无状态
- Supervise保证存活
数据传输可靠性
- 传输过程中多次确认
采集到汇聚
转发到逻辑判断
转发到存储 - 外部状态监控
传输起始端健康检查
每个环节的外部监控 - 内部判断
模块内扩展
模块间可扩展
- 采集
- 汇聚转发
- 过滤
- 报警
- 离线存储
- 挖掘分析
- 展示
模块间可扩展性
七巧板搭配
- 汇聚后的多路传输
- 级联
功能扩展简单
- 存活监控
- 端口监控
- 集群
核心模块高度复用
- 模块之间联动反馈
- 互联互通
- 存活监控
模块之间联动反馈
- 互联互通
- 存活监控
功能扩展
- 基础监控 => 自定义监控
- 端口 =>语义监控
- URL监控 => HTTP语义监控
- URL监控 => 访问质量监控
- 服务器指标监控 => 集群指标监控
监控支撑业务扩展
预算与成本分摊 ---offline
- 结合基础信息管理
- 资源使用与服务器选型
资源管理 --- offline
- 空闲资源挖掘
- 资源统计分析与基础信息校正
- 容量管理
空闲资源利用 --- offline
- 存储资源
- 计算资源
调度决策的基础 --- online
- 报警触发简单任务执行
- 关联报警挖掘
- 与业务评估模型结合
自动运维平台的一个架构简图
详情:http://mp.weixin.qq.com/s/THG8WJeLWR3U47BoDLGlWg
原文地址:http://blog.51cto.com/51reboot/2059459
时间: 2024-10-09 00:51:57