안녕하세요.
이번 포스팅은 Log Analytics에서 사용할 Azure 서비스 로그 및 메트릭 수집에 대한 내용입니다. Log Analytics에서 Azure 서비스에 대한 로그와 메트릭을 수집하는 방법에는 다음과 같이 4가지 방법이 있습니다.
1. 로그 분석 직접 전달 (다음 표의 진단 참조).
2. Analytics 분석을 위해 Azure 스토리지에 대한 진단 수행 (다음 표에 저장 참조)
3. Azure 서비스용 커넥터 (다음 표의 커넥터 참조)
4. 로그 분석을 수집하고 데이터를 게시하는 스크립트 (다음 표의 공란과 나열되지 않은 서비스)
Service | Resource Type | Logs | Metrics | Solution |
Application gateways | Microsoft.Network/applicationGateways | Diagnostics | Diagnostics | Azure Application Gateway Analytics |
Application insights | Connector | Connector | Application Insights Connector (Preview) | |
Automation accounts | Microsoft.Automation/AutomationAccounts | Diagnostics | More information | |
Batch accounts | Microsoft.Batch/batchAccounts | Diagnostics | Diagnostics | |
Classic cloud services | Storage | More information | ||
Cognitive services | Microsoft.CognitiveServices/accounts | Diagnostics | ||
Data Lake analytics | Microsoft.DataLakeAnalytics/accounts | Diagnostics | ||
Data Lake store | Microsoft.DataLakeStore/accounts | Diagnostics | ||
Event Hub namespace | Microsoft.EventHub/namespaces | Diagnostics | Diagnostics | |
IoT Hubs | Microsoft.Devices/IotHubs | Diagnostics | ||
Key Vault | Microsoft.KeyVault/vaults | Diagnostics | KeyVault Analytics | |
Load Balancers | Microsoft.Network/loadBalancers | Diagnostics | ||
Logic Apps | Microsoft.Logic/workflows | Diagnostics | Diagnostics | |
Microsoft.Logic/integrationAccounts | ||||
Network Security Groups | Microsoft.Network/networksecuritygroups | Diagnostics | Azure Network Security Group Analytics | |
Recovery vaults | Microsoft.RecoveryServices/vaults | Azure Recovery Services Analytics (Preview) | ||
Search services | Microsoft.Search/searchServices | Diagnostics | Diagnostics | |
Service Bus namespace | Microsoft.ServiceBus/namespaces | Diagnostics | Diagnostics | Service Bus Analytics (Preview) |
Service Fabric | Storage | Service Fabric Analytics (Preview) | ||
SQL (v12) | Microsoft.Sql/servers/databases | Diagnostics | Azure SQL Analytics (Preview) | |
Microsoft.Sql/servers/elasticPools | ||||
Storage | Script | Azure Storage Analytics (Preview) | ||
Virtual Machines | Microsoft.Compute/virtualMachines | Extension | Extension | |
Diagnostics | ||||
Virtual Machines scale sets | Microsoft.Compute/virtualMachines | Diagnostics | ||
Microsoft.Compute/virtualMachineScaleSets/virtualMachines | ||||
Web Server farms | Microsoft.Web/serverfarms | Diagnostics | ||
Web Sites | Microsoft.Web/sites | Diagnostics | Azure Web Apps Analytics (Preview) | |
Microsoft.Web/sites/slots |
중요: Azure 가상 시스템 (Linux 및 Windows 모두)을 모니터링하려면 Log Analytics VM 확장을 설치하는 것이 좋습니다. 에이전트는 가상 시스템 내에서 수집 된 통찰력을 제공하며 가상 시스템 스케일 세트에 확장을 사용할 수도 있습니다. |
Azure 진단을 Log Analytics으로 바로 연결
많은 Azure 리소스는 진단 로그 및 메트릭을 Log Analytics에 직접 기록 할 수 있으며, 분석을 위해 데이터를 수집하는 기본 방법입니다. Azure 진단을 사용하면 데이터가 Log Analytics에 즉시 기록되므로 데이터를 먼저 저장 장치에 쓸 필요가 없습니다.
Azure 모니터를 지원하는 Azure 리소스는 로그 및 메트릭을 Log Analytics로 직접 보낼 수 있습니다
• 사용 가능한 메트릭에 대한 자세한 내용은 Azure Monitor에서 지원되는 메트릭을 참조
• 사용 가능한 로그에 대한 자세한 내용은 진단 로그에 대한 지원되는 서비스 및 스키마를 참조
PowerShell로 진단 기능 사용
Azure PowerShell의 2016 년 11월 이후 릴리스(v2.3.0 이상)가 필요합니다.
다음 PowerShell 예제에서는 Set-AzureRmDiagnosticSetting을 사용하여 네트워크 보안 그룹에서 진단을 사용하는 방법을 보여줍니다. 동일한 접근 방식이 지원되는 모든 자원에 대해 작동합니다. $resourceId를 진단을 활성화하려는 자원의 자원 ID로 설정하십시오.
$workspaceId = "/subscriptions/d2e37fee-1234-40b2-5678-0b2199de3b50/resourcegroups/oi-default-east-us/providers/microsoft.operationalinsights/workspaces/rollingbaskets" $resourceId = "/SUBSCRIPTIONS/ec11ca60-1234-491e-5678-0ea07feae25c/RESOURCEGROUPS/DEMO/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYGROUPS/DEMO" Set-AzureRmDiagnosticSetting -ResourceId $ResourceId -WorkspaceId $workspaceId -Enabled $true |
예를 들어 리소스에 진단을 사용하는 경우 먼저 다음 Powershell을 통해 workspaceID를 확인합니다.
Get-AzureRmResource |where-object {$_.Name -eq "Log Analytics 이름"} |
따라서, 다음과 같이 변수에 workspaceID를 저장할 수 있습니다.
$workspaceId = (Get-AzureRmResource |where-object {$_.Name -eq "Log Analytics 이름"}).ResourceId |
이제 진단을 활성화하려는 리소스의 자원ID를 확인합니다.
Get-AzureRmResource |where-object {$_.Name -eq "리소스 이름"} |
이후, 위와 마찬가지의 방법으로 리소스 ID를 저장합니다.
$resourceId = (Get-AzureRmResource |where-object {$_.Name -eq "리소스 이름"}).ResourceId |
이제 명령어를 통해 진단을 활성화합니다.
Set-AzureRmDiagnosticSetting -ResourceId $ResourceId -WorkspaceId $workspaceId -Enabled $true |
Resource Manager 템플릿에 진단 사용
리소스가 생성 될 때 진단 기능을 활성화하고 진단 도구를 Log Analytics 작업 영역으로 보내도록 구성하려먼 다음 예제 형식과 유사한 템플릿을 사용할 수 있습니다. 이 예제는 자동화 계정용이지만 지원되는 모든 리소스 유형에서 작동합니다.
[템플릿 예]
{ |
Azure 진단 문제 해결
만약 진단 설정 시 다음과 같은 문제가 발생되는 경우 Microsoft.insights 리소스 공급자가 등록되지 않은 것입니다.
Failed to update diagnostics for 'resource'. {"code":"Forbidden","message":"Please register the subscription 'subscription id' with Microsoft.Insights."} |
리소스 공급자를 클릭하여 Microsoft.insights 공급자를 검색하여 등록 버튼을 클릭합니다.
<등록 후 화면>
또는 다음 Powershell 스크립트를 통해서도 해당 구독에 리소스 공급자를 등록할 수 있습니다.
Get-AzureRmResourceProvider | Where-Object {$_.ProviderNamespace -like "Microsoft.OperationalInsights"} | Register-AzureRmResourceProvider |
Microsoft.insights 리소스 공급자가 등록되면 다시 진단 구성을 시도하십시오.
만일, PowerShell에서 다음과 같은 오류 메시지가 나타나면 PowerShell 버전을 2016 년 11 월 버전 또는 그 이후 릴리스(v2.3.0 이상)로 업데이트 후 다시 시도해야 합니다.
Set-AzureRmDiagnosticSetting : A parameter cannot be found that matches parameter name 'WorkspaceId' |
저장소에 저장된 Azure 진단에 대한 로그 분석
일부 리소스에서 로그를 수집하려면 로그를 Azure 스토리지로 전송한 다음 로그 분석이 스토리지에서 로그를 읽도록 구성 할 수 있습니다. Log Analytics는이 방법을 사용하여 Azure 저장소에서 다음 리소스와 로그에 대한 진단 정보를 수집 할 수 있습니다.
리소스 | 로그 |
Service Fabric | ETWEvent |
Operational Event | |
Reliable Actor Event | |
Reliable Service Event | |
Virtual Machines | Linux Syslog |
Windows Event | |
IIS Log | |
Windows ETWEvent | |
Web Roles Worker Roles |
Linux Syslog |
Windows Event | |
IIS Log | |
Windows ETWEvent |
중요: Log Analytics에서 이러한 로그를 수집하는 방법에 대한 자세한 내용은 로그 분석을 사용하여 IIS 용 Azure blob 스토리지 및 Azure 테이블 스토리지 사용을 참조하십시오. |
Azure 서비스용 커넥터
Log Analytics에는 Application Insights 전용 커넥터가 있어 Application Insights에서 수집한 데이터를 바로 Log Analytics로 보낼 수 있습니다. 자세한 내용은 다음 페이지를 참고하여야 합니다.
Application Insights Connector in OMS
Log Analytics에 데이터를 수집하고 게시하는 스크립트
Log Analytics에 로그 및 메트릭을 전송하는 직접적인 방법을 제공하지 않는 Azure 서비스의 경우 Azure 자동화 스크립트를 사용하여 로그 및 메트릭을 수집할 수 있습니다. 스크립트는 Data Collector API를 사용하여 로그 분석에 데이터를 전송할 수 있습니다
Azure 템플릿 갤러리를 통해 Azure Automation을 사용하여 서비스에서 데이터를 수집하고이를 Log Analytics로 보내는 예제를 참고할 수 있습니다.
이상으로 Log Analytics에서 사용할 Azure 서비스 로그 및 메트릭 수집에 대한 포스팅을 마칩니다.
감사합니다.
이 포스팅은 다음 페이지의 글을 번역 및 참고하여 작성하였습니다.
https://docs.microsoft.com/en-us/azure/log-analytics/log-analytics-azure-storage
'Cloud > Operations Manager Suite' 카테고리의 다른 글
Log Analytics을 사용하여 Azure PaaS 리소스 메트릭 수집 구성 (0) | 2018.01.25 |
---|---|
Windows 컴퓨터를 Azure Log Analytics에 연결하는 방법 (0) | 2018.01.22 |
Azure 포털에서 Log Analytics 만들기 (0) | 2018.01.21 |