[交流] Linux 服务器,大家使用什么方案监控性能和资源? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
fox0001
V2EX    Linux

[交流] Linux 服务器,大家使用什么方案监控性能和资源?

  •  
  •   fox0001 2022-09-22 09:37:35 +08:00 via Android 8876 次点击
    这是一个创建于 1114 天前的主题,其中的信息可能已经有所发展或是发生改变。

    公司生产机,购买阿里云 ECS ,系统 Debian 。由于阿里云的云监控要付费,计划自己搞个监控性能和资源的情况。

    目前先使用 dstat 收集一下数据。后面可能考虑 njmon 。

    找到的相关方案如下:

    1. dstat

    占用资源小,监控数据可配置,监控数据可保存 CSV 。但是数据需要自己生成图表(目前使用 Excel ),就是查看不方便。

    2. nmon / njmon

    占用资源小,监控数据基本无配置,nmon 可保存 CSV ,njmon 可保存 json 。官方提供工具生成图表。njmon 更高级,可搭配 InfluxDB 和 Grafana ,实现更好的数据展示。

    3. glances

    占用资源较大,可持久化监控数据,界面漂亮,部署方式多样(单机版、C/S 、Web )。未深入研究。

    4. netdata

    占用资源较大,可持久化监控数据,界面漂亮。比较奇怪的是,界面有比较多的地方提示登录 netdata cloud 。未深入研究。

    大家有无其它方案或建议?

    第 1 条附言    2022-09-23 00:33:55 +08:00
    首先,感谢各位回复!我觉得可以结贴并总结一下了。

    1 )对于服务器监控方案,主要分为 4 个功能点:采集、存储、展示、警报。

    2 )对于公司的服务器集群,有运维同事管理,Zabbix 是个合适的方案。功能全面,基于 Web 的图形化管理,支持中文等,直观易用。

    3 ) node_exporter + Prometheus + Grafana ,这种方案适合开发人员使用。有回复提到可以监控业务数据。另外,Grafana 有警报功能(就是发通知)。整体是个完整的监控方案。

    4 ) dstat / njmon + InfluxDB + Grafana ,个人对这种方案比较感兴趣。部署了 InfluxDB ,还能用于其它业务场景,比如只记录最近 30 天的点击数据。
    第 2 条附言    2022-10-03 20:57:27 +08:00
    不好意思,dstat / njmon + InfluxDB + Grafana 不太好用,或者可以考虑回复中提到的 Telegraf + InfluxDB + Grafana 。

    1 ) dstat 最新版遇到这两个 bug:

    https://bugs.launchpad.net/ubuntu/+source/dstat/+bug/1905665

    https://github.com/dstat-real/dstat/issues/120

    2 ) njmon 收集的数据,Grafana 上的模板主要针对 AIX ,没找到好用的 Linux 模板。
    第 3 条附言    2024-07-01 18:02:53 +08:00
    目前在用 node_exporter + Prometheus + Grafana ,搭配 docker compose 特别好用。建议大家一步到位~

    另外,InfluxDB 野心太大,用起来也复杂(主要是查数据复杂),目前已弃坑。
    44 条回复    2022-11-30 15:08:41 +08:00
    kaiger
        1
    kaiger  
       2022-09-22 09:41:29 +08:00
    btop
    bishop
        2
    bishop  
       2022-09-22 09:46:06 +08:00
    htop
    salmon5
        3
    salmon5  
       2022-09-22 09:47:42 +08:00
    "阿里云的云监控要付费",不懂别乱说,是免费的。
    jifengg
        4
    jifengg  
       2022-09-22 09:51:29 +08:00   1
    zabbix
    fox0001
        5
    fox0001  
    OP
       2022-09-22 09:51:45 +08:00 via Android
    @bishop #2 htop 不能记录历史数据吧?用来管理进程是挺好的
    tiiis
        6
    tiiis  
       2022-09-22 09:54:52 +08:00   1
    prometheus + grafana
    fox0001
        7
    fox0001  
    OP
       2022-09-22 09:57:19 +08:00 via Android
    @salmon5 #3 这样说吧,阿里云的云监控有免费额度,超过了会收费。
    lindas
        8
    lindas  
       2022-09-22 10:08:43 +08:00
    普罗米修斯和 grafana
    Shawns
        9
    Shawns  
       2022-09-22 10:16:16 +08:00
    node_exporter 收集 prometheus 存储 grafana 展示
    Hasal
        10
    Hasal  
       2022-09-22 10:20:47 +08:00   1
    推测规模不大,建议用 zabbix ,其他监控系统一套部署下来所占用的主机可能比你的业务集群都多。
    dreamramon
        11
    dreamramon  
       2022-09-22 10:23:09 +08:00
    不想自己配置,开箱即用,就 netdata ,想自己再去配置一堆就普罗米修斯。
    fox0001
        12
    fox0001  
    OP
       2022-09-22 10:56:54 +08:00 via Android
    @jifengg #4
    @Hasal #10
    看了下 zabbix ,是一套企业级解决方案。支持中文,界面直观,有警告通知等等,我找个时间玩玩。谢谢!
    wxyrrcj
        13
    wxyrrcj  
       2022-09-22 13:07:00 +08:00 via Android
    btop
    salmon5
        14
    salmon5  
       2022-09-22 13:35:45 +08:00
    @fox0001 监控又不要钱的,告警免费短信 1000 条 /月,不够用?
    jiom
        15
    jiom  
       2022-09-22 13:56:38 +08:00
    prometheus + grafana/zabbix 两台来~
    huangdanyu
        16
    huangdanyu  
       2022-09-22 14:07:39 +08:00
    阿里云云监控 基础指表免费的 够用啊 其他业务监控需要自己搭建监控补充
    salmon5
        17
    salmon5  
       2022-09-22 14:48:58 +08:00
    监控免费
    告警:
    钉钉|企微|飞书| slack Webhook
    短信:免费额度 1000 条 /月,超出部分按 0.045 元 /条收费。
    电话:0.15 元 /个。

    这个不够用?
    asilin
        18
    asilin  
       2022-09-22 15:26:13 +08:00
    有想要较多的性能指标,还需要好看的图表页面,我推荐 Ganglia 。

    虽然这个项目 2017 之后就没有怎么更新过了,但是用起来没问题,在生产环境中用了 6 年,占用 CPU 、内存和磁盘 IO 都很小,还可以将数据放到内存中,如果你不想占用磁盘 IO 的话。
    xiaoz
        19
    xiaoz  
       2022-09-22 15:37:27 +08:00 via Android
    同 6 楼和 9 楼,Prometheus+Gfafana
    neilyoone
        20
    neilyoone  
       2022-09-22 17:31:56 +08:00   1
    Zabbix 监控 ECS 、Prometheus 监控 应用、Grafana 做监控大盘
    zoharSoul
        21
    zoharSoul  
       2022-09-22 17:40:47 +08:00
    ecs 监控免费的啊
    cnoder
        22
    cnoder  
       2022-09-22 18:30:26 +08:00
    node_exporter + prometheus + grafana
    你的 prometheus + grafana 再展示的数据还能复用
    clickhouse
        23
    clickhouse  
       2022-09-22 18:54:40 +08:00
    prometheus +10086
    ZE3kr
        24
    ZE3kr  
       2022-09-22 19:22:55 +08:00 via iPhone
    snmp
    yghack
        25
    yghack  
       2022-09-22 19:43:02 +08:00
    机器数量低于 10 台建议,zabbix
    高于 10 台,prometheus+ grafana 吧
    wwhc
        26
    wwhc  
       2022-09-22 21:12:55 +08:00
    Munin 很省资源
    Songxwn
        27
    Songxwn  
       2022-09-22 22:32:14 +08:00
    Zabbix 吧
    Jirajine
        28
    Jirajine  
       2022-09-22 22:57:41 +08:00
    node_exporter + prometheus + grafana
    部署完了以后可以逐步在业务代码里添加 tracing ,收集聚合展示其他业务相关的 metric 。
    fox0001
        29
    fox0001  
    OP
       2022-09-22 23:54:40 +08:00 via Android
    @yghack #25 看过有文章说,prometheus 更适合于容器的监控。所以想请教一下你的结论是怎样总结得出?有没有相关的经验、数据或者文章可以参考一下?

    该文章:
    https://blog.51cto.com/lovebetterworld/2864084
    fox0001
        30
    fox0001  
    OP
       2022-09-23 00:02:19 +08:00 via Android
    @Jirajine #28 不好意思,涉及收集业务数据的方案,不是很明白。你意思是,在业务代码添加发送相关数据到 prometheus 的功能,然后就能分析和统计业务相关的指标吗?
    Alliot
        31
    Alliot  
       2022-09-23 00:37:14 +08:00 via Android
    说到监控,如果你对硬件 网络设备不关心,那么不要想,直接 prometheus 全家桶。
    如果是硬件监控,zabbix PRTG 都是你的选择。
    如果是云资源,数量 10 以下,没太多定制需求,直接用云厂商的监控。
    所以答案很明显了。
    akira
        32
    akira  
       2022-09-23 00:57:10 +08:00
    自己部署的时候 投入的人力资源,新增的服务器资源, 比 云监控 便宜么。。
    Jirajine
        33
    Jirajine  
       2022-09-23 01:26:40 +08:00   2
    @fox0001 没错,node_exporter 只是输出 CPU/内存这些通用的硬件监测指标,还可以自行添加业务相关的数据源,在线用户数、订单量等,以及代码中结构化日志,有多少 warning 、error ,包括 payload ,都可以在 grafana 里可视化展示。
    一般框架和库和 log infra 集成,代码里直接 tracing ,就可以自动收集、汇总、展示了。
    fox0001
        34
    fox0001  
    OP
       2022-09-23 06:17:45 +08:00 via Android
    @Jirajine #33 感谢!这个好玩~
    yghack
        35
    yghack  
       2022-09-23 06:53:30 +08:00
    @fox0001 没有相关文章,经验之谈,zabbix 易用性更强,prometheus 性能更好,相同的配置下,prometheus 的承载量大不少
    fox0001
        36
    fox0001  
    OP
       2022-09-23 07:57:00 +08:00 via Android
    @yghack #35 谢谢
    fox0001
        37
    fox0001  
    OP
       2022-09-23 08:14:30 +08:00 via Android
    @yghack #35 对了,我记得 Zabbix 是使用 MySQL 之类的关系数据库存储数据,所以相对于 Prometheus 的时序数据库,确实逊色
    liaohongxing
        38
    liaohongxing  
       2022-09-23 08:33:38 +08:00
    现代方案肯定是选 node_exporter + prometheus + grafana ,prometheus 还能接入众多第三方的 metrics ,代码的自定义 metrics ,显示自定义图表
    zent00
        39
    zent00  
       2022-09-23 08:40:56 +08:00   1
    如果有大量硬件需要监控,建议 Zabbix 。

    其它场景我一般选择 Node Exporter + Prometheus + Grafana 。

    备选方案 Telegraf + InfluxDB + Grafana 。
    hoopan
        40
    hoopan  
       2022-09-23 08:57:47 +08:00   1
    Nightingale 夜莺监控 All-In-One 方案,我们公司运维在用。https://n9e.github.io/
    Aumujun
        41
    Aumujun  
       2022-09-23 09:52:56 +08:00   1
    prometheus 那一套我用下来感觉的缺点就是需要装一大堆 exporter ,暴露一堆端口;另外告警抑制之类的需要自己二次改动。不过总体下来比 zabbix 灵活很多,promql 真的很友好,开发可以对自己的需求编写 exporter 。我 elk 告警就是对接到 prometheus 上的,不为别的,就是 promql 好使 灵活。
    huangzxx
        42
    huangzxx  
       2022-09-23 15:40:31 +08:00
    zabbix
    joApioVVx4M4X6Rf
        43
    joApioVVx4M4X6Rf  
       2022-09-23 20:48:08 +08:00
    我们组几十台服务器用的 Telegraf + InfluxDB + Grafana 。Telegraf 用的 docker 方式启动的,平时没出过啥问题,部署起来简直简单到起飞。Grafana 可以配置发报警我们目前是发送到 slack 的 channel 了,也是简单到爆炸
    laiwei
        44
    laiwei  
       2022-11-30 15:08:41 +08:00
    @neilyoone 可以试试夜莺监控 = Zabbix + Prometheus + Grafana :) https://github.com/ccfos/nightingale
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4551 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 01:03 PVG 09:03 LAX 18:03 JFK 21:03
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86