Azure Monitor ...还是Log Analytics?还是应用程序见解?还是运营见解?要么

Jos*_*osh 6 logging azure

这是我的情况。

应用:

  1. 创建一个asp.net核心应用
  2. 抓住 ILogger<T> logger;
  3. logger.LogInformation(new EventId(123456, "HelloEvent"), "Hello there");

基础设施:

  1. 部署服务结构(通过ARM模板)
  2. 将应用程序部署到服务结构

我:

  1. 四处寻找我的HelloEvent中的“ Hello there”

所以...

BIG问题:Microsoft Azure提供了哪些日志收集/处理的全部内容,它们如何组合在一起?

应用程序见解...看起来很酷。我将.UseApplicationInsights()构建器添加.AddApplicationInsightsTelemetry(..)到“启动”中。

而且我得到了漂亮的日志……关于服务结构事件,诸如http调用之类的依赖关系。但是我找不到“ Hello there” HelloEvent。

我在哪里得到的?

...

接下来,我使用Azure调查了日志,监视等。

我发现“日志分析”看起来很酷。显然,Application Insights使用它。但是我已经有了Application Insights。这是否意味着我有Log Analytics?还是我创建自己的Log Analytics工作区。如果是这样,我的日志会转到两个地方吗?是否以某种方式将Application Insights连接到它?

ARM模板实际上是从2015年开始的,名为OperationalInsights。尽管示例中有2017版,但参考文档中没有。

那么操作见解?显然,这来自某些Microsoft Operations Management Suite / OMS。之前是哪个彩信...?

最近的文档都谈论“ Azure Monitor”。但这甚至不是我可以在Azure中部署的东西。这只是一个概念吗?

我要做的就是在某个地方收集日志,然后用一些很酷的东西进行搜索和可视化:)

...而且我仍然找不到我的“ HelloEvent”

谁能阐明我简单的“ HelloEvent在哪里”,或者说出更大的问题“哪些是零件,它们如何组合在一起?”?

Iva*_*ang 1

关于“我的 HelloEvent 在哪里”及其应用见解:

请确保在 Startup.cs -> 配置方法中指定日志级别信息,如下所示:

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
 // other code

 //specify the LogLevel to Information, the default is warning
 loggerFactory.AddApplicationInsights(app.ApplicationServices,LogLevel.Information);
}
Run Code Online (Sandbox Code Playgroud)

更新)如果您想在日志中包含事件 ID,只需在 Startup.ConfigureServices 方法中设置 ApplicationInsightsLoggerOptions 实例即可。

services
    .AddOptions<ApplicationInsightsLoggerOptions>()
    .Configure(o => o.IncludeEventId = true);
Run Code Online (Sandbox Code Playgroud)

我的测试代码如下:

    public class HomeController : Controller
    {
     ILogger<HomeController> _logger;

        public HomeController(ILogger<HomeController> logger)
        {
            _logger = logger;
        }

        public IActionResult Index()
        {
            _logger.LogInformation(new EventId(123456, "HelloEvent"), "Hello there");

            return View();
        }

       // other code
    }
Run Code Online (Sandbox Code Playgroud)

在天蓝色门户中,我可以看到“你好”: 在此输入图像描述