在 OpenResty Edge 中配置错误日志文件
今天我想演示的是如何在 OpenResty Edge 中检查应用的错误日志和全局错误日志。
示例应用的错误日志
像往常一样,让我们进入 OpenResty Edge 的 Admin Web 控制台。这是我们控制台的样本部署。每个用户都有自己的本地部署。
我们继续使用 test-edge.com 域名的样本应用。
进入这个应用。
点击这里查看该应用的错误日志。
可以看到,这里已经有了一些错误日志记录。这个页面显示了错误日志相关的一些重要信息。
比如说请求 ID,错误日志信息,主机名,请求体,客户端 IP 地址等等。
现在我们来对应用做一些改动。改动之后再访问 test-edge.com 这个域名会生成一个新的错误日志信息。
这里我们已经定义好了一个页面规则。
这个页面规则设置了一个反向代理到一个预先定义的上游。
让我们转到 Upstreams 页面。
编辑上游服务器。
停用这个上游服务器。上游服务器被停用之后,我们访问应用时将会得到一个 Bad Gateway 的错误。
保存这个改动。
像往常一样,需要发布一个新的版本来推送我们刚才的改动。
点击这个按钮。
发布!
新版本现在已经同步到所有的网关服务器上了。
现在,新的页面规则已经被推送到所有的网关集群和服务器。
这些配置的变化不需要服务器重载、重启或二进制升级。所以它是非常高效和可扩展的。
现在来发送一个请求。
在终端上,用 curl 发送请求。
curl -sSI http://test-edge.com
可以看到返回了 Bad Gateway 错误,这个错误将被记录在应用的错误日志中。
而且可以看到,服务器端的响应里有一个请求 ID。复制这个 ID,用它来查找相应的日志信息。
现在回到应用的错误日志页面。检查错误日志信息。不出所料,刚才的请求生成了错误日志。新生成的错误日志出现在列表的顶部。
Openresty.com 的错误日志
这个应用的错误日志比较少。现在来看一下我们线上其他应用的错误日志。
转到应用列表页。
让我们看看 OpenResty.com 网站的错误日志。
转到该页面。
转到错误日志页面。这里记录了更多的错误日志。
顶部的过滤查询条件有利于准确定位问题。
例如我们可以通过请求 ID 来过滤信息。
或者通过网关。
服务器。
错误日志级别。
以及时间间隔。
现在来试试通过网关过滤消息。
选择 aws-us-west 网关。
可以看到,aws-us-west 网关下没有任何错误日志。
全局错误日志
在了解了应用的错误日志之后,我们再来看看全局错误日志。全局错误日志显示在 Dashboard 页面上。
现在转到 Dashboard 页面去看看全局错误日志。
可以看到有三种类型的错误日志。
全局错误日志。
Admin 站点的错误日志。
日志服务器的错误日志。
先来看看全局错误日志。
全局错误日志是由网关服务器收集的,不隶属于任何应用。
可以过滤错误日志。
继续看一下 Admin 站点的错误日志。
这些错误日志是从 Admin 控制台收集的。
我们还支持对日志进行条件过滤。
例如可以选择日志级别 “Error”。
可以看到 “Error” 级别和重复次数大于 1 的日志被高亮显示。
最后,来看一下日志服务器的错误日志。
本页面显示的错误日志来自 OpenResty Edge 日志服务器。
在这里我们也可以过滤日志。
可以看到,全局错误日志和应用错误日志都有日志级别,但不是所有级别的日志都会被系统上报。
我们可以在全局配置页面设置要上报的日志级别。
这里我们把它设置为 “warn”,这意味着只会上报警告以及比警告级别更高的日志。
可以设置的错误日志级别有 “warn”、“error”、“crit”、“alert” 等等。
在你的本地部署中,你可以设置任意的日志级别。
在服务器上查看错误日志
现在让我们来登录 OpenResty Edge 网关服务器,看看 error.log 文件。
检查最后一条错误日志信息。
网关服务器的错误日志信息都写在这里。
运行该命令。
我们可以看到网关服务器的错误日志信息。
退出服务器。
然后,我们登录 OpenResty Edge 的 Admin 服务器,查看 error.log 文件。
看一下最后的错误日志信息。
OpenResty Edge Admin 的错误日志信息写在这里。
运行该命令。
可以看到 OpenResty Edge Admin 的错误日志信息。
这就是我今天想讲的内容。
关于本文和关联视频
本文和相关联的视频都是完全由我们的 OpenResty Showman 产品从一个简单的剧本文件自动生成的。
关于作者
章亦春是开源 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. 公司的博客网站 。也欢迎扫码关注我们的微信公众号:
翻译
我们提供了英文版原文和中译版(本文)。我们也欢迎读者提供其他语言的翻译版本,只要是全文翻译不带省略,我们都将会考虑采用,非常感谢!