根据文档,向SwisscomDev ELK服务发送日志信息有两种方法。
询问方法2,这是如何实现的,特别是如何期望输入?
我们在基于PHP的应用程序中使用单色,并且使用它的stdout_handler很好。
我正在尝试GelfHandler (连接拒绝)、SyslogUdPHandler (没有错误,但没有结果),这两种配置都配置为使用VCAPServices logstashHost和logstashPort作为API端点/主机发送日志。
绑定工作,可以设置env变量,但我不知道如何从我们的应用程序中发送与SwisscomDev ELK服务Logstash端点兼容的日志信息。
发布于 2017-05-04 11:59:10
Logstash配置了一个tcp输入,它可以通过logstashHost:logstashPort访问。tcp输入配置了它的默认编解码器,即line编解码器(源代码;而不是文档中所述的plain编解码器)。
日志事件的有效负载应该用JSON编码,以便Elasticsearch自动识别字段。如果是这样的话,整个日志事件将被转发,而无需进一步处理到Elasticsearch。如果有效负载不是JSON,则整个日志行将在字段message中结束。
对于使用Monolog的用例,我建议您使用SocketHandler (指向logstashHost:logstashPort)与LogstashFormatter结合使用,后者将处理日志事件被分隔行的JSON编码。
https://stackoverflow.com/questions/43781240
复制相似问题