ServerStatus 这种适合给每个机子都挂上,但只能查看瞬时状态。Grafana + Prometheus 可以保存数据,能够查看长时间的系统资源数据,如果没有业务,其实没必要在机子上挂。
ServerStatus
推荐使用更轻量、资源消耗量低的 Rust 版 ServerStatus 探针。
Github: zdz/ServerStatus-Rust: ✨ Rust 版 ServerStatus 探针、威力加强版 (github.com)
官方文档: 介绍 – Rust 版 ServerStatus 云探针 (ssr.rs)
部署流程: Rust版 ServerStatus 探针安装教程 – 承飞之咎 (vfly2.com)
Grafana + Prometheus + node exporter
Grafana,Prometheus 和 Node Exporter 是一套流行的开源监控工具,用于收集,存储,查询系统和应用程序的各种使用率,并可视化显示。每个工具都有特定的功能:
- Grafana:是一款可视化程序,提供开源版和企业版。 Grafana 不从客户端收集任何数据,也不存储,它的功能是以直观且优美的格式显示 Prometheus 或其他数据源(SQL 等)收集的数据。 它允许用户自定义面板,支持警报、注释、仪表板变量、插件和身份验证。
- Prometheus:是一个开源的系统监控和警告程序,它使用 HTTP 协议轮询客户端以获取所需数据。维护结果的时间序列数据库,以预定义的时间间隔轮询每个客户端,进而能够构建客户端长期性能的概览。
- Node Exporter:在客户端节点上能使用各种收集器,但 Prometheus 推荐使用自己的 Node Exporter 工具。 它收集大量硬件和内核指标,如 CPU,磁盘 I/O,内存,网络等,收集的可用指标的完整列表可以在 Node Exporter GitHub page 页面上找到。
Prometheus 的 GitHub: prometheus/prometheus: The Prometheus monitoring system and time series database. (github.com)
Node Exporter 的 GitHub: prometheus/node_exporter: Exporter for machine metrics (github.com)
资源使用率
Grafana 和 Prometheus 部署好后,内存使用量增加了 200MB 多;监控的客户端为 3 个的情况下,在运行一天之后,内存占用达到 300MB 。总的来说,资源消耗量较大,适合 2g 内存、20GB 磁盘空间的机子作为监控服务器。
通过 top 命令,node_exporter 占用了大约 20 MB 内存。
top -p $(pgrep node_exporter)
部署流程
默认,Grafana Web 界面使用端口 3000
访问,而 Prometheus 使用端口 9090
,Node Exporter 使用端口 9100
。开放防火墙:
sudo ufw allow 9090 comment 'prometheus'
sudo ufw allow 3000 comment 'grafana'
# Node Exporter 有所不同,在后面
为了获得最佳结果,请在同一服务器上运行 Prometheus 和 Grafana。下面将托管 Prometheus 和 Grafana 的服务器的系统称为“监控服务器”。被监控的系统是“客户端”。
总体步骤:
- 在监控服务器上开放防火墙,已完成✔
- 在监控服务器上下载并安装 Prometheus
- 配置 Prometheus 作为服务运行
- 在所有客户端上安装 Node Exporter,并开放防火墙。
客户端可以是 Linux 发行版,也可以是 Windows 等,不过 Node Exporter 仅适用于 Linux。
- 配置 Prometheus 来监控客户端
- 安装并部署 Grafana 服务器
- 关联 Grafana 和 Prometheus
- 使用 Grafana ,导入仪表板模板
具体流程: 探针 Grafana + Prometheus 之比 Docker 更简单的部署流程 – 承飞之咎 (vfly2.com)
原文链接: https://yanh.tech/2023/07/probe/
版权声明:本博客所有文章除特別声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 承飞之咎 (yanh.tech) 。
如果你认为我的文章有帮助,欢迎使用 RSS 订阅,也欢迎留言指正。