想实时采集约 2000 台服务器的系统运行时快照,当中间件或应用出问题的时候能翻采集记录排查,大家有啥思路吗?

2021-02-09 11:23:32 +08:00
 zhoudaiyu

抓取的信息有 CPU 、内存、IO 、进(线)程、网络连接情况,还可能有一些中间件的特有的指标,大概 1s 抓取一次。我的思路是部署 agent 到每台机器做采集工作(目前试过用 go 调用 shell 去抓取,然后再把 shell 的 stdout 做解析和整合),将整个后结果推到 Kafka,再用 kafka-xx-connetor 或者类似的东西把 kafka 的数据同步到 ES 、mongo 或者 mysql 里。请问大家觉得我这个思路怎么样?还有就是有啥更好想法吗?包括抓取指标的维度、抓取方式、数据转移链路,存储后端等等方面。

2933 次点击
所在节点    程序员
24 条回复
Lee2019
2021-02-10 09:50:24 +08:00
1s 一次说实话没必要,这种瞬时的尖峰是很正常的吧
Nillouise
2021-02-10 09:58:44 +08:00
@sampeng 抖动为什么没有价值?不是还能看看 gc 的情况吗(如果不用 java 自带的 gc 记录)。
sampeng
2021-02-10 10:25:23 +08:00
@Nillouise 因为只有持续 n 分钟以上的才需要干预。几秒钟维度的监控,没有处理的必要,浪费人力资源
py2ex
2021-02-10 13:26:58 +08:00
@Lee2019 @Nillouise @sampeng 1s 监控在数据量大的时候(贴主想做 2000 台服务器),性能优化也是很大的挑战

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/752561

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX