公司生产机,购买阿里云 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 。未深入研究。
总结:
对于服务器监控方案,主要分为 4 个功能点:采集、存储、展示、警报。
对于公司的服务器集群,有运维同事管理,Zabbix 是个合适的方案。功能全面,基于 Web 的图形化管理,支持中文等,直观易用。
node_exporter + Prometheus + Grafana ,这种方案适合开发人员使用。有回复提到可以监控业务数据。另外,Grafana 有警报功能(就是发通知)。整体是个完整的监控方案。
dstat / njmon + InfluxDB + Grafana ,个人对这种方案比较感兴趣。部署了 InfluxDB ,还能用于其它业务场景,比如只记录最近 30 天的点击数据。