1. CloudWatch 검색 표현식이란?
CloudWatch 검색 표현식은 AWS 서비스의 지표(metrics)를 쉽고 효과적으로 찾고 시각화하 기 위한 강력한 쿼리 언어입니다. 복잡한 필터링이나 여러 지표를 한 번에 검색할 때 특히 유용합니다.
2. 검색 표현식의 기본 구조
2.1 기본 문법
검색 표현식의 기본 형식은 다음과 같습니다:
SEARCH(' {Namespace, DimensionName1, DimensionName2, ...} SearchTerm', 'Statistic')
각 구성 요소를 자세히 살펴보겠습니다:
- SEARCH: 검색을 시작하는 키워드입니다.
중괄호 {...}: 검색할 지표의 범위를 지정합니다.- Namespace: AWS 서비스나 사용자 정의 네임스페이스
- DimensionName: 지표를 구분하는 차원들
- SearchTerm: 실제 검색할 용어나 조건
- Statistic: 데이터를 어떻게 집계할지 지정 (Average, Sum 등)
2.2 실제 예시
SEARCH('{AWS/EC2,InstanceId} MetricName="CPUUtilization"', 'Average')
이 예시는:
- AWS/EC2 네임스페이스에서
- InstanceId 차원을 가진
- CPUUtilization이라는 지표를 검색하여
- Average(평균) 통계값을 보여줍니다
팁
처음 사용할 때는 이미 알고 있는 지표로 시작하여 검색 표현식에 익숙해지는 것이 좋습니다.
3. 토큰화 - 검색의 기본 원리
3.1 토큰화란?
토큰화는 검색 시스템이 문자열을 작은 단위(토큰)로 나누는 과정입니다. CloudWatch는 이 토큰들을 사용해 검색을 수행합니다.
3.2 토큰화 규칙
CloudWatch는 다음과 같은 규칙으로 문자열을 토큰으로 나눕니다:
- 대문자 구분: 낙타 표기법의 대문자를 기준으로 나눔
- 숫자 구분: 숫자는 새로운 토큰의 시작
- 특수문자 구분: 영숫자가 아닌 문자는 구분자로 사용
3.3 토큰화 예시 상세 설명
| 원래 문자열 | 생성된 토큰 | 설명 |
|---|---|---|
| CustomCount1 | customcount1, custom, count, 1 | - 'Custom'과 'Count'는 대문자로 시작해 분리 - '1'은 숫자라서 별도 토큰 |
| SDBFailure | sdbfailure, sdb, failure | - 'SDB'와 'Failure'는 대문자로 구분 - 모든 토큰은 소문자로 변환 |
| Project2-trial333 | project2trial333, project, 2, trial, 333 | - 하이픈(-)은 구분자로 사용 - 숫자들(2, 333)은 별도 토큰 |
정보
토큰화를 이해하면 검색어를 더 효과적으로 작성할 수 있습니다. 예를 들어, "CPUUtilization"을 검색할 때 "cpu" 또는 "util"로도 찾을 수 있습니다.