Konfigurace pracovního prostoru Služby Log Analytics ve službě Azure Monitor pomocí PowerShellu

Následující ukázkový skript nakonfiguruje pracovní prostor tak, aby shromažďoval více typů protokolů z virtuálních počítačů pomocí agenta Log Analytics.

Tento skript provádí následující funkce:

  1. Vytvoření pracovního prostoru.
  2. Povolte shromažďování protokolů služby IIS z počítačů s nainstalovaným agentem systému Windows.
  3. Shromažďování čítačů výkonu logického disku z počítačů s Linuxem (% Využité uzly; Volné megabajty; % využitých míst; Přenosy disků za sekundu; Čtení disku za sekundu; Zápisy na disk za sekundu).
  4. Shromážděte události Syslogu z počítačů s Linuxem.
  5. Shromážděte události chyb a upozornění z protokolu událostí aplikace z počítačů s Windows.
  6. Shromážděte čítač výkonu dostupné paměti Mbytes z počítačů s Windows.
  7. Shromážděte vlastní protokol.
$ResourceGroup = "my-resource-group"
$WorkspaceName = "log-analytics-" + (Get-Random -Maximum 99999) # workspace names need to be unique in resource group - Get-Random helps with this for the example code
$Location = "westeurope"

# Create the resource group if needed
try {
    Get-AzResourceGroup -Name $ResourceGroup -ErrorAction Stop
} catch {
    New-AzResourceGroup -Name $ResourceGroup -Location $Location
}

# Create the workspace
New-AzOperationalInsightsWorkspace -Location $Location -Name $WorkspaceName -Sku PerGB2018 -ResourceGroupName $ResourceGroup

# Enable IIS Log Collection using agent
Enable-AzOperationalInsightsIISLogCollection -ResourceGroupName $ResourceGroup -WorkspaceName $WorkspaceName

# Linux Perf
New-AzOperationalInsightsLinuxPerformanceObjectDataSource -ResourceGroupName $ResourceGroup -WorkspaceName $WorkspaceName -ObjectName "Logical Disk" -InstanceName "*"  -CounterNames @("% Used Inodes", "Free Megabytes", "% Used Space", "Disk Transfers/sec", "Disk Reads/sec", "Disk Writes/sec") -IntervalSeconds 20  -Name "Example Linux Disk Performance Counters"
Enable-AzOperationalInsightsLinuxPerformanceCollection -ResourceGroupName $ResourceGroup -WorkspaceName $WorkspaceName

# Linux Syslog
New-AzOperationalInsightsLinuxSyslogDataSource -ResourceGroupName $ResourceGroup -WorkspaceName $WorkspaceName -Facility "kern" -CollectEmergency -CollectAlert -CollectCritical -CollectError -CollectWarning -Name "Example kernel syslog collection"
Enable-AzOperationalInsightsLinuxSyslogCollection -ResourceGroupName $ResourceGroup -WorkspaceName $WorkspaceName

# Windows Event
New-AzOperationalInsightsWindowsEventDataSource -ResourceGroupName $ResourceGroup -WorkspaceName $WorkspaceName -EventLogName "Application" -CollectErrors -CollectWarnings -Name "Example Application Event Log"

# Windows Perf
New-AzOperationalInsightsWindowsPerformanceCounterDataSource -ResourceGroupName $ResourceGroup -WorkspaceName $WorkspaceName -ObjectName "Memory" -InstanceName "*" -CounterName "Available MBytes" -IntervalSeconds 20 -Name "Example Windows Performance Counter"

# Custom Logs

New-AzOperationalInsightsCustomLogDataSource -ResourceGroupName $ResourceGroup -WorkspaceName $WorkspaceName -CustomLogRawJson "$CustomLog" -Name "Example Custom Log Collection"

Poznámka

Formát parametru CustomLogRawJson , který definuje konfiguraci vlastního protokolu, může být složitý. Pomocí rutiny Get-AzOperationalInsightsDataSource načtěte konfiguraci existujícího vlastního protokolu. Vlastnost Properties je konfigurace požadovaná pro CustomLogRawJson parametr.

V předchozím příkladu regexDelimiter byl definován jako \\n pro nový řádek. Oddělovač protokolů může být také časové razítko. Následující tabulka uvádí podporované formáty.

Formát Formát JSON RegEx používá dva \\ pro každý \ ve standardním RegExu, takže pokud testujete v aplikaci RegEx, snižte hodnotu \\ na \
YYYY-MM-DD HH:MM:SS ((\\d{2})|(\\d{4}))-([0-1]\\d)-(([0-3]\\d)|(\\d))\\s((\\d)|([0-1]\\d)|(2[0-4])):[0-5][0-9]:[0-5][0-9]
M/D/YYYY HH:MM:SS AM/PM (([0-1]\\d)|[0-9])/(([0-3]\\d)|(\\d))/((\\d{2})|(\\d{4}))\\s((\\d)|([0-1]\\d)|(2[0-4])):[0-5][0-9]:[0-5][0-9]\\s(AM|PM|am|pm)
dd/MMM/yyyy HH:MM:SS (([0-2][1-9]|[3][0-1])\\/(Jan|Feb|Mar|May|Apr|Jul|Jun|Aug|Oct|Sep|Nov|Dec|jan|feb|mar|may|apr|jul|jun|aug|oct|sep|nov|dec)\\/((19|20)[0-9][0-9]))\\s((\\d)|([0-1]\\d)|(2[0-4])):[0-5][0-9]:[0-5][0-9])
MMM dd yyyy HH:MM:SS (((?:Jan(?:uary)?|Feb(?:ruary)?|Mar(?:ch)?|Apr(?:il)?|May|Jun(?:e)?|Jul(?:y)?|Aug(?:ust)?|Sep(?:tember)?|Sept|Oct(?:ober)?|Nov(?:ember)?|Dec(?:ember)?)).*?((?:(?:[0-2]?\\d{1})|(?:[3][01]{1})))(?![\\d]).*?((?:(?:[1]{1}\\d{1}\\d{1}\\d{1})|(?:[2]{1}\\d{3})))(?![\\d]).*?((?:(?:[0-1][0-9])|(?:[2][0-3])|(?:[0-9])):(?:[0-5][0-9])(?::[0-5][0-9])?(?:\\s?(?:am|AM|pm|PM))?))
yyMMdd HH:mm:ss ([0-9]{2}([0][1-9]|[1][0-2])([0-2][0-9]|[3][0-1])\\s\\s?([0-1]?[0-9]|[2][0-3]):[0-5][0-9]:[0-5][0-9])
ddMMyy HH:mm:ss (([0-2][0-9]|[3][0-1])([0][1-9]|[1][0-2])[0-9]{2}\\s\\s?([0-1]?[0-9]|[2][0-3]):[0-5][0-9]:[0-5][0-9])
MMM d HH:mm:ss (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s\\s?([0]?[1-9]|[1-2][0-9]|[3][0-1])\\s([0-1]?[0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9])
MMM d HH:mm:ss
dvě mezery za MMM
(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s\\s([0]?[1-9]|[1-2][0-9]|[3][0-1])\\s([0][0-9]|[1][0-2]):([0-5][0-9]):([0-5][0-9])
MMM d HH:mm:ss (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s([0]?[1-9]|[1-2][0-9]|[3][0-1])\\s([0][0-9]|[1][0-2]):([0-5][0-9]):([0-5][0-9])
dd/MMM/yyyy:HH:mm:ss +zzzz
kde + je + nebo -
kde posun času zzzz
(([0-2][1-9]|[3][0-1])\\/(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\/((19|20)[0-9][0-9]):([0][0-9]|[1][0-2]):([0-5][0-9]):([0-5][0-9])\\s[\\+|\\-][0-9]{4})
yyyy-MM-ddTHH:mm:ss
T je literál T.
((\\d{2})|(\\d{4}))-([0-1]\\d)-(([0-3]\\d)|(\\d))T((\\d)|([0-1]\\d)|(2[0-4])):[0-5][0-9]:[0-5][0-9]

Řešení potíží

Když vytvoříte pracovní prostor, který byl odstraněn během posledních 14 dnů a je ve stavu obnovitelného odstranění, může mít operace jiný výsledek v závislosti na konfiguraci pracovního prostoru. Příklad:

  • Pokud zadáte stejný název pracovního prostoru, skupinu prostředků, předplatné a oblast jako v odstraněném pracovním prostoru, pracovní prostor se obnoví. Obnovený pracovní prostor zahrnuje data, konfiguraci a připojené agenty.

  • Název pracovního prostoru musí být jedinečný pro každou skupinu prostředků. Pokud použijete název pracovního prostoru, který už existuje a je také ve vaší skupině prostředků v obnovitelném odstranění, zobrazí se chyba. V této chybě se zobrazí stav "Název pracovního prostoru není jedinečný" nebo "konflikt". Pokud chcete obnovitelné odstranění přepsat, trvale odstranit pracovní prostor a vytvořit nový pracovní prostor se stejným názvem, nejprve ho obnovte následujícím postupem a pak proveďte trvalé odstranění:

    • Obnovte pracovní prostor.
    • Trvale odstraňte tento pracovní prostor.
    • Vytvořte nový pracovní prostor se stejným názvem.

Další kroky

Další informace o použití PowerShellu ke konfiguraci Log Analytics najdete v tématu Rutiny PowerShellu pro Log Analytics.