Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
laiwei #adc2013# #taobao adc#
Search
laiwei
July 16, 2013
Technology
5
3.8k
laiwei #adc2013# #taobao adc#
xiaomi @ taobao adc 2013
laiwei
July 16, 2013
Tweet
Share
More Decks by laiwei
See All by laiwei
小米-企业安全实践
laiwei
1
5.3k
小米运维自动化
laiwei
0
5.6k
小米自动化运维实践 qcon 2014 Beijing
laiwei
2
12k
小米运维基础设施
laiwei
2
1.3k
noops in xiaomi @ Velocity 2013 beijing
laiwei
1
1.4k
Other Decks in Technology
See All in Technology
知られざるprops命名の慣習 アクション編
uhyo
11
2.5k
生成AI利用プログラミング:誰でもプログラムが書けると 世の中どうなる?/opencampus202508
okana2ki
0
190
制約理論(ToC)入門
recruitengineers
PRO
3
310
第4回 関東Kaggler会 [Training LLMs with Limited VRAM]
tascj
12
1.8k
見てわかるテスト駆動開発
recruitengineers
PRO
5
360
AIエージェント就活入門 - MCPが履歴書になる未来
eltociear
0
520
MySQL HeatWave:サービス概要のご紹介
oracle4engineer
PRO
4
1.7k
OpenAPIから画面生成に挑戦した話
koinunopochi
0
160
つくって納得、つかって実感! 大規模言語モデルことはじめ
recruitengineers
PRO
24
6.1k
どこで動かすか、誰が動かすか 〜 kintoneのインフラ基盤刷新と運用体制のシフト 〜
ueokande
0
190
自社製CMSからmicroCMSへのリプレースがプロダクトグロースを加速させた話
nextbeatdev
0
140
広島発!スタートアップ開発の裏側
tsankyo
0
240
Featured
See All Featured
How to Ace a Technical Interview
jacobian
279
23k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
A better future with KSS
kneath
239
17k
Site-Speed That Sticks
csswizardry
10
790
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
For a Future-Friendly Web
brad_frost
179
9.9k
Transcript
小米 运维平台和监控 laiwei@小米
关于 laiwei 小米系统运维 微博:@来炜没睡醒 Github: @laiwei Blog:http://thepast.me/laiwei 关注 安全 应用运维,服务管理,监控
IaaS/PaaS
引言 从小到大 从粗放到规范 小米运维平台 成长过程中的思考、实践、现状
摘要 运维平台 服务树 监控系统 部署系统
运维平台
服务树 部门 产品线 机房 公司 部门 产品线 服务 模块 分组
机房 状态
服务管理 - 服务树 筛选 想知道某个服务部署在那些机器上 “定位” Api接口和命令行工具
反筛选 想知道某个机器上有哪些模块(标签) “自省” Api接口和命令行工具 权限管理 哪些人对那些机器有什么样的权限 筛选上地机房offline机器 idc.sd, status.offline 筛选米聊产品线第一个分组 pdl.miliao, grp.1
服务管理–服务树设计 标签的定义 一个有特定意义的属性,所有的标签都可以显示在树上 比如: 机房、位置、在线状态、产品线、模块„„ 标签的运用
机器的“状态”发生变化的时候,伴随着标签的变更 “状态”什么时候会发生变更? 人工操作 周边系统 机器到货 上架 交付线上 部署服务 机器故障 idc.sd pdl.miliao mod.nginx staus.problem
服务管理–服务树设计 公司 部门 产品线 服务 模块 分组 机房 状态 #
组合标签 cop.xiaomi owt.miliao pdl.account mod.fe grp.online # 全局标签 idc.sd loc.bj status.problem
基于服务树的服务监控
基于服务树的监控管理
基于服务树的监控管理 一组标签的集合,构成了一个“服务” 一个服务,对应着自己的多个模板 每个模板,都是一组数据采集项和一组告警策略的集合 机器的自劢加入,触发模板自劢应用 问题:模板的维护依赖人工操作,后续会通过部署来解决
监控分类 常规监控 系统资源cpu,memory,disk,network等 服务的qps,latency,response_time等 Perf-counter 程序在运行过程中,内部主劢反馈自身运行状态的计数器 包括exception_counter,qps,75th-percentile,访问db时间等 访问质量监控 从多点监控域名的连通性 全国大概有20个点
页面载入速度
监控数据 常规监控 10万 counter zabbix-server主劢获取数据 [proxy] perf-counter 50万+ counter trapper模式,批量主劢推数据到zabbix-server
监控系统开发 选择 自己开发 戒者 开源软件 wikipedia一个关于监控系统的列表 标准 数据采集
告警 数据展示 我们选择以zabbix为基础二次开发
部署结构 Zabbix-server mysql中间层 Zabbix-web host-1 Zabbix-agent host-2 Zabbix-agent host-3 Zabbix-agent
host-4 Zabbix-agent Zabbix-proxy Agent主劢上报数据 Server定期拉取数据 proxy定期拉取数据 用户配置 告警策略 数据采集项等 1.数据插入 2.判断是否告警 机房2 db partition 1 db partition 2 db partition 3 Zabbix-api redis dashboard
Dashboard 每个产品线都会定制自己的dashboard
Dashboard 也可以选择查看更详细的指标
Dashboard 绘图 基于zabbix的api,方便的开发dashboard 同比,环比,求和,最大值,最小值,平均值采样 screen 多个graph展示在一个页面,构成一个screen 每个产品线自行订制多个screen,构成dashboard 提高绘图性能 后端只生成数据,前端js负责渲染 [highcharts]
[缓存]数据插入前,先插入redis 绘图时直接查询redis
Zabbix经验分享 问题 Zabbix的水平扩展较差,zabbix node模式可用性较差 每个counter上报数据都会update一次items表 database的读写基本会把io跑满 解决方案 去除外键约束 – zabbix较多的依赖于数据库的外键约束
取消zabbix的Sql合并 mysql中间层 - amoeba 拆表 – history,trends等
告警合并 告警去重 服务器维度 策略维度 多维度 滑劢时间窗口 计算同策略两次连续告警时间间隔+1
最大等待时间小于61秒 监控策略A 监控策略B 监控策略C 监控策略D 服务器A 告警1 服务器B 告警2 告警5 服务器C 告警3 告警4 告警6 服务器D 告警7 服务器E 告警8
告警分级 告警分级 丌同级别的告警,给予丌同的关注 告警分为P0到P5六个级别 比如P0级别为影响对外服务和用户体验 App帮劣更好的提醒,查看,追踪告警
QA 谢谢大家 我们的联系方式 Blog: http://noops.me Github: @xiaomi-sa 期待你的线下交流