Kong API 网关的最佳日志插件,可利用现有的 ELK 堆栈日志
Posted
技术标签:
【中文标题】Kong API 网关的最佳日志插件,可利用现有的 ELK 堆栈日志【英文标题】:Best logging plugin of Kong API gateway to utilise existing ELK stack log 【发布时间】:2020-08-12 11:26:49 【问题描述】:谁能帮我从所有可用选项中选择一个 Kong API Gateway 日志插件,例如 Tcp Log、Udp Log、Http Log、File Log、Syslog、Statsd、Loggly等哪些可以利用现有的ELK stack log?
【问题讨论】:
【参考方案1】:我体验过文件日志、tcp-log 和 http-log 插件。就实际的日志记录功能而言,所有这些对我们来说都非常有效。主要的决策驱动因素是我们使用的技术堆栈:
file-log:我们在 OpenShift 上部署了 Kong。由于 OpenShift 具有内置的 EFK 堆栈并通过 Fluentd 将所有标准推送到 ElasticSearch,因此我们将 Kong 日志写入命名管道(“FIFO 文件”)并让 Docker 容器不断地将该文件打印到标准输出。一种解决方法,但它对我们的用例非常有效。 tcp-log/http-log:我们还需要将日志发送到外部 ELK 堆栈。对于这个用例,我们使用了 tcp-log 插件。我们后来切换到 http-log,因为它还具有内置的基本身份验证功能,因此您可以将日志传输到具有身份验证的公共端点。两个插件都将日志发送到 logstash,后者侦听 tcp 或 http 端口。我希望这可以帮助您根据需要选择日志记录插件。
【讨论】:
嗨 @Philipp 如何在 HTTP-LOG 插件上设置 ELK 的身份验证?可以举个例子吗? 嗨@OneideLuizSchneider,很遗憾我没有开源示例。我们所做的是配置 http-log 插件以使用基本身份验证(docs.konghq.com/hub/kong-inc/http-log,搜索“basic-auth”)将日志发送到logstash。当我们在安全的命名空间中执行此操作时,我们接受在没有 https 的情况下执行基本身份验证,但这在其他设置中可能会出现问题。 Logstash 然后针对 ElasticSearch 进行身份验证(如果您使用 AWS 托管的 ES,则有一个支持签名 AWS API 请求的 logstash 插件)。所以基本上有两个不同的身份验证步骤。以上是关于Kong API 网关的最佳日志插件,可利用现有的 ELK 堆栈日志的主要内容,如果未能解决你的问题,请参考以下文章