tianshiyeben / wgcloud

Linux运维监控工具,支持系统硬件信息,内存,cpu,温度,磁盘空间及IO,硬盘smart,系统负载,网络流量等监控,服务接口,大屏展示,拓扑图,进程监控,端口监控,docker监控,文件防篡改,日志监控,数据可视化,web ssh,堡垒机,指令下发批量执行,Linux面板(探针),SNMP,故障告警,计划任务,账号管理,资产管理
http://www.wgstart.com
Apache License 2.0
4.6k stars 836 forks source link

对于Wgcloud的几个疑问? #42

Closed stone-98 closed 2 years ago

stone-98 commented 2 years ago

十分感谢作者,开源这个项目,给我的帮助很大,但是有一些疑问,请指教。

我目前需要实现几个功能:

在演示的界面中我只发现了主机拓扑,主机拓扑的发现应该是通过agent实现,它描述的仅仅是Server和监控的主机之间的关联。目前wgcloud是否暂时不能满足我的需求?

基于Prometheus对主机进行采集的方式

通过Prometheus进行监控主机信息,需要在对应的主机安装node-exporter,但是node-exporter本身支持的指标十分有限,大都都是监控信息,并不能满足现有的需求,虽然它可以通过--collector.textfile.directory指定从本地磁盘获取监控数据,再定义脚本获取对应的指标定时更新磁盘,从而实现对主机信息的采集。但是这种方式依赖Prometheus和node-exporter的安装,并且还需要自定义脚本,过于麻烦。

基于SSH对主机进行采集的方式

定义对应的脚本,然后通过SSH的方式对主机进行监控,目前我了解的开源监控系统中,Zabbix支持这种方式,通过SSH对目标主机进行采集。但是需要对不同的操作系统进行兼容。

基于SNMP对主机进行采集的方式

在对应的主机安装SNMP服务,SNMP服务是十分轻量级的,然后Server通过SNMP协议对目标主机进行采集。

基于Agent对主机进行采集的方式

基于JAVA开发

通过Agent对服务器进行采集,因为考虑到技术栈的原因,目前只能使用Java进行开发。

基于GO开发

我对JAVA更加熟悉,我的理解是使用GO能获取到的指标,使用JAVA应该也能获取到,可能区别就是性能上的差距,以及JAVA需要依赖JDK。我的理解对吗?

基于上述的描述,如果我理解的没有的话,我打算采用两种方案进行开发对主机信息的采集:

您对我有什么建议吗?

tianshiyeben commented 2 years ago

感谢关注,非常高兴能帮到你

tianshiyeben commented 2 years ago

但是我可能无法提供具体的建议

stone-98 commented 2 years ago

@tianshiyeben 我想请教的是使用Go语言和使用Java语言进行开发,可能区别就是性能上的差距,以及JAVA需要依赖JDK。我的理解对吗?

tianshiyeben commented 2 years ago

你好,基本就是这样的

---原始邮件--- 发件人: "stone @.> 发送时间: 2022年4月11日(周一) 上午9:16 收件人: @.>; 抄送: @.**@.>; 主题: Re: [tianshiyeben/wgcloud] 对于Wgcloud的几个疑问? (Issue #42)

@tianshiyeben 我想请教的是使用Go语言和使用Java语言进行开发,可能区别就是性能上的差距,以及JAVA需要依赖JDK。我的理解对吗?

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

stone-98 commented 2 years ago

@tianshiyeben thanks