블랙리스트¶
블랙리스트를 설정하면 조건에 맞는 다양한 유형의 데이터를 필터링할 수 있습니다. 블랙리스트를 구성하면 조건에 맞는 데이터가 더 이상 Guance 워크스페이스에 업로드되지 않으므로 데이터 저장 비용을 절약할 수 있습니다.
전제 조건¶
- DataKit 설치 완료
- 로그 외 다른 데이터를 구성하려면 DataKit 버전이 1.4.7 이상이어야 합니다.
datakit.conf파일에 이미 Filter가 구성되어 있는 경우, 여기서 설정한 블랙리스트는 적용되지 않습니다.
블랙리스트 생성¶
- 관리 > 블랙리스트 > 블랙리스트 생성을 클릭합니다.
- 현재 블랙리스트 규칙의 이름과 설명을 정의합니다.
- 데이터 소스 유형을 선택합니다.
- 필요에 따라 하나 이상의 필터 규칙을 추가합니다.
- 확인을 클릭하면 데이터 블랙리스트 필터 규칙이 활성화됩니다.
참고
- 로그 데이터에 대해서만 블랙리스트를 생성하려면 로그 > 블랙리스트로 바로 이동하여 구성할 수 있습니다.
- 데이터 유형은 문자열, 정수, 부동 소수점 세 가지를 지원합니다.
- 데이터 소스가 로그인 경우, 기능 메뉴 로그 > 블랙리스트 아래에 로그 필터 규칙이 동시에 생성되며, 그 반대의 경우도 마찬가지입니다.
데이터 소스¶
블랙리스트 이름은 데이터 소스에 따라 자동으로 생성되며, 로그, 기본 객체, 리소스 카탈로그, 네트워크, APM, RUM, 이벤트, 메트릭, 프로파일링을 포함합니다.
필드 이름, 필드 값 등의 정보를 입력한 후 DataKit을 통해 데이터 소스와 필드를 구성하고 데이터를 업로드하면 적용됩니다.
| 데이터 유형 | 데이터 소스 (사용자 정의 사전 설정 지원) |
|---|---|
| 로그 | 로그 소스(source), 예: nginx 등 |
| 기본 객체 | 클래스(class), 예: HOST 등 |
| 리소스 카탈로그 | 클래스(class), 예: MySQL 등 |
| 네트워크 | 소스(source), 예: netflow, httpflow |
| APM | 서비스(service), 예: redis 등; "전체 서비스" 선택 가능 |
| RUM | 애플리케이션(app_id) |
| 이벤트 | 소스(source), 예: monitor 등 |
| 메트릭 | 메저먼트, 예: cpu 등 |
| 프로파일링 | 서비스(service) |
필터 규칙¶
| 구성 항목 | 설명 |
|---|---|
| 조건 관계 | 또는/OR): 하나의 규칙이라도 만족하면 필터링그리고/AND): 모든 규칙을 만족해야 필터링 |
| 필드명 | 탐색기 "표시 열"의 필드명, 대소문자 구분, 완전 일치 필요 |
| 필드값 | 단일 값, 다중 값(쉼표로 구분), 정규 표현식 지원 |
| 연산자 | in (정확히 일치, 포함)not in (정확히 일치, 불포함)match (정규식 일치)not match (정규식 불일치) |
필드값 형식 설명¶
| 유형 | 입력 형식 | 예시 |
|---|---|---|
| 단일 값 | 직접 입력 | error |
| 다중 값 | 쉼표로 구분, 공백 없음 | ok,info,debug |
| 정규식 | 정규 표현식 직접 입력 | ^test-.* |
연산자 설명¶
1. 정규식 문법
Go 표준 정규식 문법(RE2)을 사용합니다.
일반적인 예시:
^prod-:prod-로 시작하는 문자열 일치.*\.test\.:.test.를 포함하는 문자열 일치
2. 정확히 일치 설명
in / not in은 완전 일치이며 대소문자를 구분합니다. 예를 들어 status in error는 error만 일치시키고 ERROR나 error_msg는 일치시키지 않습니다.
규칙 예시¶
다음 예시에서:
- 블랙리스트 이름을 "네트워크 장치"로 정의합니다.
- 설명을 추가하지 않습니다.
- 기본 객체 데이터를 필터링하도록 선택하고, SNMP를 통해 수집된 객체 데이터만 필터링합니다.
-
조건 관계를 "모두"로 선택하고, 장치 이름이
switch-s5700인 SNMP 네트워크 장치 데이터가 Guance에 업로드되지 않도록 규칙을 정의합니다.- 필드명:
device_hostname - 연산자:
in (포함) - 필드값:
switch-s5700
- 필드명:
-
확인합니다.
위 예시는 표준적인 블랙리스트 사용 사례입니다.
사용자가 SNMP를 통해 네트워크 장치 데이터를 수집하지만, 특정 장치(switch-s5700)를 모니터링하고 싶지 않을 때 블랙리스트를 통해 해당 장치의 데이터를 필터링하여 저장 비용을 절약합니다.
블랙리스트 적용 확인¶
- 적용 대기: 구성 후 최소 10초 대기 (DataKit은 10초마다 구성을 가져옴)
- 데이터 비교: 탐색기에서 구성 전후의 동일한 시간대를 선택하고 데이터 건수가 감소했는지 확인
- 구성 전달 확인: DataKit 호스트에서
/usr/local/datakit/data/.pull파일을 확인하여 블랙리스트 구성이 저장되었는지 확인
목록 작업¶
다음 작업을 통해 블랙리스트 목록을 관리할 수 있습니다.
- 데이터 유형별로 필터링
- 검색창에 블랙리스트 이름을 입력하여 검색 및 찾기
- 블랙리스트 활성화/비활성화
- 이미 생성된 데이터 필터 규칙 수정
- 기존 필터 규칙 삭제. 삭제 후 데이터는 정상적으로 워크스페이스에 업로드됩니다.
- 를 클릭하여 블랙리스트를 일괄 내보내거나 일괄 삭제할 수 있습니다.
- JSON 파일을 가져와 블랙리스트를 생성할 수 있지만, 해당 파일이 Guance에서 제공하는 구성 파일인지 확인해야 합니다.
주의사항¶
- DataKit 설치 구성 시
datakit.conf파일에 블랙리스트 필터를 구성한 경우, Guance에서 구성한 블랙리스트 규칙은 적용되지 않습니다. - DataKit은 10초마다 데이터를 가져옵니다. 따라서 블랙리스트 구성이 즉시 적용되지 않으며 최소 10초를 기다려야 합니다.
- 블랙리스트 구성이 완료되면 DataKit 디렉토리
/usr/local/datakit/data아래의.pull파일에 통합 저장됩니다. - 블랙리스트 필터는 DataKit 측에서 실행되며, 필터링된 데이터는 Guance로 전송되지 않으며 복구할 수 없습니다.
