在 OpenResty Edge 中配置网关的访问日志文件
今天我将演示如何为 OpenResty Edge 中的应用配置访问日志格式。
在全局配置页面配置访问日志格式
像往常一样,让我们进入 OpenResty Edge 的 Admin Web 控制台。这是我们的控制台的样本部署。每个用户都有自己的本地部署。
我们先来配置一下访问日志的格式。
转到 Global Config 页面。
当前的全局配置属于名为 “default” 的网络分区。
直接跳到设置日志的部分。
这里是默认使用的日志文件目录。如果想修改这个目录,你必须确保修改以后的目录在所有网关服务器上都存在。
这是名为 “main” 的默认访问日志格式。
这个格式记录了很多信息,如远程 IP 地址、请求体、上游状态等。
“As default” 是指将这个日志格式设置为该网络分区的默认访问日志格式。在应用中,如果我们不做任何改动,默认就是使用这个日志格式。
如果你想添加一个新的格式,你可以点击这个按钮。
在本教程中,我们使用这个现有的格式 “tutorial-example”。
它记录了请求耗时、远程 IP 地址、HTTP 主机和请求体。
为示例应用配置访问日志
现在让我们为应用配置这种访问日志格式。
转到应用列表页。
我们可以继续使用之前的示例应用,test-edge.com。
进入该应用。
进入设置页面。
之前我们为这个应用配置了名为 “default” 的网络分区。
可以看到该应用默认使用全局配置的默认访问日志格式。
在使用默认的日志格式时,我们不能改变访问日志的文件名。
现在来改一下使用的日志格式。我们选择使用名为 “tutorial-example” 的访问日志格式。
现在可以改动日志文件名了。我们把它改为 “example.access.log”。
保存这个改动。
像往常一样,我们需要发布来推送这个新改动。
点击这个按钮。
发布!
改动现在已经同步到所有的网关服务器。
现在,刚才的改动已经被推送到所有的网关集群和服务器。
我们的配置变化不需要服务器重载、重启或二进制升级。所以它是非常高效和可扩展的。
测试访问日志
在之前的教程中我们已经定义了一个上游。
这个 my_backend
上游定义了一个后端服务器。
我们也已经定义了一个页面规则。
这个页面规则设置了一个反向代理到我们刚才看到的上游。
所以当我们访问应用时,会有上游的内容返回。
现在让我们看看我们的应用程序属于哪个网关服务器。
转到网关集群页面。
我们的应用属于名为 “default” 的网络分区。
可以看到有许多网关集群属于名为 “default” 的网络分区。
我们选择其中一个来查看访问日志信息。
首先让我们通过访问应用来生成访问日志消息。
在终端上,我们通过 curl 发送一个请求。
curl -sSI -H 'Host: test-edge.com' http://52.53.251.226/
访问成功!
然后,检查一下访问日志信息。我们登录到 OpenResty Edge 网关服务器。
检查 example.access.log 文件中的最后一条访问日志信息。
日志文件目录是在全局配置中定义的。
而日志文件名是在我们的应用中定义的。
运行该命令。
我们可以看到访问日志信息包含了请求耗时。
和远程 IP 地址。
HTTP 主机。
和请求体。
可以看到,访问日志信息与访问日志格式 “tutorial-example” 相匹配。
顺便说一下,除了在设置页面为应用配置访问日志格式外,我们还可以在创建新的应用时进行配置。
回到应用列表页。
点击新的应用按钮,看看在哪里可以设置访问日志格式。
我们可以在这里设置访问日志格式。
关于 OpenResty Edge
OpenResty Edge 是一款专为微服务和分布式流量架构设计的全能型网关软件,由我们自主研发。它集流量管理、私有 CDN 构建、API 网关、安全防护等功能于一体,帮助您轻松构建、管理和保护现代应用程序。OpenResty Edge 拥有业界领先的性能和可扩展性,能够满足高并发、高负载场景下的苛刻需求。它支持调度 K8s 等容器应用流量,并可管理海量域名,轻松满足大型网站和复杂应用的需求。
如果你喜欢这个教程,请订阅这个博客网站和我们的 YouTube 频道 或 B 站频道。谢谢!
关于作者
章亦春是开源 OpenResty® 项目创始人兼 OpenResty Inc. 公司 CEO 和创始人。
章亦春(Github ID: agentzh),生于中国江苏,现定居美国湾区。他是中国早期开源技术和文化的倡导者和领军人物,曾供职于多家国际知名的高科技企业,如 Cloudflare、雅虎、阿里巴巴, 是 “边缘计算“、”动态追踪 “和 “机器编程 “的先驱,拥有超过 22 年的编程及 16 年的开源经验。作为拥有超过 4000 万全球域名用户的开源项目的领导者。他基于其 OpenResty® 开源项目打造的高科技企业 OpenResty Inc. 位于美国硅谷中心。其主打的两个产品 OpenResty XRay(利用动态追踪技术的非侵入式的故障剖析和排除工具)和 OpenResty Edge(最适合微服务和分布式流量的全能型网关软件),广受全球众多上市及大型企业青睐。在 OpenResty 以外,章亦春为多个开源项目贡献了累计超过百万行代码,其中包括,Linux 内核、Nginx、LuaJIT、GDB、SystemTap、LLVM、Perl 等,并编写过 60 多个开源软件库。
关注我们
如果您喜欢本文,欢迎关注我们 OpenResty Inc. 公司的博客网站 。也欢迎扫码关注我们的微信公众号:
翻译
我们提供了英文版原文和中译版(本文)。我们也欢迎读者提供其他语言的翻译版本,只要是全文翻译不带省略,我们都将会考虑采用,非常感谢!