【问题标题】:Monitoring using Azure Linux Diagnostics使用 Azure Linux 诊断进行监控
【发布时间】:2017-11-15 14:23:20
【问题描述】:

我正在尝试为连接到 VM 的各个磁盘启用 Linux 诊断。我指的是这个链接(https://docs.microsoft.com/en-us/azure/virtual-machines/linux/diagnostic-extension

我正在使用这个 CLI

azure vm extension set vmturbo DiagnosticTest LinuxDiagnostic Microsoft.Azure.Diagnostics '3.0' --private-config-path PrivateConfig.json --public-config-path PublicConfig.json -v

这就是 PrivateConfig.json 的样子

    {
        "storageAccountName" : “XXXXXXXXXX”,
        "storageAccountSasToken": "sv=2016-05-31&ss=bfqt&srt=sco&sp=rwdlacup&se=2017-06-13T19:34:34Z&st=2017-06-13T11:34:34Z&spr=https,http&sig=G%2FXj0rYHNk7jUx6CF47kPdJh42jhafSsUvT0JlrR3XE%3D"
    }

And this is how PublicConfig.json looks like 
{
  "StorageAccount": "diagnosticvmstorage",
  "sampleRateInSeconds": 15,
  "ladCfg": {
    "diagnosticMonitorConfiguration": {
      "performanceCounters": {
        "sinks": "",
        "performanceCounterConfiguration": [
         {
          {
            "annotation": [
              {
                "displayName": "Disk write time", 
                "locale": "en-us"
              }
            ], 
            "class": "disk", 
            "condition": "Name=\"/dev/sdc1\"",
            "counter": "averagewritetime", 
            "counterSpecifier": "/builtin/disk/averagewritetime", 
            "type": "builtin", 
            "unit": "Seconds"
          }, 
          {
            "annotation": [
              {
                "displayName": "Filesystem transfers/sec", 
                "locale": "en-us"
              }
            ], 
            "class": "filesystem", 
            "condition": "Name=\"/newdisk\"",
            "counter": "transferspersecond", 
            "counterSpecifier": "/builtin/filesystem/transferspersecond", 
            "type": "builtin", 
            "unit": "CountPerSecond"
          }
        ]
      },
      "metrics": {
        "metricAggregation": [
          {
            "scheduledTransferPeriod": "PT1H"
          },
          {
            "scheduledTransferPeriod": "PT1M"
          }
        ],
        "resourceId": "/subscriptions/758ad253-cbf5-4b18-8863-3eed0825bf07/resourceGroups/vmturbo/providers/Microsoft.Compute/virtualMachines/DiagnosticTest"
      },
      "eventVolume": "Large"
    }
  }
  ]
}

VM 有一个附加到 /dev/sdc1 的磁盘,它安装在 /newdisk。即使在使用了两个 performanceCounters 之后,我仍然在 WADMetrics***** 表中看不到任何数据。有什么我做错了还是我错过了配置文件中的任何内容?

谢谢。

【问题讨论】:

  • Stack Overflow 是一个编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参阅帮助中心的What topics can I ask about here。也许Web Applications Stack ExchangeWebmaster Stack ExchangeUnix & Linux Stack Exchange 会是一个更好的提问地点。
  • 我认为这个问题在这里非常好
  • @4c74356b41 - 出于病态的好奇心......你觉得网站的规则允许吗?还是您觉得网站的规则不适用于您?
  • @jww 跟我有什么关系?这不是我的问题。如果你不明白这是关于编程而不是 linux 管理是我无法理解的

标签: linux azure azure-blob-storage azure-table-storage azure-sdk


【解决方案1】:

根据您提供的link,您需要修改counterSpecifier 而不是condition。请参考:

counterSpecifier 是一个任意标识符。指标的消费者, 像 Azure 门户图表和警报功能,使用 counterSpecifier 作为标识指标或实例的“键” 的一个指标。对于内置指标,我们建议您使用 以 /builtin/ 开头的 counterSpecifier 值。如果你是 收集指标的特定实例,我们建议您附加 counterSpecifier 值的实例标识符。一些 例子:

  • /builtin/Processor/PercentIdleTime - 平均空闲时间 核心
  • /builtin/Disk/FreeSpace(/mnt) - /mnt 文件系统的可用空间
  • /builtin/Disk/FreeSpace - 所有已安装的平均可用空间 文件系统

我在我的实验室测试,你可以修改你的 json 文件如下:

   {
            "annotation": [
              {
                "displayName": "Disk /dev/sdc1", 
                "locale": "en-us"
              }
            ], 
            "class": "disk", 
            "condition": "IsAggregate=TRUE", 
            "counter": "readbytespersecond", 
            "counterSpecifier": "/builtin/disk/FreeSpace(/newdisk)", 
            "type": "builtin", 
            "unit": "BytesPerSecond"
          }, 

注意:我在 ARM Ubuntu 16.04 VM 上进行测试。我使用az vm extension set --publisher Microsoft.Azure.Diagnostics --name LinuxDiagnostic --version 3.0 --resource-group $my_resource_group --vm-name $my_linux_vm --protected-settings "${my_lad_protected_settings}" --settings portal_public_settings.json 来启用 LAD。

【讨论】:

  • 非常感谢您指出这一点。欣赏它。我希望还有一种方法可以让 Azure 监控添加的每个新磁盘,否则每次用户添加新磁盘时我都必须手动更新 performanceCounterConfiguration。
  • 目前是不可能的。我建议您可以使用脚本向 public.json 添加行。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多