现在一台服务器上可能会部署多个服务(不到 10 个的样子,是不同的服务,服务名不一样),如何采集这些进程的 CPU 、内存占用等数据呢

目前想到的是写一个程序去读 top 命令的结果,但是假如我有 10 个服务的话,我得同时执行 10 条 top 命令,不知道 top 命令本身性能怎么样,会不会对服务器负载造成影响

大佬们有现成的方案吗?

举报· 3202 次点击
登录 注册 站外分享
30 条回复  
yanxin1111 小成 前天 09:45
prometheus?
imherer 楼主 初学 前天 09:47
@yanxin1111 这是拿到数据后的事了,现在的问题是这个数据怎么拿到
hafuhafu 小成 前天 09:51
All in one 可视化、监控、告警中心 n9e: https://github.com/ccfos/nightingale 配套的开箱即用的采集器 categraf: https://github.com/flashcatcloud/categraf 采集进程信息: categraf 中的 procstat 采集插件已经实现了,https://flashcat.cloud/docs/content/flashcat-monitor/categraf/plugin/procstat/,改成需要的配置就行。
FarmerChillax 小成 前天 09:55
@imherer 我理解 #1 说的 prometheus 是指完整的的 prometheus 监控体系/生态。这确实是目前监控告警的主流
imherer 楼主 初学 前天 09:56
@FarmerChillax 我知道,只要拿到数据,用 prometheus+grafana 等一系列监控起来就行了。 可能是我标题写的不对,其实我更多的是想问怎么拿到这个数据
imherer 楼主 初学 前天 09:57
@hafuhafu 好的,谢谢,我看看
yanxin1111 小成 前天 09:58
@imherer prometheus+grafana 这个可以自己配置要监控哪个服务的
qoo2019 小成 前天 09:59
@imherer 有一大票 Prometheus Exporter 直接就采集了
imherer 楼主 初学 前天 10:01
@qoo2019 我看 Exporter 都是针对现有的公共服务吧,类似 mysql 啊这种,自己的服务好像没有吧,得自己写 Exporter 吧
1234下一页
返回顶部