Azure Monitor 및 Prometheus
Prometheus는 클라우드 네이티브 에코시스템에서 널리 사용되는 인기 있는 오픈 소스 모니터링 및 경고 솔루션입니다. 조직은 Prometheus를 사용하여 인프라 및 워크로드의 성능을 모니터링하고 경고합니다. Kubernetes 환경에서 자주 사용됩니다.
Prometheus를 Azure 관리 서비스 또는 자체 관리 서비스로 사용하여 메트릭을 수집할 수 있습니다. Prometheus 메트릭은 AKS(Azure Kubernetes Service) 클러스터, Azure Arc 지원 Kubernetes 클러스터, 가상 머신 및 가상 머신 확장 집합에서 수집할 수 있습니다.
Prometheus 메트릭은 Azure Monitor 작업 영역에 저장됩니다. Prometheus Query Language(Prometheus Query Language) 및 Azure Managed Grafana와 함께 메트릭 탐색기를 사용하여 작업 영역의 데이터를 분석하고 시각화할 수 있습니다.
Important
Azure Monitor를 사용하여 Prometheus를 관리하고 호스트하는 것은 고객 머신 및 애플리케이션의 서비스 상태에 대한 정보를 저장하기 위한 것입니다. 개인 데이터를 저장하기 위한 것이 아닙니다. 중요한 정보(예: 사용자 이름 및 신용 카드 번호)를 메트릭 이름, 레이블 이름 또는 레이블 값과 같은 Azure Monitor 호스팅 Prometheus 필드로 보내지 않는 것이 좋습니다.
Prometheus용 Azure Monitor 관리 서비스
Prometheus용 Azure Monitor 관리형 서비스는 Prometheus를 실행하기 위해 완전히 관리되고 확장 가능한 환경을 제공하는 Azure Monitor 메트릭의 구성 요소입니다. AKS에서 Prometheus의 배포, 관리 및 크기 조정을 간소화하므로 애플리케이션 및 인프라 모니터링에 집중할 수 있습니다.
완전히 관리되는 서비스인 Prometheus용 Azure Monitor 관리 서비스는 AKS 또는 Azure Arc 지원 Kubernetes에서 Prometheus를 자동으로 배포합니다. 이 서비스는 고가용성, SLA(서비스 수준 계약) 보장 및 자동 소프트웨어 업데이트를 제공합니다. 최대 18개월 동안 데이터를 보존하는 확장성이 뛰어난 메트릭 저장소를 제공합니다.
Prometheus용 Azure Monitor 관리형 서비스는 미리 구성된 경고, 규칙 및 대시보드를 제공합니다. Prometheus 커뮤니티 및 네이티브 Grafana 통합에서 권장되는 대시보드를 사용하면 즉시 포괄적인 모니터링을 달성할 수 있습니다. Prometheus용 Azure Monitor 관리형 서비스는 Azure Managed Grafana와 통합되며 자체 관리형 Grafana에서도 작동합니다.
가격 책정은 추가 스토리지 비용 없이 수집 및 쿼리를 기반으로 합니다. 자세한 내용은 Azure Monitor 가격 책정의 메트릭 탭을 참조하세요.
Prometheus용 Azure Monitor 관리되는 서비스 사용
Prometheus용 Azure Monitor 관리형 서비스는 AKS 및 Azure Arc 지원 Kubernetes에서 데이터를 수집합니다.
Prometheus에 대해 Azure Monitor 관리 서비스를 사용하도록 설정하려면 메트릭을 저장할 Azure Monitor 작업 영역을 만들어야 합니다. 그런 다음 Prometheus 메트릭을 수집하는 서비스를 온보딩할 수 있습니다.
- Kubernetes 클러스터에서 Prometheus 메트릭을 수집하려면 Prometheus 및 Grafana 사용을 참조하세요.
- 자체 관리형 Prometheus 서버에서 데이터를 수집하도록 원격 쓰기를 구성하려면 가상 머신, 확장 집합 또는 Kubernetes 클러스터에서 Azure Monitor 작업 영역으로 Prometheus 메트릭 보내기를 참조하세요.
Microsoft Azure 에어 갭 클라우드에 대해 관리되는 Prometheus를 사용하도록 설정하려면 지원에 문의하세요.
Azure에서 호스트하는 자체 관리형 Prometheus
Prometheus용 관리 서비스 외에도 고유한 Prometheus 인스턴스를 설치 및 관리하고 원격 쓰기를 사용하여 Azure Monitor 작업 영역에 메트릭을 저장할 수 있습니다.
원격 쓰기를 사용하면 다음 환경에서 실행되는 자체 관리형 Prometheus 서버에서 데이터를 수집할 수 있습니다.
- Azure 가상 머신
- Azure 가상 머신 확장 집합
- Azure Arc 지원 서버
- 자체 관리형 Azure 호스팅 또는 Azure Arc 지원 Kubernetes 클러스터
자체 관리형 Kubernetes 서비스
Kubernetes 클러스터의 자체 관리되는 Prometheus에서 메트릭을 보냅니다. Kubernetes 서비스의 Azure Monitor 작업 영역에 대한 원격 쓰기에 대한 자세한 내용은 다음 문서를 참조하세요.
- 관리 ID 인증을 사용하여 Prometheus 데이터를 Azure Monitor로 보내기
- Microsoft Entra 인증을 사용하여 Prometheus 데이터를 Azure Monitor로 보내기
- Microsoft Entra Pod 관리 ID(미리 보기) 인증을 사용하여 Prometheus 데이터를 Azure Monitor로 보내기
- Microsoft Entra 워크로드 ID 인증을 사용하여 Azure Monitor에 Prometheus 데이터 보내기
가상 머신 및 가상 머신 확장 집합
가상 머신 및 가상 머신 확장 집합의 자체 관리되는 Prometheus에서 데이터를 보냅니다. 가상 머신은 Azure 관리 환경 또는 온-프레미스에 있을 수 있습니다. 자세한 내용은 가상 머신, 확장 집합 또는 Kubernetes 클러스터에서 Azure Monitor 작업 영역으로 Prometheus 메트릭 보내기를 참조하세요.
데이터 저장소
Prometheus 메트릭은 Azure Monitor 작업 영역에 저장됩니다. 데이터는 PromQL을 통해 쿼리할 수 있는 시계열 데이터베이스에 저장됩니다. 여러 Prometheus 데이터 원본의 데이터를 단일 Azure Monitor 작업 영역에 저장할 수 있습니다. 자세한 내용은 Azure Monitor 작업 영역 아키텍처를 참조 하세요.
Azure Monitor 작업 영역은 18개월 동안 데이터를 보존합니다.
Prometheus 메트릭 쿼리 및 분석
Prometheus 데이터는 PromQL을 통해 검색됩니다. 고유한 쿼리를 작성하고, 오픈 소스 커뮤니티의 쿼리를 사용하고, PromQL 쿼리를 포함하는 Grafana 대시보드를 사용할 수 있습니다. 자세한 내용은 Prometheus 웹 사이트에서 Prometheus 쿼리를 참조하세요.
다음 Azure 서비스는 Azure Monitor 작업 영역에서 Prometheus 메트릭 쿼리를 지원합니다.
PromQL을 사용한 Azure Monitor 메트릭 탐색기
PromQL(미리 보기)과 함께 메트릭 탐색기를 사용하여 플랫폼 및 Prometheus 메트릭을 분석하고 시각화합니다. PromQL을 사용하는 메트릭 탐색기는 Prometheus 메트릭이 저장된 Azure Monitor 작업 영역의 메트릭 창에서 사용할 수 있습니다. 자세한 내용은 PromQL을 사용하는 Azure Monitor 메트릭 탐색기를 참조하세요.
Azure Workbooks
Azure 통합 문서 및 PromQL 쿼리를 사용하여 Prometheus용 Azure Monitor 관리형 서비스에서 제공하는 차트 및 대시보드를 만듭니다. 자세한 내용은 Azure 통합 문서를 사용하여 Prometheus 메트릭 쿼리를 참조하세요.
Grafana 통합
Azure Managed Grafana를 사용하여 Prometheus 메트릭을 시각화합니다. Grafana 대시보드에서 데이터 원본으로 사용할 수 있도록 Azure Monitor 작업 영역을 Grafana 작업 영역에 연결합니다. 그런 다음 Prometheus 메트릭을 사용하는 여러 미리 빌드된 대시보드에 액세스할 수 있습니다. 또한 원하는 수의 사용자 지정 대시보드를 만들 수 있습니다. 자세한 내용은 Grafana 작업 영역 연결을 참조 하세요.
Prometheus 쿼리 API
REST API를 통해 PromQL을 사용하여 Azure Monitor 작업 영역에 저장된 Prometheus 메트릭을 쿼리합니다. 자세한 내용은 API 및 PromQL을 사용하여 Prometheus 메트릭 쿼리를 참조하세요.
규칙 및 경고
Prometheus는 PromQL 쿼리를 사용하여 기록 규칙 및 경고 규칙을 지원합니다. Prometheus용 Azure Monitor 관리형 서비스는 규칙 및 경고를 자동으로 배포합니다. 규칙 레코드를 기록하는 메트릭은 Azure Monitor 작업 영역에 저장됩니다. 대시보드 또는 기타 규칙은 메트릭을 쿼리할 수 있습니다.
Prometheus 규칙 그룹에 대한 Azure Monitor 관리 서비스를 사용하여 경고 규칙 및 기록 규칙을 만들고 관리할 수 있습니다. AKS 클러스터의 경우 미리 정의된 Prometheus 경고 규칙 및 기록 규칙 집합을 통해 빠르게 시작할 수 있습니다.
경고 규칙이 실행되는 경고는 경고 규칙에 대해 구성된 작업 그룹에 정의된 대로 작업 또는 알림을 트리거할 수 있습니다. 다른 경고 유형과 함께 Azure Portal에서 발생 및 해결된 Prometheus 경고를 볼 수도 있습니다.
서비스 제한 및 할당량
Prometheus용 Azure Monitor 관리형 서비스에는 수집에 대한 기본 제한 및 할당량이 있습니다. 수집 제한에 도달하면 제한이 발생할 수 있습니다. 이러한 한도의 증가를 요청할 수 있습니다. 자세한 내용은 Azure Monitor 서비스 제한을 참조하세요.
수집 메트릭을 모니터링하고 경고하려면 Azure Monitor 작업 영역 메트릭 수집 모니터링을 참조하세요.
제한 사항
Prometheus용 Azure Monitor 관리형 서비스에는 다음과 같은 제한 사항이 적용됩니다.
- 메트릭을 스크래핑하고 저장하는 최소 빈도는 1초입니다.
- 노드를 업데이트하는 동안 클러스터 수준 수집기의 일부 메트릭 컬렉션에서 1~2분 간 간격이 발생할 수 있습니다. 이 간격은 클러스터의 노드를 업데이트하는 Azure Kubernetes Service의 정기적 작업으로 인해 발생합니다. 이 동작은 권장되는 경고 규칙에 영향을 주지 않습니다.
- Windows 노드용 관리되는 Prometheus는 자동으로 사용하도록 설정되지 않습니다. 클러스터에서 Windows 노드 및 Pod에 대한 모니터링을 사용하도록 설정하려면 Windows 메트릭 컬렉션 사용(미리 보기)을 참조하세요.
대/소문자 구분
Prometheus용 Azure Monitor 관리형 서비스는 대/소문자를 구분하지 않는 시스템입니다. 문자열의 경우만 다른 시계열과 다른 경우 문자열(예: 메트릭 이름, 레이블 이름 또는 레이블 값)을 동일한 시계열로 처리합니다.
참고 항목
이 동작은 대/소문자를 구분하는 네이티브 오픈 소스 Prometheus와 다릅니다. Azure 가상 머신, 가상 머신 확장 집합 또는 Azure Kubernetes Service 클러스터에서 실행되는 자체 관리형 Prometheus 인스턴스는 대/소문자를 구분하는 시스템입니다.
Prometheus에 대한 관리되는 서비스에서 다음 시계열은 동일한 것으로 간주됩니다.
diskSize(cluster="eastus", node="node1", filesystem="usr_mnt")
diskSize(cluster="eastus", node="node1", filesystem="usr_MNT")
앞의 예제는 시계열 데이터베이스의 단일 시계열입니다. 고려 사항은 다음과 같습니다.
- 수집된 샘플은 단일 시계열에 대해 스크래핑되거나 수집된 것처럼 저장됩니다.
- 앞의 예제가 동일한 타임스탬프를 사용하여 수집되는 경우 그 중 하나가 임의로 삭제됩니다.
- 시계열 데이터베이스에 저장되고 쿼리에서 반환되는 대/소문자 표시를 예측할 수 없습니다. 동일한 시계열은 서로 다른 시간에 서로 다른 대/소문자를 반환할 수 있습니다.
- 쿼리에 있는 메트릭 이름 또는 레이블 이름/값 일치자는 대/소문자를 구분하지 않는 비교를 통해 시계열 데이터베이스에서 검색됩니다. 쿼리에 대/소문자를 구분하는 선택기가 있는 경우 문자열 비교에서 대/소문자를 구분하지 않는 선택기로 자동으로 처리됩니다.
단일 일관된 사례를 사용하여 시계열을 생성하거나 긁는 것이 가장 좋습니다.
오픈 소스 Prometheus는 위의 예제를 서로 다른 두 시계열로 처리합니다. 스크래핑되거나 수집된 샘플은 별도로 저장됩니다.
Prometheus 참조
다음은 Prometheus 설명서에 대한 링크입니다.