You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Couchbase日志中查看非REST/控制台请求的客户端IP?

如何在Couchbase日志中定位Node.js客户端IP地址

我懂你现在的困扰——用Node.js SDK连接Couchbase集群,翻遍了官方日志文档却找不到客户端IP的痕迹。别着急,这其实是因为SDK连接的日志记录逻辑和REST API/控制台不太一样,下面几个方法应该能帮你找到答案:

1. 检查Couchbase节点的access.log文件

默认情况下,Couchbase的访问日志会记录所有客户端的连接信息,但SDK相关的日志条目可能没在你查阅的文档里明确标注。你需要找到集群节点上的access.log(通常路径:Linux是/opt/couchbase/var/lib/couchbase/logs/,Windows是C:\Program Files\Couchbase\Server\var\lib\couchbase\logs\)。

在日志里搜索包含connection的条目,或者过滤带有Node.js SDK标识的内容,典型的日志格式类似:

[2024-05-20T14:30:00.000Z] INFO  couchdb: connection from 192.168.1.105:56789 accepted

Node.js SDK的连接请求会带有couchbase-nodejs相关的用户代理标识,用这个关键词过滤会更精准。

2. 启用SDK本地调试日志

如果服务器端日志还是没线索,你可以直接在自己的Node.js代码里开启SDK的调试日志,实时追踪连接的IP信息。修改你的代码如下:

var couchbase = require("couchbase");
// 启用SDK的TRACE级日志,会输出详细连接细节
couchbase.Logger.enable(couchbase.Logger.TRACE);

var userCouchbaseIp = subscriptionConf.CouchbaseIp;
var couchbaseBucketName = subscriptionConf.couchbaseBucketName;
var cluster = new couchbase.Cluster(userCouchbaseIp);
// ... 后续业务代码

运行代码后,控制台会输出SDK与集群交互的全量日志,其中就包含客户端本地IP、目标集群节点IP等关键信息。

3. 通过集群统计工具收集连接数据

你还可以用Couchbase的CLI工具cbcollect_info导出集群的完整统计数据,里面包含所有活跃客户端的连接详情。执行命令:

cbcollect_info /your/output/directory

在生成的压缩包中,找到nodes/<节点名称>/stats.txt文件,搜索curr_connections相关条目,对应的IP就是客户端的地址。

另外要注意:如果你的客户端部署在容器或反向代理后面,Couchbase日志里可能显示的是代理服务器的IP。这种情况下,你需要检查代理配置是否正确传递了X-Forwarded-For头,或者直接在客户端代码里通过os.networkInterfaces()获取本地IP来确认。

内容的提问来源于stack exchange,提问作者Anjalee Chakrabarty

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:35:45