Поделиться через


Использование счетчика производительности Application Insights для отслеживания свободного места на логическом диске

Примечание.

Эта статья относится как к Облачные службы (классической), так и к Облачные службы (расширенная поддержка).

С помощью счетчика производительности в Application Insights можно получить диагностика данные, отображающие объем свободного места на диске C с течением времени. Этот метод может быть полезен, если вы хотите, чтобы Облачные службы задать оповещение, когда свободное место для диска C меньше определенного порогового значения. Вы также можете получить диагностика данные и задать оповещения для другого диска или всех логических дисков.

Обзор

В Application Insights определенный счетчик производительности, отслеживающий свободное место на диске C, называется \LogicalDisk(C:)% свободного места. (Убедитесь, что вы включили пробел после знака процента в строке.) Этот счетчик производительности не включен в конфигурацию Application Insights по умолчанию. Поэтому вам нужно добавить его самостоятельно.

Примечание.

Чтобы получить сведения о другом логическом диске, замените C соответствующим буквой диска. Чтобы получить сведения обо всех логических дисках, замените C звездочкой (*).

Существует два способа добавления счетчика производительности.

  • Измените файл конфигурации ApplicationInsights.config .
  • Обновите и примените файл расширения диагностика.

Вариант 1. Изменение файла конфигурации ApplicationInsights.config

После включения Application Insights из Microsoft Visual Studio Visual Studio visual Studio создает файл конфигурации ApplicationInsights.config. По умолчанию файл помещается в папку <cloud-service-name\<role-name>>. Откройте этот файл конфигурации и измените директиву сборщика производительности, добавив следующий фрагмент XML в файл конфигурации:

<Add Type="Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.PerformanceCollectorModule, Microsoft.AI.PerfCounterCollector">
  <Counters>
    <Add PerformanceCounter="\LogicalDisk(C:)\% Free Space" ReportAs="Disk Free % (C:)" />
  </Counters>
</Add>

После добавления кода можно опубликовать приложение. В Application Insights можно найти новый счетчик производительности.

Вариант 2. Применение обновленного файла расширения диагностика

Обновите существующий файл конфигурации расширения и запустите скрипт PowerShell. Следующий файл расширения диагностика Windows Azure обновляется, чтобы включить \LogicalDisk(C:)\% Free Space строку в counterSpecifier атрибут конечного PerformanceCounterConfiguration элемента:

<?xml version="1.0" encoding="utf-8"?>
<PublicConfig xmlns="http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration">
  <WadCfg>
    <DiagnosticMonitorConfiguration overallQuotaInMB="4096" sinks="applicationInsights.errors">
    <DiagnosticInfrastructureLogs scheduledTransferLogLevelFilter="Error" />
    <Directories scheduledTransferPeriod="PT1M">
      <IISLogs containerName="wad-iis-logfiles" />
      <FailedRequestLogs containerName="wad-failedrequestlogs" />
    </Directories>
    <PerformanceCounters scheduledTransferPeriod="PT1M">
      <PerformanceCounterConfiguration counterSpecifier="\Memory\Available MBytes" sampleRate="PT3M" />
      <PerformanceCounterConfiguration counterSpecifier="\Web Service(_Total)\ISAPI Extension Requests/sec" sampleRate="PT3M" />
      <PerformanceCounterConfiguration counterSpecifier="\Web Service(_Total)\Bytes Total/Sec" sampleRate="PT3M" />
      <PerformanceCounterConfiguration counterSpecifier="\ASP.NET Applications(__Total__)\Requests/Sec" sampleRate="PT3M" />
      <PerformanceCounterConfiguration counterSpecifier="\ASP.NET Applications(__Total__)\Errors Total/Sec" sampleRate="PT3M" />
      <PerformanceCounterConfiguration counterSpecifier="\ASP.NET\Requests Queued" sampleRate="PT3M" />
      <PerformanceCounterConfiguration counterSpecifier="\ASP.NET\Requests Rejected" sampleRate="PT3M" />
      <PerformanceCounterConfiguration counterSpecifier="\Processor(_Total)\% Processor Time" sampleRate="PT3M" />
      <PerformanceCounterConfiguration counterSpecifier="\LogicalDisk(C:)\% Free Space" sampleRate="PT3M" />
    </PerformanceCounters>
    <WindowsEventLog scheduledTransferPeriod="PT1M">
      <DataSource name="Application!*[System[(Level=1 or Level=2 or Level=3)]]" />
      <DataSource name="Windows Azure!*[System[(Level=1 or Level=2 or Level=3 or Level=4)]]" />
    </WindowsEventLog>
    <CrashDumps>
      <CrashDumpConfiguration processName="WaIISHost.exe" />
      <CrashDumpConfiguration processName="WaWorkerHost.exe" />
      <CrashDumpConfiguration processName="w3wp.exe" />
    </CrashDumps>
    <Logs scheduledTransferPeriod="PT1M" scheduledTransferLogLevelFilter="Error" />
    </DiagnosticMonitorConfiguration>
    <SinksConfig>
      <Sink name="applicationInsights">
        <ApplicationInsights>Instrumentation-Key</ApplicationInsights>
        <Channels>
          <Channel logLevel="Error" name="errors" />
        </Channels>
      </Sink>
    </SinksConfig>
  </WadCfg>
  <StorageAccount>storageaccountname</StorageAccount>
</PublicConfig>

Примените обновленный файл расширения с помощью следующего скрипта PowerShell. Перед запуском скрипта замените имена заполнителей для группы ресурсов, учетной записи хранения, облачной службы и XML-файла конфигурации.

# Enter placeholder values here.
$rgName = @{ResourceGroupName = "<resource-group-name>"}
$saName = @{StorageAccountName = "<storage-account-name>"}
$csName = @{CloudServiceName = "<cloud-service-name>"}
$configFile = "<xml-file-name>"

# Apply the new extension file.
$storageAccountKey = Get-AzStorageAccountKey @rgName @saName
$extParameters = @{
    Name = "Microsoft.Insights.VMDiagnosticsSettings_WebRole1"
    DiagnosticsConfigurationPath = $configFile
    StorageAccountKey = $storageAccountKey[0].Value
    TypeHandlerVersion = "1.21.0.1"
    AutoUpgradeMinorVersion = $true
}
$extension = New-AzCloudServiceDiagnosticsExtension @rgName @csName @saName @extParameters
$cloudService = Get-AzCloudService @rgName @csName
$cloudService.ExtensionProfile.Extension = $cloudService.ExtensionProfile.Extension + $extension
$cloudService | Update-AzCloudService

Дополнительные сведения об этом параметре см. в разделе "Применить расширение диагностика" в Облачные службы (расширенная поддержка).

Дополнительная информация

Свяжитесь с нами для получения помощи

Если у вас есть вопросы или вам нужна помощь, создайте запрос в службу поддержки или обратитесь за поддержкой сообщества Azure. Вы также можете отправить отзыв о продукте в сообщество отзывов Azure.