我不了解如何根据StatisticsCollector政策创建自定义报告。
我想通过检查名为" referer"的请求标头的内容来检索有关从不同客户端调用的API的统计信息。
从doc开始,我创建了一个统计收集器策略,将其添加到我的预流程中。
尝试创建名为" referer"的变量。看着请求标题" referer",我添加了
<Statistic name="referer" ref="request.header.referer" type="STRING">undefined</Statistic>
到政策。
现在,正如我从文档中可以理解的那样,我应该在创建一个&#34;自定义报告&#34;时找到一个更好指定的&#34;维度&#34;叫&#34; referer&#34;: &#34;您会发现UI中有一个名为location的新维度,供您用于生成报告。&#34;
创建自定义报告时,我无法找到这样的维度。
我找到一个名为&#34; name&#34;的自定义维度,我不知道它来自哪里。 我该怎么办呢?我应该通过调用Apigee API来尝试吗?
编辑:显然,统计收集器不适用于Apigee上的免费组织,因为技术故障&#34;。来自Apigee的Srikanth打算打开一张解决这个问题的门票。如果不是这种情况,Archendra Yadav将提出另一个更新Apigee文档的请求,声明收集器不能免费使用org。
答案 0 :(得分:1)
这里有几点需要注意。
浏览器对Referer标头非常小心。即使您设置它们,它们也不会发送它。甚至Chrome上的Postman客户端在指定时也不会发送Referer标头。这是一个有效的安全门 - HTTP 1.1 RFC谈论它。您可以在网络上的其他地方阅读相同的行为。
所以Divya提到使用curl请求。使用跟踪会话确定Edge从客户端收到的原始请求是什么。这样你就可以找出referer头的存在。手动从浏览器发送时,您会看到它丢失。卷曲很好。
您是否在Apigee上使用免费的组织或付费组织。统计收集器有时无法在免费组织上工作。我和一位内部专家聊了聊,他给了我这种见解。
答案 1 :(得分:1)
答案 2 :(得分:0)
将在“向下钻取”下添加字段引用 - &gt;在您向API添加以下静态收集器策略的API发送一些请求后自定义维度。此策略需要执行一次才能将新字段添加到自定义维度
答案 3 :(得分:0)
您说您使用以下内容:
<Statistic name="referer" ref="request.header.referer" type="STRING">undefined</Statistic>
我认为该类型区分大小写。尝试输入type =“string”,看看是否有效。
答案 4 :(得分:0)
请求标题名称是“Referer”而不是“referer”。
因此,您的StatisticsCollector策略应如下所示:
StatisticsCollector-1 request.header.Referer
尝试一些调用并确保请求具有名为Referer的标头。然后它会在您的自定义报告中显示为自定义维度。 对我来说,我必须在我的请求中明确提到Referer标题,如下所示:
curl -v“https://product-support-test.apigee.net/” - H“Referer:foo”
如果您仍然遇到问题,请将您的捆绑包发给我(divya@apigee.com)。