Grafana에서 Azure 서비스 모니터링
Grafana 및 포함된 Azure Monitor 데이터 원본 플러그 인을 사용하여 Azure 서비스 및 애플리케이션을 모니터링할 수 있습니다. 이 플러그 인은 세 가지 Azure 서비스에서 데이터를 검색합니다.
- Azure 리소스의 숫자 시계열 데이터에 대한 Azure Monitor 메트릭
- 강력한 KQL(Kusto 쿼리 언어)을 사용하여 쿼리할 수 있는 Azure 리소스의 로그 및 성능 데이터에 대한 Azure Monitor 로그. Application Insights 로그 쿼리를 사용하여 Application Insights 로그 기반 메트릭을 검색할 수 있습니다.
- 모니터링되는 앱의 상태를 분석할 수 있도록 하는 Application Insights 로그 기반 메트릭. Grafana에서 Application Insights 로그 쿼리를 사용하여 Application Insights 로그 메트릭 데이터를 사용할 수 있습니다.
- 구독에서 Azure 리소스를 빠르게 쿼리하고 식별하기 위한 Azure Resource Graph.
그런 다음, 이 성능 및 가용성 데이터를 Grafana 대시보드에 표시할 수 있습니다.
Grafana 서버를 설정하고 Azure Monitor에서 메트릭 및 로그에 대한 대시보드를 빌드하려면 다음 단계를 사용합니다.
Grafana 설정
다음 단계에 따라 Grafana를 설정합니다.
Azure Managed Grafana 설정
Azure Managed Grafana는 Azure 환경에 최적화되어 있으며 Azure Monitor와 원활하게 작동합니다. 마케팅 목록의 구성원을 관리할 수 있습니다.
- Microsoft Entra ID를 사용하여 사용자 인증 및 액세스 제어를 관리합니다.
- Azure Portal의 차트를 Azure Managed Grafana 대시보드에 직접 고정합니다.
이 빠른 시작 가이드를 통해 Azure Portal을 사용하여 Azure Managed Grafana 작업 영역을 만듭니다.
Grafana를 로컬로 설정
Grafana 서버를 로컬로 설정하려면 로컬 환경에서 Grafana를 다운로드하여 설치합니다.
Grafana에 로그인
Important
Internet Explorer와 이전 Microsoft Edge 브라우저는 Grafana와 호환되지 않습니다. Microsoft Edge를 포함하여 Chromium 기반 브라우저를 사용해야 합니다. 자세한 내용은 Grafana에 지원되는 웹 브라우저를 참조하세요.
Azure Managed Grafana 작업 영역의 엔드포인트 URL 또는 서버의 IP 주소를 사용하여 Grafana에 로그인합니다.
Azure Monitor 데이터 원본 플러그 인 구성
Azure Managed Grafana에는 Azure Monitor 데이터 원본 플러그 인이 포함되어 있습니다. 기본적으로 플러그 인은 Grafana 작업 영역이 배포된 구독의 모든 리소스에서 모니터링 데이터를 쿼리하고 시각화할 수 있는 관리 ID로 미리 구성됩니다. “Grafana 대시보드 빌드” 섹션으로 건너뜁니다.
포함된 관리 ID를 다른 구독 또는 리소스에 대한 Monitoring Reader 역할을 할당하도록 추가 권한을 구성하여 Azure Managed Grafana 작업 영역에서 볼 수 있는 리소스를 확장할 수 있습니다.
Azure Managed Grafana가 아닌 인스턴스를 사용하는 경우 Azure Monitor 데이터 원본을 설정해야 합니다.
데이터 원본 추가를 선택하고 Azure 이름으로 필터링한 다음 Azure Monitor 데이터 원본을 선택합니다.
데이터 원본의 이름을 선택하고 인증을 위해 관리 ID 또는 앱 등록 중에서 선택합니다.
관리 ID를 사용하도록 설정한 자체 Azure Virtual Machines 또는 Azure App Service 인스턴스에서 Grafana를 호스팅하는 경우 인증에 이 방식을 사용할 수 있습니다. 그러나 Grafana 인스턴스가 Azure에서 호스팅되지 않거나 관리 ID가 사용하도록 설정되지 않은 경우 Azure 서비스 주체와 함께 앱 등록을 사용하여 인증을 설정해야 합니다.
관리 ID 사용
VM 또는 App Service 인스턴스에서 관리 ID를 사용하도록 설정하고 Grafana 서버 관리 ID 지원 설정을 true로 변경합니다.
- 호스팅 VM 또는 App Service 인스턴스의 관리 ID에는 구독, 리소스 그룹 또는 관심 리소스에 대해 할당된 Monitoring Reader 역할이 있어야 합니다.
- Grafana 서버 구성에서
managed_identity_enabled = true
설정을 업데이트해야 합니다. 자세한 내용은 Grafana 구성을 참조하세요. 두 단계가 모두 완료되면 액세스를 저장하고 테스트할 수 있습니다.
저장 및 테스트를 선택하면 Grafana가 자격 증명을 테스트합니다. 다음과 비슷한 메시지가 표시됩니다.
앱 등록 사용
서비스 주체를 생성합니다. Grafana는 Azure Monitor API에 연결하고 데이터를 수집하는 데 Microsoft Entra 서비스 주체를 사용합니다. Azure 리소스에 대한 액세스를 관리하려면 기존 서비스 주체를 사용하거나 새로 만들어야 합니다.
- 포털에서 Microsoft Entra 앱 및 서비스 주체 만들기를 참조하여 서비스 주체를 만드세요. 테넌트 ID(디렉터리 ID), 클라이언트 ID(애플리케이션 ID) 및 클라이언트 비밀(애플리케이션 키 값)을 복사하고 저장합니다.
- 역할에 애플리케이션 할당을 확인하여 모니터링할 구독, 리소스 그룹 또는 리소스의 Microsoft Entra 애플리케이션에 Monitoring Reader 역할을 할당합니다.
사용하려는 연결 세부 정보를 제공합니다.
- 플러그 인을 구성할 때 플러그 인이 모니터링할 Azure 클라우드(공용, Azure 미국 정부, Azure 독일 또는 21Vianet에서 운영하는 Microsoft Azure)를 지정할 수 있습니다.
참고 항목
일부 데이터 원본 필드의 이름은 관련 Azure 설정과 다릅니다.
- 테넌트 ID는 Azure Directory ID입니다.
- 클라이언트 ID는 Microsoft Entra 애플리케이션 ID입니다.
- 클라이언트 비밀은 Microsoft Entra 애플리케이션 키 값입니다.
- 플러그 인을 구성할 때 플러그 인이 모니터링할 Azure 클라우드(공용, Azure 미국 정부, Azure 독일 또는 21Vianet에서 운영하는 Microsoft Azure)를 지정할 수 있습니다.
저장 및 테스트를 선택하면 Grafana가 자격 증명을 테스트합니다. 다음과 비슷한 메시지가 표시됩니다.
기본 제공 대시보드 사용
Azure Monitor에는 Azure Managed Grafana 및 Azure Monitor 플러그 인과 함께 사용할 수 있는 기본 대시보드가 포함되어 있습니다.
또한 Azure Monitor는 Azure Monitor Prometheus용 관리 서비스와 원활하게 통합할 수 있도록 기본 제공 대시보드를 지원합니다. 이러한 대시보드는 Azure Monitor Prometheus용 관리 서비스에 연결된 경우 Azure Managed Grafana에 자동으로 배포됩니다.
Grafana 대시보드 빌드
Grafana 홈페이지로 이동하고 새 대시보드를 선택합니다.
새 대시보드에서 그래프를 선택합니다. 다른 차트 옵션을 사용해 볼 수도 있지만 이 문서에서는 그래프를 예로 사용합니다.
빈 그래프가 대시보드에 표시됩니다. 패널 제목을 선택하고 편집을 선택하여 이 그래프 차트에 그리려는 데이터의 세부 정보를 입력합니다.
구성한 경우 Azure Monitor 데이터 원본을 선택합니다.
Azure Monitor 메트릭 시각화: 서비스 드롭다운 목록에서 Azure Monitor를 선택합니다. 선택기 목록이 표시되면 이 차트에서 모니터링할 리소스 및 메트릭을 선택할 수 있습니다. VM에서 메트릭을 수집하려면 네임스페이스
Microsoft.Compute/VirtualMachines
를 사용합니다. VM 및 메트릭을 선택했으면 대시보드에서 해당 데이터 보기를 시작할 수 있습니다.Azure Monitor 로그 데이터 시각화: 서비스 드롭다운 목록에서 Azure Log Analytics를 선택합니다. 쿼리할 작업 영역을 선택하고 쿼리 텍스트를 설정합니다. 이미 가지고 있는 로그 쿼리를 여기에 복사하거나 새로 만들 수 있습니다. 쿼리를 입력할 때 IntelliSense는 자동 완성 옵션을 제안합니다. 시각화 유형인 시계열>테이블을 선택하고 쿼리를 실행합니다.
참고 항목
플러그 인을 사용하여 제공된 기본 쿼리는
$__timeFilter()
및$__interval
의 매크로 두 개를 사용합니다. 차트의 일부를 확대하는 경우 이러한 매크로를 통해 Grafana는 시간 범위 및 시간 세분화를 동적으로 계산할 수 있습니다. 이러한 매크로 제거하고TimeGenerated > ago(1h)
같은 표준 시간 필터를 사용할 수 있습니다. 단, 그래프는 확대/축소 기능을 지원하지 않습니다.
다음 대시보드에는 두 개의 차트가 있습니다. 왼쪽 차트에는 두 VM의 CPU 백분율이 표시됩니다. 오른쪽 차트에는 트랜잭션 API 유형별로 분류된 Azure Storage 계정의 트랜잭션이 표시됩니다.
Azure Portal에서 Azure Managed Grafana로 차트 고정
Grafana에서 패널을 빌드하는 것 외에도 Azure Monitor에서 직접 Grafana 대시보드에 패널을 추가하여 Azure Portal의 Azure Monitor 시각화를 신규 또는 기존 Grafana 대시보드로 빠르게 고정할 수도 있습니다. 리소스에 대한 메트릭으로 이동합니다. 차트를 만들고 대시보드에 저장을 선택한 후 Grafana에 고정을 선택합니다. 작업 영역 및 대시보드를 선택하고 고정을 선택하여 작업을 완료합니다.
고급 Grafana 기능
Grafana에는 고급 기능이 있습니다.
variables
일부 쿼리 값은 UI 드롭다운을 통해 선택하고 쿼리에서 업데이트할 수 있습니다. 한 예로 다음 쿼리를 고려해 보세요.
Usage
| where $__timeFilter(TimeGenerated)
| summarize total_KBytes=sum(Quantity)*1024 by bin(TimeGenerated, $__interval)
| sort by TimeGenerated
사용 가능한 모든 솔루션 값을 나열하는 변수를 구성한 다음, 이를 사용하도록 쿼리를 업데이트할 수 있습니다. 새 변수를 만들려면 오른쪽 위 영역에서 대시보드의 설정 단추를 선택하고 변수, 새로 만들기를 차례로 선택합니다. 변수 페이지에서 값 목록을 가져오기 위해 실행할 데이터 원본 및 쿼리를 정의합니다.
만든 후 선택한 값을 사용하도록 쿼리를 조정하면 차트가 그에 따라 응답합니다.
Usage
| where $__timeFilter(TimeGenerated) and Solution in ($Solutions)
| summarize total_KBytes=sum(Quantity)*1024 by bin(TimeGenerated, $__interval)
| sort by TimeGenerated
대시보드 재생 목록 만들기
Grafana의 많은 유용한 기능 중 하나는 대시보드 재생 목록입니다. 여러 개의 대시보드를 만들고 각 대시보드에서 표시할 간격을 구성하여 재생 목록에 추가할 수 있습니다. 재생을 선택하여 대시보드가 순환하는지 확인합니다. 그룹에 상태 보드를 제공하기 위해 대형 벽 모니터에 표시할 수도 있습니다.
선택 사항: 동일한 Grafana 대시보드에서 다른 데이터 원본 모니터링
대시보드에서 이러한 메트릭을 함께 가져오는 데 사용할 수 있는 많은 데이터 원본 플러그 인이 있습니다.
다음은 Telegraf, InfluxDB, Azure Monitor Prometheus용 관리 서비스 및 Docker를 사용하는 방법에 대한 유용한 참조 문서입니다.
- Azure Managed Grafana에 대한 데이터 원본을 구성하는 방법
- 관리되는 시스템 ID를 사용하여 Prometheus용 Azure Monitor 관리 서비스를 Grafana의 데이터 원본으로 사용
- Ubuntu 16.04에서 TICK 스택을 사용하여 시스템 메트릭을 모니터링하는 방법
- Docker 호스트, 컨테이너 및 컨테이너화된 서비스에 대한 모니터링 솔루션
다음은 Azure Monitor 및 Application Insights의 메트릭이 포함된 전체 Grafana 대시보드에 대한 이미지입니다.
리소스 정리
Azure에서 Grafana 환경을 설정한 경우 리소스 사용 여부에 상관 없이 리소스가 실행되면 요금이 청구됩니다. 추가 비용이 발생하지 않도록 방지하려면 이 문서에서 만든 리소스 그룹을 정리합니다.
- Azure Portal의 왼쪽 메뉴에서 리소스 그룹>Grafana를 선택합니다.
- 리소스 그룹 페이지에서 삭제를 선택하고, 텍스트 상자에서 Grafana를 입력한 다음, 삭제를 선택합니다.