다음을 통해 공유


AKS에 대한 비용 효율적인 경고 전략

경고는 AKS(Azure Kubernetes Service)에서 워크로드를 모니터링하는 데 중요한 부분입니다. 고급 경고를 사용하려면 Log Analytics 작업 영역에서 분석 계층 로그 가 필요하지만 대용량 환경 또는 감사 로그와 같은 특정 유형의 로그에는 비용이 많이 들 수 있습니다.

컨테이너 로그를 보관하는 테이블을 기본 로그로 변환하고 Log Analytics 플랫폼의 다른 비용 효율적인 전략을 활용하여 데이터 수집 비용을 크게 줄일 수 있습니다. Azure Monitor는 이러한 테이블에서 이벤트 기반 및 요약 기반 경고를 위한 옵션을 제공하므로 AKS 워크로드의 상태 및 동작에 대한 가시성을 희생하지 않고도 비용을 더 많이 제어할 수 있습니다.

이 문서에서는 비용 효율적인 로그 구성으로 모니터링되는 AKS 워크로드에 대한 경고를 위한 여러 전략을 설명합니다. 이러한 권장 사항은 운영 요구 사항 및 SLO(서비스 수준 목표)를 충족하는 동시에 비용 및 성능의 균형을 맞추는 데 도움이 됩니다.

다음 표에는 사용 시기 및 가장 적합한 테이블을 포함하여 이 문서에서 설명하는 전략이 요약되어 있습니다.

전략 사용 시기
관리되는 Prometheus 경고 메트릭을 사용할 수 있는 경우(특히 Pod, 노드 또는 컨테이너 상태). 메트릭은 가능한 한 경고에 대한 첫 번째 선택이어야 합니다. 이러한 경고는 실시간, 확장성 및 비용 효율적입니다. 메트릭을 사용할 수 없는 경우에만 로그 경고를 사용합니다.
간단한 로그 검색 경고 규칙(미리 보기) 메트릭에서 사용할 수 없는 특정 메시지 또는 패턴을 모니터링해야 하는 경우 이러한 경고는 무단 액세스 오류 또는 에이전트 오류에 대한 경고와 같이 복잡성이 낮은 빠른 발생별 로그 기반 경고입니다. 로그 콘텐츠가 오류에 대한 명확한 중요한 컨텍스트를 전달하는 경우 가장 효과적입니다.
요약 규칙 시간 경과에 따라 집계를 수행해야 하는 경우(예: 오류 이벤트 계산 또는 컨테이너 ID와 같은 차원별 그룹화) 간단한 경고가 요구 사항에 충분하지 않은 경우 요약 규칙을 사용합니다. 이는 특정 패턴, 분당 오류 수와 같은 속도 또는 간단한 경고 또는 메트릭으로 쉽게 발견되지 않는 특정 측정값(예: 반복된 CrashLoopBackOffs 또는 >분당 10개 실패)의 추세 방향에 대해 경고할 수 있습니다.
변환이 있는 분석 계층 요약 규칙과 같은 다른 방법이 너무 느리거나 세분화되지 않은 경우 고가용성 로그 데이터에 대한 거의 실시간 경고에 사용합니다. 변환을 통해 로그를 분석 계층으로 보내기 전에 필터링 및 셰이핑할 수 있으므로 자세한 경고 및 대시보드를 사용하도록 설정하면서 비용을 절감할 수 있습니다. 시기적절함이 중요한 미션 크리티컬 인사이트에 이상적입니다.

관리되는 Prometheus 경고

가능하면 로그가 아닌 메트릭에 대한 경고를 우선 순위에 두어야 합니다. 이와 같은 이유로 일반적으로 확장성이 뛰어나고 비용 효율적이며 특히 규모가 큰 AKS 환경에서 유리합니다. 메트릭은 간단하며 빠른 평가를 위해 용도로 작성되었으며 로그에 비해 수집, 스토리지 및 쿼리 비용이 더 낮습니다.

Azure Managed Prometheus 를 사용하면 사용자 고유의 Prometheus 인프라를 관리하는 오버헤드 없이 거의 실시간으로 메트릭 수집 및 경고를 수행할 수 있습니다. AKS 클러스터와 직접 통합되며 Prometheus 형식을 사용하여 Kubernetes 네이티브 메트릭 스크래핑을 지원합니다. 경고 규칙은 Azure Managed Grafana 에서 시각화 및 분석하거나 경고 라우팅을 위해 Azure Monitor에 통합할 수 있습니다.

먼저 권장 경고 규칙을 사용하도록 설정합니다. 여기에는 노드의 CPU가 임계값을 초과할 경우 활성화되는 플랫폼 메트릭 경고가 포함됩니다. 다양한 시나리오에 대해 다양한 수준의 Prometheus 경고를 사용하도록 설정할 수도 있습니다. 기본 제공 경고 규칙 외에도 Prometheus 메트릭을 사용하여 사용자 지정 경고 규칙을 만듭니 다.

관리되는 Prometheus 경고는 일반적으로 다음 표의 경고를 대체하는 데 사용할 수 있습니다.

간단한 로그 검색 경고 규칙(미리 보기)

Azure Monitor의 간단한 로그 검색 경고는 기존 로그 검색 경고에 대한 더 간단하고 빠른 대안을 제공하도록 설계되었으며 기본 로그 테이블에서 지원됩니다. 정의된 기간 동안 행을 집계하는 로그 검색 경고와 달리 간단한 로그 경고는 각 행을 개별적으로 평가하고 단일 조건 로그 검색을 허용합니다. 특정 오류 이벤트 또는 상태 변경을 감시하는 등의 시나리오에 적합합니다.

간단한 경고를 보여 주는 다이어그램

예를 들어 클라우드 기반 애플리케이션에 클라우드 기반 애플리케이션이 있는 특정 오류 메시지가 발생할 때마다 실행되도록 규칙을 설정하거나 오류 수준 심각도의 모든 메시지에 대해 실행하도록 선택할 수 있습니다.

메시지가 발생할 때마다 트리거 되도록 설정할 수 있을 뿐만 아니라, 지정된 시간 범위 내에서 발생 횟수에 대해 임계값을 설정할 수도 있습니다. 예를 들어 실패한 로그인을 나타내는 메시지가 표시될 수 있으며, 1분 만에 애플리케이션에서 실패한 로그인 시도 횟수가 임계값을 초과하면 경고를 받을 수 있습니다. 식별되면 테이블 자체에서 로그 쿼리를 사용하여 실패한 로그인 시도를 식별할 수 있습니다.

간단한 로그 검색 경고는 일반적으로 다음 표의 경고에 사용됩니다.

요약 규칙

요약 규칙은 집계 또는 변환을 수행하고 결과를 사용자 지정 분석 계층 테이블에 저장하기 위해 정의된 간격으로 실행되는 예약된 쿼리입니다. 이렇게 하면 컨테이너 로그를 기본 로그 테이블에 수집한 다음, 집계된 버전의 데이터에 대해 고급 분석 및 경고를 수행할 수 있습니다.

요약 규칙으로 만든 분석 테이블의 경고를 보여 주는 다이어그램

컨테이너 로그에서 오류 비율을 모니터링하려는 시나리오를 고려합니다. 요약 규칙 만들기 또는 업데이트의 지침을 사용하여 각 컨테이너에 대한 오류 수준 로그 수를 계산하는 다음과 같은 쿼리를 사용하여 요약 규칙을 만듭니다.

ContainerLogv2
| where LogLevel == "Error" 
| summarize ErrorCount = count() by ContainerID

팁 (조언)

검사 비용을 줄이려면 여러 경고 규칙에서 사용할 수 있는 여러 집계 및 차원을 반환하는 쿼리를 사용합니다.

새 Analytics 계층 테이블의 bin 크기보다 큰 창을 사용하여 로그 쿼리 경고를 만들어 오류 수가 정의된 임계값을 초과하는 경우 알립니다. 예를 들어 bin 크기가 30분인 경우 각 경고 평가에 두 개의 요약이 포함되도록 1시간 창이 있는 경고 규칙을 만들 수 있습니다.

비고

요약 규칙은 현재 최소 bin 크기 20분을 지원합니다. 대기 시간이 짧은 경고가 필요한 경우 아래 설명된 대로 변환과 함께 분석 계층을 사용하는 것이 좋습니다.

요약 규칙의 경고는 일반적으로 다음 표의 경고에 사용됩니다.

변환이 있는 분석 계층

컨테이너 로그에 대해 거의 실시간으로 경고해야 하는 경우 요약 규칙이 충분히 응답하지 않을 수 있습니다. 거의 실시간 로그 경고가 필요한 운영상 중요한 시나리오에서는 변환을 사용하여 기본 로그 또는 보조 로그 테이블로 다른 로그를 보내는 동안 높은 값의 로그(예: 오류 및 중요 이벤트)를 분석 로그 테이블로 라우팅합니다. 이 전략을 사용하면 비용 효율적인 스토리지 및 간헐적 분석을 위해 다른 데이터를 더 낮은 비용 계층으로 라우팅하면서 분석 계층의 테이블에 대한 고급 경고를 수행할 수 있습니다.

이 변환에 대한 자세한 구성은 Container Insights의 데이터 변환에 제공됩니다.

일부 데이터를 분석 테이블로 보내고 다른 데이터를 기본 로그로 보내는 변환을 보여 주는 다이어그램

이 전략은 일반적으로 다음 표에서 경고하는 데 사용됩니다.

다음 단계