CloudWatch 템플릿 변수
CloudWatch 템플릿 변수 (CloudWatch template variables)
메트릭 쿼리에서 서버·애플리케이션·센서 이름 같은 상세 값을 하드코딩하지 않고 변수를 사용할 수 있어요. Grafana는 이런 변수를 대시보드 상단의 드롭다운 선택 박스에 나열해 표시 데이터를 쉽게 바꾸게 해 주는데, 이를 템플릿 변수라고 해요. CloudWatch 데이터 소스에서 지역·네임스페이스·메트릭·차원 등을 변수로 채우는 방법을 알려드릴게요.
출처: 문서
본문
템플릿과 템플릿 변수 소개는 Templating과 변수 추가·관리 문서를 참고하세요.
쿼리 변수 사용하기
변수 편집 뷰의 Query type 필드에서 CloudWatch 데이터 소스 쿼리를 지정해 변수 옵션 목록을 regions, namespaces, metric names, dimension keys/values 같은 값으로 채울 수 있어요.
| 이름 | 반환 목록 |
|---|---|
| Regions | 모든 AWS 리전 |
| Namespaces | CloudWatch가 지원하는 모든 네임스페이스 |
| Metrics | 네임스페이스의 메트릭 (리전 지정 또는 커스텀 메트릭은 "default" 사용) |
| Dimension Keys | 네임스페이스의 차원 키 |
| Dimension Values | 지정된 region, namespace, metric, dimension key와 일치하는 차원 값. 더 구체적인 결과는 dimension filters 사용 |
| EBS Volume IDs | 지정된 region과 instance ID와 일치하는 볼륨 ID |
| EC2 Instance Attributes | 지정된 region, attribute name, filters와 일치하는 속성 |
| Resource ARNs | 지정된 region, resource type, tags와 일치하는 ARN |
| Statistics | 모든 표준 통계 |
| Log Groups | 지정된 region과 선택적 log group prefix와 일치하는 로그 그룹. 변수 값은 로그 그룹 ARN |
| Accounts | 지정된 region의 연결된 모니터링 계정 ID. 교차 계정 관측성(cross-account observability) 활성화 시에만 가능 |
교차 계정 관측성이 활성화되면 Metrics, Dimension Keys, Dimension Values, Log Groups 쿼리 유형에도 선택적 Account 필드가 나타나요. 특정 연결 모니터링 계정을 대상으로 하거나, 설정하지 않으면 모든 연결 계정을 쿼리해요. 자세한 내용은 교차 계정 관측성을 참고하세요.
사용 가능한 차원에 대한 자세한 내용은 CloudWatch Metrics and Dimensions Reference, CloudWatch 메트릭 관련 내용은 CloudWatch 문서를 참고하세요.
쿼리에서 변수 사용하기
Grafana 변수 문법으로 쿼리에 변수를 포함하세요. 쿼리 변수는 쿼리를 통해 데이터 소스에서 값을 동적으로 가져와요. 자세한 내용은 변수 문법 문서를 참고하세요.
CloudWatch 메트릭 쿼리는 Region, Namespace, Metric name, dimension key, dimension value 필드에서 변수를 지원해요. 예를 들어 region이라는 변수(Regions 유형)와 instance라는 변수(EC2 Instance Attributes 유형)를 만들면, 쿼리 편집기의 Region을 $region으로, dimension value를 $instance로 설정해 참조할 수 있습니다. 선택한 리전·인스턴스를 바꾸면 대시보드가 업데이트돼요.
EC2 인스턴스 속성 쿼리
EC2 Instance Attributes 쿼리 유형은 AWS ec2:DescribeInstances API로 인스턴스 메타데이터를 가져와요. 변수 편집기에서 다음 필드를 구성하세요.
- Region: 쿼리할 AWS 리전
- Attribute name: 각 일치 인스턴스에 대해 반환할 인스턴스 속성
- Filters: (선택) 반환할 인스턴스를 제한하는 필터
참고: 이전
ec2_instance_attribute(region, attributeName, filters)쿼리 문법도 여전히 지원됩니다. 이 문법을 사용하는 기존 변수는 Grafana가 자동으로 EC2 Instance Attributes 쿼리 유형으로 마이그레이션해요.
필터
각 필터는 키와 콤마로 구분된 일치 값 목록을 가져요. ec2:DescribeInstances가 지원하는 필터(예: 인스턴스 속성)를 사용하세요. 태그로 필터링하려면 tag:<name> 형태의 키를 쓰세요. 예: tag:Environment.
속성 선택
쿼리는 인스턴스당 하나의 속성을 반환해요. 단일 값을 갖고 객체나 배열이 아닌(flat) 속성을 선택할 수 있습니다. 이 속성들은 AWS EC2 Instance 객체의 필드를 반영하며, 각각의 정의는 해당 문서에서 확인할 수 있어요. 사용 가능한 속성이 AWS API를 따르므로 목록이 완전하지 않을 수 있어요.
AmiLaunchIndex,Architecture,ClientToken,EbsOptimized,EnaSupport,Hypervisor,ImageId,InstanceId,InstanceLifecycle,InstanceType,KernelId,KeyName,LaunchTime,Platform,PrivateDnsName,PrivateIpAddress,PublicDnsName,PublicIpAddress,RamdiskId,RootDeviceName,RootDeviceType,SourceDestCheck,SpotInstanceRequestId,SriovNetSupport,SubnetId,VirtualizationType,VpcId
일부 속성은 flat 값이 아닌 객체입니다. 중첩 값을 선택하려면 점 표기법(dot notation)을 쓰세요. 예: IamInstanceProfile.Arn. 태그 값을 선택하려면 태그 이름 앞에 Tags.를 붙이세요. 예: Tags.Name으로 Name 태그 선택.