运维小菜鸟的一个 idea-关于网络拓扑图

2019-11-01 19:07:39 +08:00
 MartinWu

各位大神,首先我还不知道有没有现成的实现的。

我想到的是如何实现网络拓扑:

利用 prometheus 来从每一台自己的服务器上收集“netstat -anp”信息,进行加工得到"某个时间点-本机 hostname-本机所有 ip-本机所有的 LISTEN 的端口-本机所有的 ESTABLISHED 的链接"。

然后全部数据汇总。一个处理程序来进行将全部信息整理出拓扑图。

因为可能存在一些端口转发的连接,允许在数据中存储固定的端口转发数据,好把所有收集回来的数据加上端口映射数据,就能把全部收集回来的连接匹配上。

但是目前我还想到一个现成的组件来把处理好的数据,呈现出来。因为我只是个运维,我可能没有那么大的精力做前端开发的工作。grafana 似乎做不到这种数据展示。

求各位指教。我想利用业余时间,完成这个事情。(如果各位有现成方案,也请大家告知一下。)

4725 次点击
所在节点    奇思妙想
12 条回复
scriptB0y
2019-11-01 19:24:08 +08:00
想法应该是可行的,我们内部有一个工具可以根据机器、交换机等设备上的日志,画出一个时间点的网络流量图(基本就是拓扑了,因为不可能有地方没流量,没流量就是有问题的)
MartinWu
2019-11-02 09:04:44 +08:00
@scriptB0y #1 画图这块是开源方案吗?还是内部实现的?
defunct9
2019-11-02 13:14:13 +08:00
cacti 有气象图,用那个简单。或者 observium
lance86
2019-11-03 11:10:07 +08:00
有点意思哎,我之前看过一个广告,云杉网络的 deepflow 产品,貌似和你想要的结果差不多(当然不知道他们是通过什么方式怎么实现的)。
并且感觉阿里云也是可以直接提供这种功能的,我们现在在阿里云上那么多设备,就算只看个系统的全貌都不行。
我也关注一下你这个主题。。
DavidG
2019-11-04 10:54:13 +08:00
同运维,想到了第一步:
所有的主机通过 salt 批量执行 ip a 取得 IP 地址(也可以不取)和 netstat -antp,把结果输出到一个 txt 中,通过服务端把手机到的数据归纳总结。
问题:不知道如何让服务端知道 a:1111> b:1111 这两个端口是有对应关系的。。
MartinWu
2019-11-04 13:41:41 +08:00
@DavidG 我觉得可以根据 ESTABLISHED 的信息来进行匹配的。想法还是很初步,让我先实现了后端数据。再跟大家分享下咯。
limbo0
2019-11-04 13:43:55 +08:00
哈正好实现过这个, 也在使用, 说一下思路
收集端使用日志, 到 Kafka , 然后用 Flink 每分钟聚合数据到 ES, 这里数据包含点和边的信息, 然后起个 server 查询 ES 给前端
主要难点是图数据如何存储和展现, 其他还好
MartinWu
2019-11-04 14:18:05 +08:00
@limbo0 #7 是。。我现在就在烦前端展示实现的问题。。
limbo0
2019-11-04 22:03:39 +08:00
@MartinWu 可以试试 echart 的关系图,我们好像也是拿这个搞得
MartinWu
2019-11-05 08:43:57 +08:00
@limbo0 #9 谢谢,我看看。
Judoon
2019-11-06 15:55:13 +08:00
这个最好的方案不是交换机口镜像流量,然后做流量分析吗
MartinWu
2019-11-06 22:34:18 +08:00
@Judoon #11 我们是阿里云,华为云,腾讯云,托管机房多种方案的混合网络拓扑,所以应该不合适。

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

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

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

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

© 2021 V2EX