从ACI上的容器内运行的控制台应用程序记录应用程序数据的最佳方法

时间:2019-05-01 12:43:26

标签: azure logging azure-application-insights azure-monitoring

看似简单的问题,但没有找到最佳方法的运气。

因此,我需要从控制台应用程序记录应用程序事件,该应用程序事件将在容器内旋转并执行一些工作然后消失。

如何从内部记录自定义数据?

我已经尝试使用Azure Monitor并创建了一个工作区,并在应用程序内部使用了HTTP Data Collector API,但是在确定存储日志的位置时并不高兴。

是否有一种简单的方法可以登录到Azure存储帐户,然后使用Azure Monitor管理事件?

我已经搜索了几个小时,但是很多帖子都已经有8年历史了,并且没有相关性,而且在现代的天蓝色环境中我找不到真正的简单用例。

也许如此简单,我看不到

任何指针或链接都收到了!

谢谢 保罗

1 个答案:

答案 0 :(得分:2)

为什么不使用Application Insight自定义事件来跟踪事件?

https://docs.microsoft.com/en-us/azure/azure-monitor/app/api-custom-events-metrics

有了它,您可以跟踪具有任何元数据的事件,并在Azure Application Insights Blade中对其进行检查,或者通过Application Insights SDK或The Api进行访问。

您只需要创建一个Application Insight实例并使用遥测密钥即可。

SDK:https://github.com/Microsoft/ApplicationInsights-dotnet

API:https://dev.applicationinsights.io/reference

编写事件的代码示例:

  TelemetryClient client = new TelemetryClient();
  client .InstrumentationKey = "INSERT YOUR KEY";
  client.TrackEvent("SomethingInterestingHappened");

此外,您不仅可以发送字符串值,还可以发送其他信息:

tc.TrackEvent("PurchaseOrderSubmitted", 
  new Dictionary<string, string>() 
  { 
    {"CouponCode", "JULY2015" } 
  }, new Dictionary<string, double>() 
  { 
    {"OrderTotal", 68.99 }, 
    {"ItemsOrdered", 5} 
  });