Gre*_*low 13 azure azure-application-insights
我们部署了Azure Web角色,该角色一直在使用Application Insights(版本1.0.0.4220),但是,我们正在检查我们的数据配额.是否可以配置Application Insights忽略特定的URL?
我们有一个状态Web服务,可以获得大量流量,但从不抛出任何错误.如果我可以排除这一个服务URL,我可以减少一半的数据使用量.
开箱即用它不受支持.采样功能即将推出,但不能通过特定网址进行配置.您可以实现自己的自定义过滤频道.基本上你的频道会发送事件,你检查是否要发送它然后如果是,则传递给标准AI频道. 在这里,您可以阅读更多有关自定义渠道
自撰写此博客文章以来,有两件事情发生了变化:
更新:最新版本具有过滤支持:https://azure.microsoft.com/en-us/blog/request-filtering-in-application-insights-with-telemetry-processor/
我的团队有一个类似的情况,我们需要过滤掉成功的图像请求的 url(我们有很多这样的 URL,这使我们达到了 30k 数据点/分钟的限制)。
我们最终使用了 Sergey Kanzhelevs博客文章中类的修改版本来过滤掉这些。
我们创建了一个RequestFilterChannel类,它是ServerTelemetryChannel 的一个实例并扩展了该Send方法。在这个方法中,我们测试每个要发送的遥测项目,看它是否是一个图像请求,如果是,我们阻止它被发送。
public class RequestFilterChannel : ITelemetryChannel, ITelemetryModule
{
private ServerTelemetryChannel channel;
public RequestFilterChannel()
{
this.channel = new ServerTelemetryChannel();
}
public void Initialize(TelemetryConfiguration configuration)
{
this.channel.Initialize(configuration);
}
public void Send(ITelemetry item)
{
if (item is RequestTelemetry)
{
var requestTelemetry = (RequestTelemetry) item;
if (requestTelemetry.Success && isImageRequest((RequestTelemetry) item))
{
// do nothing
}
else
{
this.channel.Send(item);
}
}
else
{
this.channel.Send(item);
}
}
public bool? DeveloperMode
{
get { return this.channel.DeveloperMode; }
set { this.channel.DeveloperMode = value; }
}
public string EndpointAddress
{
get { return this.channel.EndpointAddress; }
set { this.channel.EndpointAddress = value; }
}
public void Flush()
{
this.channel.Flush();
}
public void Dispose()
{
this.channel.Dispose();
}
private bool IsImageRequest(RequestTelemetry request)
{
if (request.Url.AbsolutePath.StartsWith("/image.axd"))
{
return true;
}
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
创建类后,您需要将其添加到ApplicationInsights.config文件中。
替换这一行:
<TelemetryChannel Type="Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel, Microsoft.AI.ServerTelemetryChannel"/>
Run Code Online (Sandbox Code Playgroud)
与您的班级的链接:
<TelemetryChannel Type="XXX.RequestFilterChannel, XXX" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5319 次 |
| 最近记录: |