那个可以平替Prometheus的开源解决方案如何摆脱Cloud?

龅牙兔谈科技 2024-05-11 01:28:44

在笔者的《》一文中,我们系统性的介绍了NetData的功能、特性及部署、使用等,感兴趣的朋友可以重新翻阅。

本次我们将重点介绍针对监控大型服务器集群,如何搭建全本地化的NetData监控平台以及如何摆脱对NetData Cloud的依赖。

先回顾NetData的3个重要组件:NetData Cloud 是 NetData 的中心管理和可视化平台,它连接多个 NetData 实例(父节点和子节点),为用户提供一个统一的视图和控制面板。其主要作用包括:集中监控:能够从一个中心位置监控整个基础设施,无需登录到单独的服务器查看每个 NetData 实例。远程访问:提供一个安全的方式,从任何地方通过互联网访问所有连接的 NetData 实例的数据和仪表板。增强的组织功能:允许用户将 NetData 实例组织成 Spaces 和 Rooms,帮助更好地管理和分组显示设备和服务。高级用户管理:支持角色基于访问控制(RBAC),确保合适的团队成员能访问适当的监控数据。NetData 父节点是一个或多个 NetData 实例,配置为接受来自其他 NetData 实例(即子节点)的数据流。父节点的作用包括:数据聚合:父节点收集来自所有子节点的监控数据,为多个服务器或设备提供一个集中的数据聚合点。数据保留:可以配置父节点来存储更长时间的历史数据,超出子节点自身存储能力的范围。集中警报管理:在父节点配置警报规则和通知设置,统一管理整个基础设施的警报和通知。负载分担:父节点可以处理来自子节点的数据处理和警报生成,减轻子节点的计算负担。NetData 子节点是安装在单独服务器或设备上的 NetData 实例,它们负责收集和监控本地系统的性能指标。子节点的主要作用是:本地数据收集:每个子节点独立监控其所在的服务器或设备,收集CPU、内存、磁盘、网络等多种指标。实时性能监控:子节点提供实时的数据更新和视图,让系统管理员可以即时了解系统状态。向父节点发送数据:子节点配置为将收集的数据发送到一个或多个父节点,实现数据的上报和集中处理。继续回顾依托NetData Cloud的3个部署架构:

Stand-alone部署

Parent+Child部署

Active–Active Parent部署

本地搭建NetData多“父-子架构”监控平台(不依赖NetData Cloud):规划网络架构

首先,您需要规划网络架构,将服务器分组,每组选择一台服务器作为父节点,其他服务器作为子节点。父节点负责收集其子节点的数据。对于数百台服务器,可能需要多级父节点架构:

第一级父节点:直接从子节点(实际监控的服务器)收集数据。高级父节点:从第一级父节点收集数据,并可能从其他第一级父节点聚合数据。

安装和配置 NetData

在所有服务器上安装 NetData。然后配置每台子节点将其数据流发送到其直接的父节点:

在每个子节点的 netdata.conf 文件中,找到 [stream] 部分,进行如下配置:[stream]enabled = yesdestination = <父节点的IP地址>:19999api key = <统一的API密钥>配置父节点

在每个父节点的 netdata.conf 中配置接收来自子节点的数据流:

在 netdata.conf 的 [web] 部分确保允许从外部访问:[web]allow connections from = *在父节点上启用和配置 stream.conf 以接受来自子节点的数据:[API_KEY]enabled = yesallow from = *构建多级父节点架构

如果使用多级父节点架构,确保数据能正确地从底层父节点向上流动到顶级父节点。每级父节点都需要正确配置以接受来自下一级的数据。

访问和监控

在最顶级的父节点上,将能看到所有汇总的监控数据。通过访问最顶级父节点的 Web 界面 —— http://<最顶级父节点IP>:19999,可以查看所有服务器的监控数据。

保证数据安全性和网络安全

确保网络安全,特别是数据传输部分,使用 VPN 或加密方法保护数据不被外部访问或截获。

总体来说,通过这样的架构,可以在本地环境中完全控制您的监控系统,同时避免了对外部服务的依赖,确保了数据的私密性和安全性。这种架构支持灵活的扩展和维护,适用于大规模基础设施环境。

!!!【点赞】、【关注】不走丢^_^

!!!【点赞】、【关注】不走丢^_^



0 阅读:0

龅牙兔谈科技

简介:感谢大家的关注