有没有 daemon 类轻量监控:
最后一条不满足也行,有的话我可以改改
1 xxiaowangwang 2024-05-08 12:44:32 +08:00 啊,馆长 |
![]() | 2 libook 2024-05-08 12:51:12 +08:00 via Android ![]() 不知道为什么必须是 go 。 如果是轻量级的话,可以看看 netdata ,我软路由上用的这个。 |
![]() | 3 libook 2024-05-08 13:04:30 +08:00 via Android 纯 go 的话有个 Prometheus 方案,但需要额外一台机器部署 Prometheus 数据库,适合汇总监控很多服务器的情况 |
![]() | 4 RedisMasterNode 2024-05-08 13:41:44 +08:00 为啥不在机器上跑一下 Prometheus + Node Exporter 呢...并且运行起来的 Prometheus 未来也可以帮忙监控其他的机器。 |
5 mayli 2024-05-08 14:06:16 +08:00 collected? |
6 maughan 2024-05-08 14:11:30 +08:00 easeprobe 试下 |
![]() | 7 terrancesiu 2024-05-08 14:14:02 +08:00 netdata 呢 |
![]() | 8 rrfeng 2024-05-08 14:29:17 +08:00 要求这么多,自己写一个吧。 |
![]() | 9 guanzhangzhang OP @terrancesiu netdata 不是 golang |
![]() | 10 guanzhangzhang OP @libook #3 看看第二点,我只监控基础信息历史 |
![]() | 11 guanzhangzhang OP @RedisMasterNode 因为理想是美好的,比如为啥我不能买彩票中 500w |
12 hingle 2024-05-08 14:43:33 +08:00 ![]() 我感觉 OP 只是想抄个现成的代码。 |
![]() | 13 RedisMasterNode 2024-05-08 14:44:03 +08:00 @guanzhangzhang 。。。回了一堆废话 |
![]() | 14 tool2dx 2024-05-08 14:46:11 +08:00 linux 大部分监控数据都在/proc 目录下。 你 cli 直接挂一个 ssh 中间层,实时取服务器数据呗,都不需要上什么 daemon 。 |
![]() | 15 cctv6 2024-05-08 14:48:04 +08:00 via Android 我觉得你可以了解一下 sar ,一般系统软件仓库里面都有,有些还自带了。 |
![]() | 16 guanzhangzhang OP @mayli 不是 golang 开发的 |
![]() | 17 guanzhangzhang OP @cdlnls 如果没网呢系统还不自带,没内网仓库呢,os 还不是常规 os 呢 |
![]() | 18 guanzhangzhang OP @tool2dx 单机,必须 golang 实现的,且支持历史数据 |
![]() | 19 guanzhangzhang OP @RedisMasterNode #13 因为 cpu 架构不是 amd64 和 arm64 呢 |
![]() | 20 DIMOJANG 2024-05-08 15:00:59 +08:00 |
![]() | 21 guanzhangzhang OP @DIMOJANG 好兄弟,看看标题的要求,轻量 |
![]() | 22 guanzhangzhang OP @maughan 这个看了下,是探针请求,不是偏向历史+基础信息的监控实现 |
![]() | 23 xw 2024-05-08 15:03:41 +08:00 via iPhone 不大懂..,可以看看 nmon 是否符合 |
![]() | 24 Immunize 2024-05-08 15:04:08 +08:00 要不自己写一个?随手就能找到一个第三方库 https://github.com/mackerelio/go-osstat ,搞个 ticker 定时读取序列化写入到文件里呗。 |
25 F7TsdQL45E0jmoiG 2024-05-08 15:38:26 +08:00 这要求,也别 go 啦,shell 脚本就行 |
![]() | 26 dhb233 2024-05-08 15:56:41 +08:00 没人提 open-falcon 吗?除了最后一个不满足,别的应该都可以。当然了,这个不是为监控单机的,但是可以把几个组件都部署到一个机器上。 用的是 go ,代码比较简单,不满足的也很容易自己改 |
![]() | 27 defunct9 2024-05-08 16:00:00 +08:00 自己写个得了。这鬼需求 |
![]() | 28 main1234 2024-05-08 16:10:53 +08:00 atop 系统命令就解决了 |
![]() | 29 wujianhua22 2024-05-08 16:36:14 +08:00 需求都上了,还想要别人给你写吗? |
30 ZXiangQAQ 2024-05-08 17:52:18 +08:00 直接起一个 node_exporter 不就行了,各种指标都能收集,至于展示,如果不想额外部署 prometheus ,自己写个查询 cli 去查想要的数据不就行了,反正 node_exporter 是标准 http ,自己解一下找找想要的 key[label] |
![]() | 31 guanzhangzhang OP @ZXiangQAQ 裸 exporter 不支持历史存储 |
![]() | 32 guanzhangzhang OP @main1234 好兄弟,看看第一条附言 |
![]() | 33 qwertooo 2024-05-09 08:33:34 +08:00 Prometheus 也不算重呀,该满足的条件都能满足......不满意你还是自己写一个吧 |
![]() | 34 qwertooo 2024-05-09 08:37:18 +08:00 @guanzhangzhang Prometheus 和 node_exporter 放一台不就行了,指定地址 127.0.0.1...... |
35 t2musiccn 2024-05-09 09:03:41 +08:00 当初学 golang 的时候写过一个单机的监控,循环将负载情况存入文本文件内: 用了一个包 shirou/gopsutil |
![]() | 36 lsk569937453 2024-05-09 09:09:10 +08:00 昨天手撸了一个,100 行代码而已。目前卡在了 cli 查看历史监控这里,数据已经存储在 sqlite ,查询的时候不知道用什么展示好点。 |
![]() | 37 guanzhangzhang OP @lsk569937453 一般是 tui 框架展示会好些 https://github.com/pesos/grofer?tab=readme-ov-file#examples 这个的 tui 类似可以看看 |
![]() | 38 lsk569937453 2024-05-09 09:43:01 +08:00 @guanzhangzhang 这 terminal ui 库学起来头疼,算了。 |
![]() | 39 youyoumarco 2024-05-09 09:49:20 +08:00 自己写吧,改着也方便 |
40 ZXiangQAQ 2024-05-09 10:39:12 +08:00 @guanzhangzhang 那没办法了,如果存历史数据,那就得上时序数据库,然后还要从数据查,不如直接 prometheus 了,毕竟 prometheus 本质就是一个时序数据库,有非常好用的 PromQL ,只是额外多了些能自动拉数据的功能 |
![]() | 41 chengxiao 2024-05-09 10:44:59 +08:00 https://github.com/rapidloop/rtop 之前项目里用过这个,但是好久不更新了,有些需要改点自己写,开箱即用可能满足不了 |
42 ansemz 2024-05-09 13:38:32 +08:00 sar 就可以了吧。 |
![]() | 43 guanzhangzhang OP |