微服务 API 网关 Kong 日志中文文档
条评论原文链接: https://docs.konghq.com/1.1.x/logging/ (不能保证所有的翻译都是准确无误的,所有如有翻译的不准确或错误之处,请一定记得查看原文,并欢迎留言指出)。
日志等级
日志级别在Kong的配置中设置。以下是日志级别,按照严重程度顺序递增,debug
, info
, notice
, warn
, error
and crit
。
debug
:它提供有关插件的runloop和每个插件或其他组件的调试信息。只是在调试期间使用,因为它的消息量太多了。info
/notice
:kong没有在这两个级别上产生很大的差异。提供有关正常行为的信息,其中大多数行为可以忽略。warn
:要记录任何不会导致事务丢失但需要进一步调查的异常行为,应使用警告级别。error
:用于记录导致请求被停止的错误(例如,获取HTTP 500错误)。需要监控此类日志的速率。crit
:当Kong在紧急条件下工作而不能正常工作从而影响多个客户时,使用此级别。
默认情况下,notice
是使用和建议的日志级别。然而,如果日志变得过于繁琐,他们可能会被提升到更高的水平,就像warn
一样。
从Kong日志中删除某些元素
随着围绕保护私人数据(如GDPR)的新规定,您可能需要改变您的日志记录习惯。如果您使用Kong作为API网关,则可以在一个位置完成此操作以使所有API生效。本指南将引导您完成一个实现此目的的方法,但总有不同的方法来满足不同的需求。请注意,这些更改将影响NGINX访问日志的输出。这对Kong的日志插件没有任何影响。
举个例子,假设您要从kong日志中删除任何电子邮件地址实例。电子邮件地址可能以不同的方式出现,例如/apiname/v2/verify/alice@example.com
或者 /v3/verify?alice@example.com
。为了防止这些被添加到日志中,我们需要使用自定义NGINX模板。
要开始使用自定义NGINX模板,请先获取我们模板的副本。
这可以在 https://docs.konghq.com/latest/configuration/#custom-nginx-templates-embedding-kong 找到或从下面复制
为了控制日志中的内容,我们将在模板中使用NGINX 的map模块。有关使用map指令的更多详细信息,请参阅本指南。这将创建一个新变量,其值取决于第一个参数中指定的一个或多个源变量的值。格式为:
举个例子,我们将映射一个名为keeplog
的新变量,该变量依赖于$request_uri
中出现的某些值。我们将把map指令放在http块的开头,这必须在 include'nginx-kong.conf'
之前。因此,对于我们的示例,我们将添加以下内容:
您可能会注意到这些行中的每一行都以波形符号开头。这就是NGINX在评估生产线时使用RegEx的原因。
在这个例子中我们有三件事需要寻找:
- 第一行使用正则表达式查找x@y.z格式的任何电子邮件地址
- 第二行查找URI的任何部分,即/servicename/v2/verify
- 第三行查看包含/v3/verify的URI的任何部分
因为所有这些都具有0以外的值,如果请求具有其中一个元素,则不会将其添加到日志中。
现在,我们需要为日志中保留的内容设置日志格式。我们将使用log_format
模块并为我们的新日志指定show_everything的名称。日志的内容可以根据您的需要进行定制,但在这个例子中,我会简单地将一切改回kong标准,要查看可以使用的完整选项列表,请参阅本指南。
现在,我们的自定义NGINX模板已经可以使用了。如果您一直观察,您的文件现在应该如下所示:
我们需要做的最后一件事是告诉Kong使用新创建的日志,show_everything
,为此,我们将改变Kong变量prpxy_access_log
。通过打开和编辑etc/kong/kong.conf
或使用环境变量KONG_PROXY_ACCESS_LOG=
来修改默认位置以显示。
最后一步,重启kong,使修改东西都生效,你可以使用kong restart
命令来操作。
现在,将不再记录使用其中的电子邮件地址发出的任何请求。
当然,我们可以使用此逻辑以条件方式从日志中删除任何我们想要的内容。
本文标题:微服务 API 网关 Kong 日志中文文档
文章作者:qianyugang
发布时间:2019-06-20
最后更新:2019-06-26
原始链接:https://102no.com/2019/06/20/kong-logging-docs/
版权声明:本网站发表的全部原创内容(不仅限于文章、图片,包含文章评论),著作权均归其发表者所有,均采用 CC BY-NC-SA 4.0 CN 许可协议。转载请注明作者以及原文链接,商业授权请联系作者。
分享