明晚九点|一线互联网公司服务器监控系统架构分享

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了明晚九点|一线互联网公司服务器监控系统架构分享相关的知识,希望对你有一定的参考价值。

主题:一线互联网公司服务器监控系统架构

内容:

  • 自动运维的一点体会
  • 性能与可用性可扩展
  • 功能可扩展
  • 监控支撑业务扩展

主讲师: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

以上是关于明晚九点|一线互联网公司服务器监控系统架构分享的主要内容,如果未能解决你的问题,请参考以下文章

明晚九点|细说 Django — web 前后端分离

明晚九点| go 语言分享

明晚九点|SQL 上线平台

明晚九点|发布系统演进与持续集成

明晚九点|Flask 基础与 Web 开发实战

明晚九点|MySQL 自动化运维工具 Inception