如何将应用程序日志从bluemix排放到logentries

时间:2015-09-12 02:01:58

标签: cloudfoundry ibm-cloud logentries

我在cloudfoundry文档Service-Specific Instructions for Streaming Application Logs中看到了以下文档:

  

不支持Logentries

     

Cloud Foundry通过多个服务器分发日志消息以处理负载。目前,我们不建议使用Logentries,因为它不支持多个syslog源。

我猜它指向Logentries功能Plaintext TCP/UDP input类型。

那么Logentries Token-based TCP input怎么样?例如,为从应用程序或cloudfoundry发送到SELECT * FROM html WHERE url = "http://www.smh.com.au/sport/soccer/matildas-fuming-after-ffa-rejects-paid-mater‌​nity-leave-proposal-20150911-gjkq81.html" AND xpath = "//div[@class = 'articleBody']/*[self::ul or self::p]" STDOUT的每条日志消息配置提供的令牌。如果这样有效,怎么做呢?

3 个答案:

答案 0 :(得分:2)

您几乎可以使用任何端点进行loggregator排放。它只需要是HTTPS(POST请求),syslog或syslog-tls。 Cloud Foundry目前不支持any other endpoints

Cloud Foundry loggregator排放工作的方式是需要特定端点指向转储日志。它不适用于多个排放端点。

我会向cf-dev distro发一封电子邮件,看看为此提交PR需要什么......

答案 1 :(得分:1)

我已经通过以下方式在bluemix中运行的node.js应用程序实现了基于应用程序的日志记录。

  1. 首先集成Winson日志记录库,以便我们能够使用为各种日志记录和监视服务开发的“传输”;除了基本的文件和控制台目的地。
  2. 使用LogEntries中的le_node库作为Winston传输。作为传输配置的一部分,您可以指定LogEntries标记。
  3. winston.add(winston.transports.Logentries, { token: myToken });

    由于令牌可以特定于您的应用程序,因此LogEntries可以聚合来自不同实例的日志。

答案 2 :(得分:0)

听起来你正在尝试使用基于端口的系统日志转发,它会锁定到一个IP地址。相反,您可以将syslog转发器与令牌转发结合使用,将日志发送给我们,一个日志收到一个令牌,如果要将日志路由到不同的日志/日志集,则必须管理多个配置文件中的令牌。

以下是一些有用的文档: https://logentries.com/doc/input-token/3 https://blog.logentries.com/2014/01/how-to-send-log-data-via-a-proxy-server-using-rsyslog/2