Мониторинг с помощью средства диагностики Azure Linux

Я пытаюсь включить диагностику Linux для отдельных дисков, подключенных к виртуальной машине. Я имею в виду эту ссылку (https://docs.microsoft.com/en-us/azure/virtual-machines/linux/diagnostic-extension).

Я использую этот интерфейс командной строки

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"
    }
  }
  ]
}

К виртуальной машине прикреплен диск / dev / sdc1, и он смонтирован в / newdisk. Даже после использования обоих счетчиков производительности я все еще не вижу никаких данных в таблице WADMetrics *****. Есть ли что-то, что я делаю неправильно, или я что-то упускаю в конфигурационном файле?

Спасибо.


person user1142317    schedule 13.06.2017    source источник
comment
Stack Overflow - это сайт для вопросов по программированию и разработке. Этот вопрос кажется не по теме, потому что он не о программировании или разработке. См. Какие темы можно задать здесь в Справочном центре. Возможно, Обмен стеками веб-приложений, Обмен стеками веб-мастеров или Unix & Linux Stack Exchange было бы лучше спросить.   -  person jww    schedule 13.06.2017
comment
на мой взгляд, этот вопрос здесь прекрасно   -  person 4c74356b41    schedule 13.06.2017
comment
@ 4c74356b41 - Из болезненного любопытства ... Считаете ли вы, что это разрешено правилами сайта; или вы считаете, что правила сайта к вам не относятся?   -  person jww    schedule 14.06.2017
comment
@jww при чем тут я? это не мой вопрос. и если вы не понимаете, как это связано с программированием, а не с администрированием Linux, мне не по силам   -  person 4c74356b41    schedule 14.06.2017


Ответы (1)


Согласно ссылке что вы предоставили, вам нужно изменить counterSpecifier, а не condition. См. Ниже:

CounterSpecifier - это произвольный идентификатор. Потребители метрик, таких как функция построения диаграмм и предупреждений на портале Azure, используют counterSpecifier в качестве «ключа», который идентифицирует метрику или экземпляр метрики. Для встроенных показателей мы рекомендуем использовать значения counterSpecifier, которые начинаются с / builtin /. Если вы собираете конкретный экземпляр метрики, мы рекомендуем вам прикрепить идентификатор экземпляра к значению 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. Я использую 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.

person Shui shengbao    schedule 14.06.2017
comment
Большое спасибо за то, что указали на это. Ценить это. Я надеюсь, что был также способ, которым Azure отслеживает каждый добавленный новый диск, в противном случае мне придется обновлять performanceCounterConfiguration вручную каждый раз, когда пользователь добавляет новый диск. - person user1142317; 14.06.2017
comment
В настоящее время это невозможно. Я предлагаю вам использовать сценарий для добавления строк в public.json. - person Shui shengbao; 15.06.2017