我有一个RoR应用程序,其中安装了Prometheus-client和Telegraf守护程序,并且Prometheus输入插件在要监视的实例上工作。
据我了解,我需要某种导出器中间件来从HTTP端点收集指标Prometheus::Client.registry并将其公开/metrics。
我真正不了解的是如何将来自不同环境(例如来自rake任务和应用程序的运行时代码)的所有指标传递到相同中间件实例的同一注册表(它的实例变量Prometheus::Middleware::Exporter.new(registry))中Prometheus::Middleware::Exporter?
另外,urls = ["http://localhost:3000/metrics"]用于Telegraf的Prometheus输入插件的配置是否可以在EC2实例上使用?
也许更简单的方法是在同一主机上设置Telegraf客户端(具有Prometheus输出和statsd输入),然后将应用程序中的事件以statsd格式触发到Telegraf的输入中。然后,Telegraf将转身以Prometheus的格式发出这些指标。
通过这种方式,您将获得Telegraf的主机级别指标(可用内存,磁盘使用情况等)以及应用程序的指标,所有这些指标都在同一端口中导出。它不需要任何特定于Ruby的代码,只需将UDP消息从您的应用程序触发到本地端口即可。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。