我试图在AWS Elastic Beanstalk中的多个实例上托管的应用程序上运行Application Insights。问题是服务器都被视为单个服务器。我认为这是因为它们都具有相同的HostName。
有谁知道我怎么做:
答案 0 :(得分:2)
如果字段是公共的,您可以使用遥测初始化程序更改设置值,或者您也可以创建自己的属性来存储正确的名称。无论哪种方式,Telemetry Initializer看起来都是一种方式:
public class MyTelemetryInitializer : ITelemetryInitializer
{
public void Initialize(ITelemetry telemetry)
{
var requestTelemetry = telemetry as RequestTelemetry;
// Is this a TrackRequest() ?
if (requestTelemetry == null) return;
int code;
bool parsed = Int32.TryParse(requestTelemetry.ResponseCode, out code);
if (!parsed) return;
if (code >= 400 && code < 500)
{
// If we set the Success property, the SDK won't change it:
requestTelemetry.Success = true;
// Allow us to filter these requests in the portal:
requestTelemetry.Context.Properties["Overridden400s"] = "true";
}
// else leave the SDK to set the Success property
}
如您所见,您可以访问遥测项目的现有属性,也可以根据需要添加新属性。我希望这会有所帮助。