Azure Monitor에서 AIOps 및 기계 학습을 사용하여 잠재적인 문제를 검색하고 완화합니다.

AIOps(Artificial Intelligence for IT Operations)는 기계 학습을 사용하여 애플리케이션, 서비스 및 IT 리소스에서 Azure Monitor로 수집한 데이터를 처리하고 자동으로 작업을 수행하여 서비스 품질과 안정성을 개선하는 강력한 방법을 제공합니다.

Azure Monitor의 기본 제공 AIOps 기능은 인사이트를 제공하고, 문제를 해결하고, 용량 사용량 예측 및 자동 스케일링, 애플리케이션 성능 문제 식별 및 분석, 가상 머신, 컨테이너 및 기타 리소스의 비정상적인 동작 검색과 같은 데이터 기반 작업을 자동화하는 데 도움이 됩니다. 이러한 기능은 기계 학습 지식과 추가 투자 없이도 IT 모니터링 및 운영을 향상시킵니다.

또한 Azure Monitor는 사용자 고유의 기계 학습 파이프라인을 만들어 새로운 분석 및 응답 기능을 도입하고 Azure Monitor 로그의 데이터에 대해 작업할 수 있는 도구를 제공합니다.

이 문서에서는 Azure Monitor의 기본 제공 AIOps 기능을 설명하고, 사용자 지정된 기계 학습 모델의 생성 및 실행 방법, Azure Monitor 로그의 데이터에 대해 자동화된 기계 학습 파이프라인을 빌드하는 방법을 설명합니다.

기본 제공 Azure Monitor AIOps 및 기계 학습 기능

모니터링 시나리오 기능 설명
로그 모니터링 Log Analytics Workspace Insights Log Analytics 작업 영역에 대한 통합 보기를 제공하고 기계 학습을 사용하여 수집 변칙을 검색합니다.
KQL(Kusto 쿼리 언어) 시계열 분석 및 기계 학습 함수 데이터 과학 및 프로그래밍 언어에 대한 심층적인 지식 없이도 시계열 데이터를 생성하고, 변칙을 검색하고, 예측하고, 근본 원인 분석을 직접 수행하기 위한 편리한 도구입니다.
Azure용 Microsoft Copilot Log Analytics를 사용하여 데이터를 분석하고 문제를 해결하는 데 도움이 됩니다. "컨테이너 로그에 오류가 있나요?"와 같은 프롬프트를 기준으로 예제 KQL 쿼리를 생성합니다.
애플리케이션 성능 모니터링 애플리케이션 맵 지능형 보기 애플리케이션 맵을 사용하면 분산된 애플리케이션의 모든 구성 요소에서 성능 병목 상태 또는 오류 핫스폿을 찾는 데 도움이 됩니다.
스마트 감지 애플리케이션이 Application Insights에 보내는 원격 분석을 분석하고, 성능 문제 및 오류 변칙에 대한 경고를 표시하고, 애플리케이션 성능 문제의 잠재적 근본 원인을 식별합니다.
메트릭 경고 메트릭 경고에 대한 동적 임계값 메트릭 패턴을 학습하고, 기록 데이터를 기준으로 경고 임계값을 자동으로 설정하고, 서비스 문제를 나타낼 수 있는 변칙을 식별합니다.
가상 머신 크기 집합 예측 자동 스케일링 기록 CPU 사용 패턴을 기준으로 가상 머신 확장 집합의 전체 CPU 요구 사항을 예측하고 이러한 요구 사항에 맞게 자동으로 스케일 아웃합니다.

Azure Monitor 로그의 기계 학습

Kusto 쿼리 언어의 기본 제공 시계열 분석 및 기계 학습 함수, 연산자 및 플러그 인을 사용하여 서비스 상태, 사용량, 용량 및 기타 추세에 대한 인사이트를 얻고 Azure Monitor 로그에서 예측을 생성하고 변칙을 검색합니다.

유연성을 높이고 데이터를 분석하고 관련 작업을 수행하는 기능을 확장하기 위해 Azure Monitor 로그의 데이터에 대한 고유한 기계 학습 파이프라인을 구현할 수도 있습니다.

이 표에서는 KQL의 기본 제공 기계 학습 기능을 사용하고 사용자 고유의 기계 학습 파이프라인을 만들 때의 이점과 제한 사항을 비교하고 각각을 구현하는 방법을 보여 주는 자습서에 대한 링크를 제공합니다.

기본 제공 KQL 기계 학습 기능 사용자 고유의 기계 학습 파이프라인 만들기
시나리오 ✅ 변칙 검색, 근본 원인 및 시계열 분석
✅ 변칙 검색, 근본 원인 및 시계열 분석
고급 분석 및 AIOPs 시나리오
장점 🔹매우 빠르게 시작합니다.
🔹데이터 과학 지식 및 프로그래밍 기술이 필요하지 않습니다.
🔹최적의 성능 및 비용 절감 효과를 얻습니다.
🔹더 큰 규모를 지원합니다.
🔹보다 복잡한 고급 시나리오를 사용하도록 설정합니다.
🔹라이브러리, 모델, 매개 변수를 유연하게 선택할 수 있습니다.
서비스 제한 및 데이터 볼륨 Azure Portal 또는 쿼리 API 로그 쿼리 제한은 포털에서 작업하는지 또는 API(예: Notebook)를 사용하는지에 따라 달라집니다. 🔹쿼리 API 로그 쿼리 제한: 기계 학습 파이프라인의 일부로 Azure Monitor 로그에서 데이터를 쿼리하는 경우 그렇지 않으면 Azure 서비스 제한이 없습니다.
🔹더 큰 데이터 볼륨을 지원할 수 있습니다.
통합 필요 없음. Azure Portal 또는 통합된 Jupyter Notebook에서 Log Analytics를 사용하여 실행합니다. Jupyter Notebook과 같은 도구와 통합해야 합니다. 일반적으로 Azure Synapse Analytics 등의 다른 Azure 서비스와도 통합합니다.
성능 최적의 성능 구현, Azure Data Explorer 플랫폼을 사용하여 분산된 방식으로 대규모로 실행. 기계 학습 파이프라인을 구현하는 방법에 따라 데이터를 쿼리하거나 내보낼 때 약간의 대기 시간이 발생합니다.
모델 유형 구성 가능한 매개 변수 집합을 사용하는 KQL 시계열 함수에서 지원하는 선형 회귀 모델 및 기타 모델. 완전히 사용자 지정 가능한 기계 학습 모델 또는 변칙 검색 방법.
비용 추가 비용 없음 기계 학습 파이프라인을 구현하는 방법에 따라 데이터를 내보낼 경우, 채점한 데이터를 Azure Monitor 로그로 수집할 경우 및 다른 Azure 서비스를 사용할 경우 요금이 부과될 수 있습니다.
자습서 Azure Monitor에서 KQL 기계 학습 기능을 사용하여 변칙 검색 및 분석 Notebook을 사용하여 Azure Monitor 로그에서 데이터 분석

Azure Monitor 로그의 데이터에 대한 사용자 고유의 기계 학습 파이프라인 만들기

Azure Monitor 로그의 데이터에 대한 사용자 고유의 기계 학습 파이프라인을 빌드하여 새로운 AIOps 기능을 도입하고 다음과 같은 고급 시나리오를 지원합니다.

  • KQL을 사용한 경우보다 더 정교한 모델을 사용하여 보안 공격 헌팅
  • 웹 애플리케이션에서 성능 문제 감지 및 오류 문제 해결
  • 다단계 흐름 생성, 이전 단계의 결과에 따라 각 단계에서 코드 실행
  • Azure Monitor 로그 데이터의 분석을 자동화하고 인프라 상태 및 고객 동작을 비롯한 여러 영역에 대한 인사이트 제공
  • Azure Monitor 로그의 데이터를 다른 원본의 데이터와 상호 연결

Azure Monitor 로그의 데이터를 기계 학습 파이프라인에서 사용할 수 있도록 하는 방법에는 다음 두 가지가 있습니다.

이 표에서는 기계 학습 파이프라인에 대한 데이터를 검색하는 방법의 장점과 제한 사항을 비교합니다.

Azure Monitor 로그의 데이터 쿼리 데이터 내보내기
장점 🔹빠르게 시작합니다.
🔹기본 데이터 과학 및 프로그래밍 기술만 있으면 됩니다.
🔹대기 시간을 최소화하고 비용을 절감할 수 있습니다.
🔹더 큰 규모를 지원합니다.
🔹쿼리 제한이 없습니다.
데이터를 내보냈는지 여부
서비스 제한 쿼리 API 로그 쿼리 제한사용자 쿼리 제한. 더 큰 쿼리를 청크로 분할하여 쿼리 API 제한을 어느 정도 극복할 수 있습니다. Azure Monitor의 이점은 없습니다.
데이터 볼륨 수 GB 데이터 또는 시간당 몇 백만 개의 레코드를 분석합니다. 대량의 데이터를 지원합니다.
기계 학습 라이브러리 중간 규모 데이터 세트의 경우 일반적으로 Scikit Learn과 같은 단일 노드 기계 학습 라이브러리를 사용합니다. 대용량 데이터 세트의 경우 일반적으로 SynapseML과 같은 빅 데이터 기계 학습 라이브러리를 사용합니다.
대기 시간 최소. 데이터 내보내기에서 약간의 대기 시간이 발생합니다.
비용 Azure Monitor에는 추가 요금이 부과되지 않습니다.
사용되는 경우 Azure Synapse Analytics, Azure Machine Learning 또는 기타 서비스의 비용이 발생합니다.
데이터 내보내기 및 외부 스토리지의 비용이 발생합니다.
사용되는 경우 Azure Synapse Analytics, Azure Machine Learning 또는 기타 서비스의 비용이 발생합니다.

두 구현 방법 모두의 장점을 활용하려면 하이브리드 파이프라인을 만듭니다. 일반적인 하이브리드 접근 방식은 대량의 데이터를 포함하는 모델 학습을 위해 데이터를 내보내고 Azure Monitor 로그의 데이터 쿼리 접근 방식을 사용하여 데이터를 탐색하고 새 데이터를 채점하여 대기 시간과 비용을 줄이는 것입니다.

Azure Monitor 로그에서 기계 학습 수명 주기의 단계 구현

기계 학습 파이프라인을 설정할 경우 일반적으로 아래에 설명된 단계의 전부 또는 일부가 수행됩니다.

Scikit Learn, PyTorch, Tensorflow, Spark MLlibSynapseML을 포함하여 기계 학습 파이프라인을 구현하는 데 사용할 수 있는 다양한 Azure 및 오픈 소스 기계 학습 라이브러리가 있습니다.

이 표에서는 각 단계를 설명하고 Azure Monitor 로그의 데이터에 사용자 고유의 기계 학습 파이프라인 만들기에 설명된 구현 방법을 기준으로 이러한 단계를 구현하는 방법에 대한 대략적인 지침과 몇 가지 예를 제공합니다.

단계 설명 Azure Monitor 로그의 데이터 쿼리 데이터 내보내기
데이터 탐색 수집한 데이터를 검사하고 이해합니다. 데이터를 탐색하는 가장 간단한 방법은 Azure Portal에서 데이터를 탐색하고 시각화하기 위한 풍부한 도구 집합을 제공하는 Log Analytics를 사용하는 것입니다. Notebook을 사용하여 Azure Monitor 로그의 데이터를 분석할 수도 있습니다. Azure Monitor 외부에서 로그를 분석하려면 Log Analytics 작업 영역에서 데이터를 내보내고 선택한 서비스에서 환경을 설정합니다.
Azure Monitor 외부에서 로그를 탐색하는 방법의 예는 Synapse를 사용하여 Log Analytics에서 내보낸 데이터 분석을 참조하세요.
기계 학습 모델 빌드 및 학습 모델 학습은 반복적인 프로세스입니다. 연구원 또는 데이터 과학자는 학습 데이터를 가져와서 정리하고, 기능을 엔지니어링하고, 다양한 모델 및 튜닝 매개 변수를 시도하고, 모델이 정확하고 견고해질 때까지 이 주기를 반복하면서 모델을 개발합니다. 중간 규모 데이터 세트의 경우 일반적으로 Scikit Learn과 같은 단일 노드 기계 학습 라이브러리를 사용합니다.
Scikit Learn 라이브러리를 사용하여 Azure Monitor 로그의 데이터로 기계 학습 모델을 학습시키는 방법의 예는 이 샘플 Notebook: 기계 학습 기술을 사용하여 Azure Monitor 로그에서 변칙 검색을 참조하세요.
대용량 데이터 세트의 경우 일반적으로 SynapseML과 같은 빅 데이터 기계 학습 라이브러리를 사용합니다.
모델 배포 및 채점 채점은 예측을 얻기 위해 새 데이터에 기계 학습 모델을 적용하는 프로세스입니다. 일반적으로 채점은 대기 시간을 최소화하면서 대규모로 수행해야 합니다. Azure Monitor 로그에서 새 데이터를 쿼리하려면 Azure Monitor 쿼리 클라이언트 라이브러리를 사용합니다.
오픈 소스 도구를 사용하여 데이터를 채점하는 방법에 대한 예제는 샘플 Notebook: 기계 학습 기술을 사용하여 Azure Monitor 로그에서 변칙 검색을 참조하세요.
일정에 따라 파이프라인 실행 파이프라인을 자동화하여 현재 데이터를 정기적으로 모델에 다시 학습시킵니다. Azure Synapse Analytics 또는 Azure Machine Learning을 사용하여 기계 학습 파이프라인을 예약합니다. Azure Monitor 로그의 데이터 쿼리 열에 있는 예제를 참조하세요.

채점한 결과를 Log Analytics 작업 영역에 수집하면 데이터를 사용하여 고급 인사이트를 얻고, 경고 및 대시보드를 만들 수 있습니다. Azure Monitor 수집 클라이언트 라이브러리를 사용하여 채점한 결과를 수집하는 방법에 대한 예제는 Log Analytics 작업 영역의 사용자 지정 테이블에 변칙 수집을 참조하세요.

다음 단계

자세히 알아보기: