如何使用 Telegraf 监控远程系统指标?

Eri*_*ron 1 monitoring influxdb grafana telegraf

我会很感激一些关于如何构建堆栈telegraf + InfluxDB + Grafana以监控一组机器的建议。

我的场景

我已经telegraf + InfluxDB + Grafana在一台我称之为“监控实例”的机器上成功安装了堆栈。

我的系统是一个 API,由一台运行 nodejs 的机器和一个 postgres 实例组成。

我可以从我的 Postgresql 数据库(使用 postgres 的 Telegraf 输入插件)和我的应用程序(我以 prometheus 格式公开一些指标,telegraf 使用 prometheus 输入插件提取)中收集指标。

我的问题和疑惑

  • 监控节点和 postgres 实例的系统指标(cpu、mem 等)的最佳方法是什么?我应该在这台机器上安装 Telegraf 代理吗?
  • 如何将本地数据发送到“监控实例”?
  • 本地电报代理应该直接写入 influxdb 还是应该将指标发送到安装在“监控实例”中的 Telefraf?

提前致谢。

Uma*_*thy 5

系统/服务器指标应由本地安装的 Telegraf 收集。

您可以将指标从系统电报直接发送到 influxdb。但是,这使得流入监听器容易受到本地电报实例抽取的数据量的影响。它不能优雅地缩放。

相反,您可以在系统电报实例和涌入之间放置一个队列或 Kafka。这将平滑任何意外的负载,并应保持涌入的听众稳定。在 queue/Kafka 和 influx 之间,您可以拥有一组专用的 Telegraf 实例,将数据从 queue/Kafka 加载到 influx 中。他们可以作为 Kafka 消费者群体运行,并且应该很容易扩展。

系统电报 —> Kafka —> 电报 —> 涌入 —> Grafana