Share via


Container Insights에서 Syslog 수집

컨테이너 인사이트는 AKS(Azure Kubernetes Service) 클러스터의 Linux 노드에서 Syslog 이벤트를 수집하는 기능을 제공합니다. 여기에는 kubelet과 같은 컨트롤 플레인 구성 요소에서 로그를 수집하는 기능이 포함됩니다. 고객은 일반적으로 Microsoft Sentinel과 같은 SIEM 시스템에 syslog를 수집하여 보안 및 상태 이벤트를 모니터링하는 데 Syslog를 사용할 수도 있습니다.

필수 조건

Syslog를 사용하도록 설정하는 방법

Azure Portal에서

클러스터로 이동합니다. 클러스터의 인사이트 탭을 엽니다. 모니터 설정 패널을 엽니다. 컬렉션 설정 편집을 클릭한 다음, Syslog 컬렉션 사용 상자를 선택합니다.

Screen recording of syslog being enabled from the Azure portal through the Monitor Settings panel in Container Insights.

Azure CLI 명령 사용

Azure CLI에서 다음 명령을 사용하여 새 AKS 클러스터를 만들 때 syslog 컬렉션을 사용하도록 설정합니다.

az aks create -g syslog-rg -n new-cluster --enable-managed-identity --node-count 1 --enable-addons monitoring --enable-msi-auth-for-monitoring --enable-syslog --generate-ssh-key

Azure CLI에서 다음 명령을 사용하여 기존 AKS 클러스터에서 syslog 컬렉션을 사용하도록 설정합니다.

az aks enable-addons -a monitoring --enable-msi-auth-for-monitoring --enable-syslog -g syslog-rg -n existing-cluster

ARM 템플릿 사용

ARM 템플릿을 사용하여 syslog 컬렉션을 사용하도록 설정할 수도 있습니다.

  1. GitHub 콘텐츠 파일에서 템플릿을 다운로드하고 existingClusterOnboarding.json으로 저장합니다.

  2. GitHub 콘텐츠 파일에서 매개 변수 파일을 다운로드하고 existingClusterParam.json으로 저장합니다.

  3. 매개 변수 파일의 값을 편집합니다.

    • aksResourceId: AKS 클러스터에 대한 AKS 개요 페이지의 값을 사용합니다.
    • aksResourceLocation: AKS 클러스터에 대한 AKS 개요 페이지의 값을 사용합니다.
    • workspaceResourceId: Log Analytics 작업 영역의 리소스 ID를 사용합니다.
    • resourceTagValues: 클러스터의 기존 컨테이너 인사이트 확장 DCR(데이터 수집 규칙)에 대해 지정된 기존 태그 값과 DCR의 이름을 일치시킵니다. 이름은 MSCI-<clusterName>-<clusterRegion>이며 이 리소스는 AKS 클러스터 리소스 그룹에 만들어집니다. 처음 온보딩하는 경우 임의 태그 값을 설정할 수 있습니다.
    • enableSyslog: True로 설정합니다.
    • syslogLevels: 수집할 syslog 수준 배열입니다. 기본값은 모든 수준을 수집합니다.
    • syslogFacilities: 수집할 syslog 시설의 배열입니다. 기본값은 모든 시설을 수집합니다.

참고 항목

Syslog 수준 및 시설 사용자 지정은 현재 ARM 템플릿을 통해서만 사용 가능합니다.

템플릿 배포

Resource Manager 템플릿을 배포하는 유효한 방법을 사용하여 매개 변수 파일과 함께 템플릿을 배포합니다. 다른 방법의 예는 샘플 템플릿 배포를 참조하세요.

Azure PowerShell을 사용하여 배포

New-AzResourceGroupDeployment -Name OnboardCluster -ResourceGroupName <ResourceGroupName> -TemplateFile .\existingClusterOnboarding.json -TemplateParameterFile .\existingClusterParam.json

구성 변경을 완료하려면 몇 분 정도 걸릴 수 있습니다. 완료되면 다음 예제와 유사한 메시지에 이 결과가 포함됩니다.

provisioningState       : Succeeded

Azure CLI를 사용하여 배포

az login
az account set --subscription "Subscription Name"
az deployment group create --resource-group <ResourceGroupName> --template-file ./existingClusterOnboarding.json --parameters @./existingClusterParam.json

구성 변경을 완료하려면 몇 분 정도 걸릴 수 있습니다. 완료되면 다음 예제와 유사한 메시지에 이 결과가 포함됩니다.

provisioningState       : Succeeded

Syslog 데이터에 액세스하는 방법

기본 제공 통합 문서를 사용하여 액세스

syslog 데이터의 빠른 스냅샷을 가져오려면 고객은 Microsoft의 기본 제공 Syslog 통합 문서를 사용하면 됩니다. 기본 제공 통합 문서에 액세스하는 방법에는 두 가지가 있습니다.

옵션 1 - 컨테이너 인사이트의 보고서 탭. 클러스터로 이동합니다. 클러스터의 인사이트 탭을 엽니다. 보고서 탭을 열고 Syslog 통합 문서를 찾습니다.

Video of Syslog workbook being accessed from Container Insights Reports tab.

옵션 2 - AKS의 통합 문서 탭에서 클러스터로 이동. 클러스터의 통합 문서 탭을 열고 Syslog 통합 문서를 찾습니다.

Video of Syslog workbook being accessed from cluster workbooks tab.

Grafana 대시보드를 사용하여 액세스

고객은 Microsoft의 Grafana용 Syslog 대시보드를 사용하여 Syslog 데이터의 개요를 가져올 수 있습니다. 새 Azure Managed Grafana 인스턴스를 만드는 고객은 기본적으로 이 대시보드를 사용할 수 있습니다. 기존 인스턴스가 있거나 자체 인스턴스를 실행하는 고객은 Grafana 마켓플레이스에서 Syslog 대시보드를 가져올 수 있습니다.

참고 항목

컨테이너 인사이트에서 syslog에 액세스하려면 Azure Managed Grafana 인스턴스가 포함된 구독에 대한 모니터링 reader 역할이 있어야 합니다.

Screenshot of Syslog Grafana dashboard.

로그 쿼리를 사용하여 액세스

Syslog 데이터는 Log Analytics 작업 영역의 Syslog 테이블에 저장됩니다. Log Analytics에서 고유한 로그 쿼리를 만들어 이 데이터를 분석하거나 미리 빌드된 쿼리를 사용할 수 있습니다.

Screenshot of Syslog query loaded in the query editor in the Azure Monitor Portal UI.

모니터 메뉴의 로그 메뉴에서 Log Analytics를 열어 모든 클러스터의 Syslog 데이터에 액세스하거나 AK 클러스터 메뉴에서 해당 클러스터의 Syslog 데이터에만 액세스할 수 있습니다.

Screenshot of Query editor with Syslog query.

샘플 쿼리

다음 표에는 Syslog 레코드를 검색하는 로그 쿼리의 여러 예제가 나와 있습니다.

쿼리 설명
Syslog 모든 Syslog
Syslog | where SeverityLevel == "error" 심각도가 오류인 모든 Syslog 레코드
Syslog | summarize AggregatedValue = count() by Computer 컴퓨터별 Syslog 레코드 수
Syslog | summarize AggregatedValue = count() by Facility 기능별 Syslog 레코드 수
Syslog | where ProcessName == "kubelet" kubelet 프로세스의 모든 Syslog 레코드
Syslog | where ProcessName == "kubelet" and SeverityLevel == "error" 오류가 있는 kubelet 프로세스의 Syslog 레코드

Syslog 컬렉션 설정 편집

Syslog 컬렉션 구성을 수정하려면 사용하도록 설정할 때 생성된 DCR(데이터 수집 규칙)을 수정합니다.

Azure Portal의 모니터 메뉴에서 데이터 수집 규칙을 선택합니다.

Screenshot of Data Collection Rules tab in the Azure Monitor portal UI.

DCR을 선택한 다음, 데이터 원본 보기를 선택합니다. Linux Syslog 데이터 원본을 선택하여 Syslog 컬렉션 세부 정보를 봅니다.

참고 항목

Syslog를 사용하도록 설정하면 DCR이 자동으로 생성됩니다. DCR은 명명 규칙 MSCI-<WorkspaceRegion>-<ClusterName>을 따릅니다.

Screenshot of Data Sources tab for Syslog data collection rule.

수집하려는 각 시설에 대한 최소 로그 수준을 선택합니다.

Screenshot of Configuration panel for Syslog data collection rule.

다음 단계

설치 후 고객은 Syslog 데이터를 선택한 도구로 보낼 수 있습니다.

자세히 알아보기

https://forms.office.com/r/BBvCjjDLTS에서 이 기능에 대한 피드백을 공유하세요.