Azure Monitor Log Analytics 작업 영역에서 운영 문제 모니터링

Azure Monitor에서 Log Analytics 작업 영역의 성능 및 가용성을 유지 관리하려면 발생하는 모든 문제를 사전에 검색할 수 있어야 합니다. 이 문서에서는 Operation 테이블의 데이터를 사용하여 Log Analytics 작업 영역의 상태를 모니터링하는 방법을 설명합니다. 이 테이블은 모든 Log Analytics 작업 영역에 포함됩니다. 작업 영역에서 발생하는 오류 메시지 및 경고가 포함되어 있습니다. 경고 및 오류 수준의 문제에 대한 경고를 만드는 것이 좋습니다.

필수 사용 권한

예를 들어, Log Analytics 읽기 권한자 기본 제공 역할에서 제공하는 것처럼 쿼리하는 Log Analytics 작업 영역에 대한 Microsoft.OperationalInsights/workspaces/query/*/read 권한이 있어야 합니다.

_LogOperation 함수

Azure Monitor 로그는 모든 문제에 대한 정보를 문제가 발생한 작업 영역의 Operation 테이블로 보냅니다. _LogOperation 시스템 함수는 작업 테이블을 기반으로 하며 분석 및 경고를 위한 간소화된 정보 집합을 제공합니다.

함수는 _LogOperation 다음 표의 열을 반환합니다.

설명
TimeGenerated 인시던트가 발생한 시간(UTC)입니다.
범주 작업 범주 그룹입니다. 작업 유형을 필터링하고 보다 정확한 시스템 감사 및 경고를 만드는 데 사용할 수 있습니다. 범주 목록은 다음 섹션을 참조하세요.
연산 작업 유형의 설명입니다. 이 작업은 Log Analytics 제한 중 하나에 도달함, 백 엔드 프로세스 관련 문제 또는 기타 서비스 메시지를 나타낼 수 있습니다.
수준 문제의 심각도 수준:
- 정보: 특정 주의가 필요하지 않습니다.
- 경고: 프로세스가 예상대로 완료되지 않았으며 주의가 필요합니다.
- 오류: 프로세스가 실패했으며 주의가 필요합니다.
세부 정보 작업에 대한 자세한 설명에는 특정 오류 메시지가 포함됩니다.
_ResourceId 작업과 관련된 Azure 리소스의 리소스 ID입니다.
컴퓨터 작업이 Azure Monitor 에이전트와 관련된 경우 컴퓨터 이름입니다.
CorrelationId 연속적인 관련 작업을 그룹화하는 데 사용됩니다.

범주

다음 표는 _LogOperation 함수의 범주를 설명합니다.

범주 설명
수집 데이터 수집 프로세스의 일부인 작업입니다.
에이전트 에이전트 설치 관련 문제를 나타냅니다.
데이터 수집 데이터 수집 프로세스와 관련된 작업.
솔루션 대상 지정 형식 ConfigurationScope 작업이 처리되었습니다.
평가 솔루션 평가 프로세스가 실행되었습니다.

수집

수집 작업은 데이터 수집 중에 발생한 문제이며 Log Analytics 작업 영역 제한 도달에 대한 알림을 포함합니다. 이 범주의 오류 조건은 데이터 손실을 나타낼 수 있으므로 모니터링하는 것이 중요합니다. Log Analytics 작업 영역에 대한 서비스 제한은 Azure Monitor 서비스 제한을 참조하세요.

Important

Azure Monitor 에이전트 또는 로그 수집 API와 같은 DCR(데이터 수집 규칙)을 사용하는 시나리오에 대한 데이터 수집 문제를 해결하는 경우 추가 문제 해결 정보는 Azure Monitor에서 DCR 데이터 수집 모니터링 및 문제 해결을 참조하세요.

작업: 데이터 수집이 중지되었습니다.

"무료 데이터의 일일 제한에 도달하여 데이터 수집이 중지되었습니다. 수집 상태 = OverQuota"

지난 7일 동안 로그 컬렉션이 일별 설정 한도에 도달했습니다. 작업 영역이 무료 계층으로 설정되었거나 이 작업 영역에 대해 일일 수집 제한이 구성되었으므로 제한이 설정됩니다. 데이터 수집이 설정된 한도에 도달하면 하루 동안 자동으로 중지되고 다음에 수집할 때 다시 시작됩니다.

권장 작업은 다음과 같습니다.

  • 컬렉션 중지 및 컬렉션 다시 시작 이벤트에 대한 _LogOperation 테이블을 확인합니다.
    _LogOperation | where TimeGenerated >= ago(7d) | where Category == "Ingestion" | where Detail has "Data collection"
  • "데이터 수집이 중지됨" 작업 이벤트에 대한 경고를 만듭니다. 이 경고는 컬렉션 한도에 도달하면 알려 줍니다.
  • 일별 컬렉션 한도에 도달한 후 수집된 데이터는 손실됩니다. 작업 영역 인사이트 창을 사용하여 각 원본의 사용률을 검토합니다. 또는 최대 일별 데이터 볼륨을 관리하거나 가격 책정 계층을 변경하여 컬렉션 요금 패턴에 적합한 가격 책정으로 결정할 수 있습니다.
  • 데이터 수집 비율은 일 단위로 계산되며 다음 날 시작 시 초기화됩니다. "데이터 수집 다시 시작됨" 작업 이벤트에 대한 경고를 만들기하여 컬렉션 다시 시작 이벤트를 모니터링할 수도 있습니다.

작업: 수집 속도

"데이터 수집 볼륨 속도가 작업 영역의 임계값을 초과했습니다. {0:0.00} 1분당 MB이고 데이터가 삭제되었습니다."

권장 작업은 다음과 같습니다.

  • 처리율 이벤트에 대한 _LogOperation 테이블 확인:
    _LogOperation | where TimeGenerated >= ago(7d) | where Category == "Ingestion" | where Operation has "Ingestion rate"
    임계값이 계속 초과되는 동안 6시간마다 이벤트가 작업 영역의 Operation 테이블로 전송됩니다.
  • "데이터 수집이 중지됨" 작업 이벤트에 대한 경고를 만듭니다. 이 경고는 한도에 도달하면 알려 줍니다.
  • 수집률이 100%에 도달한 동안 수집된 데이터는 삭제되고 손실됩니다. 작업 영역 인사이트 창을 사용하여 사용 패턴을 검토하고 패턴을 줄입니다.
    자세한 내용은
    을 참조하세요.

작업: 최대 테이블 열 수

"<테이블 이름> 형식의 데이터는 <새 필드 수> 필드 수가 데이터 형식당 <현재 필드 수 제한> 사용자 지정 필드 한도를 초과했기 때문에 삭제되었습니다."

권장 작업: 사용자 지정 테이블의 경우 쿼리에서 데이터 구문 분석으로 이동할 수 있습니다.

작업: 필드 콘텐츠 유효성 검사

"형식 <테이블 이름>의 다음 필드 값 <필드 이름>이 최대 허용 크기인 <필드 크기 제한> 바이트로 잘렸습니다. 이에 따라 입력을 조정하세요.”

제한 크기보다 큰 필드가 Azure 로그에서 처리되었습니다. 필드가 허용된 필드 제한으로 잘렸습니다. 데이터 손실이 발생할 수 있으므로 허용된 제한보다 큰 필드를 보내지 않는 것이 좋습니다.

권장 작업은 다음과 같습니다.

영향을 받는 데이터 형식의 원본을 확인합니다.

  • 데이터가 HTTP Data Collector API를 통해 전송되는 경우 데이터를 수집하기 전에 분할하도록 code\script를 변경해야 합니다.
  • Log Analytics 에이전트에서 수집한 사용자 지정 로그의 경우 애플리케이션 또는 도구의 로깅 설정을 변경합니다.
  • 다른 데이터 형식의 경우 지원 사례를 발생합니다. 자세한 내용은 Azure Monitor 서비스 제한을 참조하세요.

데이터 수집

다음 섹션에서는 데이터 수집에 대한 정보를 제공합니다.

작업: Azure 활동 로그 컬렉션

"구독에 대한 액세스가 손실되었습니다. 구독 ID 구독이 <<테넌트 ID>> Microsoft Entra 테넌트에 있는지 확인합니다. 구독이 다른 테넌트에 전송되는 경우 서비스에 영향을 주지 않지만 테넌트에 대한 정보가 전파되는 데 최대 1시간이 걸릴 수 있습니다."

구독을 다른 테넌트로 이동하는 것과 같은 일부 상황에서는 Azure 활동 로그가 작업 영역으로 흐르는 것을 중지할 수 있습니다. 이러한 상황에서는 이 문서에 설명된 프로세스에 따라 구독을 다시 연결해야 합니다.

권장 작업은 다음과 같습니다.

  • 경고 메시지에 멘션 구독이 더 이상 없으면 클래식 아래레거시 활동 로그 커넥터 창으로 이동합니다. 관련 구독을 선택한 다음 연결 끊기 단추를 선택합니다.
  • 더 이상 경고 메시지에 멘션 구독에 액세스할 수 없는 경우:
    • 이전 단계에 따라 구독 연결을 끊습니다.
    • 이 구독에서 로그를 계속 수집하려면 구독 소유자에게 문의하여 사용 권한을 수정하고 활동 로그 수집을 다시 사용하도록 설정합니다.
  • 활동 로그를 Log Analytics 작업 영역으로 전송하는 진단 설정을 만듭니다.

에이전트

다음 섹션에서는 에이전트에 대한 정보를 제공합니다.

작업: Linux 에이전트

"OMS 설정의 연속 구성 애플리케이션 두 개가 실패했습니다."

포털의 구성 설정이 변경되었습니다.

권장 작업 에이전트에서 새 구성 설정을 검색하는 데 문제가 있는 경우 이 문제가 발생합니다. 이 문제를 완화하려면 에이전트를 다시 설치합니다. 에이전트 이벤트에 대한 _LogOperation 테이블을 확인합니다.

_LogOperation | where TimeGenerated >= ago(6h) | where Category == "Agent" | where Operation == "Linux Agent" | distinct _ResourceId

목록에는 에이전트의 구성이 잘못된 리소스 ID가 표시됩니다. 문제를 완화하려면 나열된 에이전트를 다시 설치합니다.

경고 규칙

Azure Monitor의 로그 검색 경고를 사용하여 Log Analytics 작업 영역에서 문제가 감지되면 사전에 알림을 받습니다. 비용을 최소화하면서 문제에 적시에 대응할 수 있는 전략을 사용합니다. 구독은 Azure Monitor 가격 책정에 나열된 대로 각 경고 규칙에 대해 요금이 청구됩니다.

권장되는 전략은 문제 수준에 따라 두 개의 경고 규칙으로 시작하는 것입니다. 오류의 경우 5분마다, 경고의 경우 24시간과 같이 더 긴 빈도와 같은 짧은 빈도를 사용합니다. 오류는 잠재적 데이터 손실을 나타내므로 신속하게 대응하여 손실을 최소화하려고 합니다. 경고는 일반적으로 즉각적인 주의가 필요하지 않은 문제를 나타내므로 매일 검토할 수 있습니다.

Azure Monitor사용하여 로그 검색 경고 규칙을 만들어 로그 검색 경고 만들기, 보기 및 관리의 프로세스를 사용합니다. 다음 섹션에서는 각 규칙에 대한 세부 정보를 설명합니다.

쿼리 임계값 Period 빈도
_LogOperation | where Level == "Error" 0 5 5
_LogOperation | where Level == "Warning" 0 1,440 1,440

이러한 경고 규칙은 오류 또는 경고를 사용하여 모든 작업에 동일하게 응답합니다. 경고를 생성하는 작업에 더 익숙해짐에 따라 특정 작업에 다르게 대응하려고 할 수 있습니다. 예를 들어, 특정 작업에 관한 알림을 다른 사용자에게 보내려고 할 수 있습니다.

특정 작업에 대한 경고 규칙을 만들려면 범주작업 열을 포함하는 쿼리를 사용합니다.

다음 예에서는 수집 볼륨 비율이 한도의 80%에 도달했을 때 경고를 만듭니다.

  • 대상: Log Analytics 작업 영역 선택
  • 기준:
    • 신호 이름: 사용자 지정 로그 검색
    • 검색 쿼리: _LogOperation | where Category == "Ingestion" | where Operation == "Ingestion rate" | where Level == "Warning"
    • 기준: 결과 수
    • 조건: 보다 큼
    • 임계값: 0
    • 기간: 5(분)
    • 빈도: 5(분)
  • 경고 규칙 이름: 일일 데이터 한계 도달
  • 심각도: 경고(세브 1)

다음 예에서는 데이터 수집이 일일 한도에 도달했을 때 경고를 만듭니다.

  • 대상: Log Analytics 작업 영역 선택
  • 기준:
    • 신호 이름: 사용자 지정 로그 검색
    • 검색 쿼리: _LogOperation | where Category == "Ingestion" | where Operation == "Data collection Status" | where Level == "Warning"
    • 기준: 결과 수
    • 조건: 보다 큼
    • 임계값: 0
    • 기간: 5(분)
    • 빈도: 5(분)
  • 경고 규칙 이름: 일일 데이터 한계 도달
  • 심각도: 경고(세브 1)

다음 단계