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:
- Vytvoření pracovního prostoru.
- Povolte shromažďování protokolů služby IIS z počítačů s nainstalovaným agentem systému Windows.
- 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).
- Shromážděte události Syslogu z počítačů s Linuxem.
- Shromážděte události chyb a upozornění z protokolu událostí aplikace z počítačů s Windows.
- Shromážděte čítač výkonu dostupné paměti Mbytes z počítačů s Windows.
- 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.