如何采集(监控)服务器上一个或多个进程的 CPU 内存占用等数据

23 小时 41 分钟前
 imherer

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

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

大佬们有现成的方案吗?

2408 次点击
所在节点    程序员
47 条回复
yanxin1111
23 小时 41 分钟前
prometheus?
imherer
23 小时 39 分钟前
@yanxin1111 这是拿到数据后的事了,现在的问题是这个数据怎么拿到
hafuhafu
23 小时 35 分钟前
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
23 小时 31 分钟前
@imherer 我理解 #1 说的 prometheus 是指完整的的 prometheus 监控体系/生态。这确实是目前监控告警的主流
imherer
23 小时 29 分钟前
@FarmerChillax 我知道,只要拿到数据,用 prometheus+grafana 等一系列监控起来就行了。 可能是我标题写的不对,其实我更多的是想问怎么拿到这个数据
imherer
23 小时 29 分钟前
@hafuhafu 好的,谢谢,我看看
yanxin1111
23 小时 28 分钟前
@imherer prometheus+grafana 这个可以自己配置要监控哪个服务的
qoo2019
23 小时 27 分钟前
@imherer 有一大票 Prometheus Exporter 直接就采集了
imherer
23 小时 25 分钟前
@qoo2019 我看 Exporter 都是针对现有的公共服务吧,类似 mysql 啊这种,自己的服务好像没有吧,得自己写 Exporter 吧
imherer
23 小时 23 分钟前
@yanxin1111 #7 我知道,我的意思是现在怎么拿到某个服务它对应的指标数据。你在 grafana 里配置要监控哪个服务的前提是得拿到这个服务对应的这些指标数据
qoo2019
23 小时 13 分钟前
@imherer 你看的是什么野鸡文档,了解下 Node Exporter ?
dejavuwind
23 小时 10 分钟前
elastic 有个 metricbeat 配合 es 使用
还有楼上提到的 node exporter 配合 Prometheus grafana 使用
yuandj
23 小时 9 分钟前
类似这样吗?

<img src="">
easing
23 小时 8 分钟前
Prometheus 的 node exporter 没看过么
i8086
23 小时 6 分钟前
superchijinpeng
23 小时 5 分钟前
imherer
23 小时 3 分钟前
@yuandj 对的
imherer
23 小时 0 分钟前
@easing node exporter 能采集用户自己的服务的数据吗?
imherer
22 小时 59 分钟前
@i8086
@superchijinpeng 感谢,这个 exporter 貌似可行,我看看
shiyuu
22 小时 57 分钟前
用 prometheus 就行。
官方的这么多 exporter 组件可以使用,都去了解一下没坏处
需要采集的节点装 exporter 组件组件就行,用得最多的是 node_exporter ,已经内置采集了系统的很多信息。
你想自定义采集,那就要自己写脚本,比如采集执行某个指令的结果,参考
https://github.com/prometheus/node_exporter#textfile-collector
其实用 gpt 来帮你写就行
采集的结果都会入库 prometheus ,再用 grafana 展示出来就行

prometheus
alertmanager
blackbox_exporter
consul_exporter
graphite_exporter
memcached_exporter
mysqld_exporter
node_exporter
promlens
pushgateway
statsd_exporter

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

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

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

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

© 2021 V2EX