기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Splunk 데이터 소스에 연결
참고
이 데이터 소스는 Grafana Enterprise 전용입니다. 자세한 정보는 엔터프라이즈 플러그인 액세스 관리을 참조하세요.
또한 버전 9 이상을 지원하는 작업 공간에서는 이 데이터 소스를 사용하려면 적절한 플러그인을 설치해야 할 수 있습니다. 자세한 정보는 플러그인으로 작업 영역 확장을 참조하세요.
구성
데이터 소스 구성
데이터 소스를 구성할 때 URL 필드가 구성된 Splunk 포트를 https
활용하고 이를 가리키는지 확인하십시오. 기본 스플렁크 API 포인트는 8000이 아니라 8089입니다 (기본 웹 UI 포트). 기본 인증을 활성화하고 Splunk 사용자 이름과 비밀번호를 지정합니다.
브라우저 (다이렉트) 액세스 모드 및 CORS
Amazon Managed Grafana는 Splunk 데이터 소스에 대한 브라우저 직접 액세스를 지원하지 않습니다.
고급 옵션
스트림 모드
검색 결과가 나오는 대로 가져오려면 스트리밍 모드를 활성화하세요. 이 기능은 실험용 기능이므로 꼭 필요할 때까지는 활성화하지 마세요.
설문 조사 결과
검색을 실행한 다음 정기적으로 결과를 확인합니다. 내부적으로 이 옵션은 로 exec_mode
설정된 상태에서 search/jobs
API 호출을 실행합니다normal
. 이 경우 API 요청은 작업 SID를 반환하고 Grafana는 작업 결과를 얻기 위해 수시로 작업 상태를 확인합니다. 이 옵션은 쿼리 속도가 느린 경우에 유용할 수 있습니다. 기본적으로 이 옵션은 비활성화되어 있으며 Grafana는 동일한 API 호출에서 검색 결과를 반환할 수 있도록 exec_mode
설정합니다oneshot
. search/jobs
API 엔드포인트에 대한 자세한 내용은 Splunk
검색 폴링 간격
이 옵션을 사용하면 Amazon Managed Grafana가 검색 결과에 대해 스플렁크를 폴링하는 빈도를 조정할 수 있습니다. [최소, 최대) 간격 중에서 임의로 선택하여 다음 설문 조사를 진행할 시간입니다. 검색량이 많은 경우에는 이 값을 늘리는 것이 좋습니다. 팁: 검색 작업 실행에 시간이 오래 걸리는 경우 Min을 늘리고, 병렬 검색을 많이 실행하는 경우 Max를 늘리십시오 (Grafana 대시보드의 splunk 메트릭이 많음). 기본값은 [500, 3000) 밀리초 간격입니다.
자동 취소
지정된 경우 몇 초 동안 사용하지 않으면 작업이 자동으로 취소됩니다 (0은 자동 취소 안 함을 의미함). 기본값은 30입니다.
상태 버킷
생성할 상태 버킷 수가 가장 많습니다. 0은 타임라인 정보를 생성하지 않음을 나타냅니다. 기본값은 300입니다.
필드 검색 모드
비주얼 쿼리 편집기를 사용하는 경우 데이터 소스는 선택한 소스 유형에 사용할 수 있는 필드 목록을 가져오려고 시도합니다.
-
빠름 - 미리보기에서 처음으로 사용 가능한 결과 사용
-
전체 - 작업이 완료될 때까지 기다리면 전체 결과를 얻을 수 있습니다.
기본 시작 시간
일부 검색에서는 대시보드 시간 범위 (예: 템플릿 변수 쿼리) 를 사용할 수 없습니다. 이 옵션을 사용하면 검색이 항상 중단되어 Splunk의 속도가 느려질 수 있습니다. 구문은 정수와 시간 단위입니다. [+|-]<time_integer><time_unit>
예를 들어 -1w
입니다. 시간 단위는s, m, h, d, w, mon, q, y
변수 검색 모드
템플릿 변수 쿼리를 위한 검색 모드. 가능한 값은 다음과 같습니다.
-
빠름 - 이벤트 검색 시 필드 디스커버리가 꺼집니다. 통계 검색에는 이벤트 또는 필드 데이터가 없습니다.
-
스마트 - 이벤트 검색을 위한 필드 디스커버리가 켜져 있습니다. 통계 검색에는 이벤트 또는 필드 데이터가 없습니다.
-
verbose - 모든 이벤트 및 필드 데이터
사용량
쿼리 편집기
에디터 모드
쿼리 편집기는 원시 모드와 시각적 모드의 두 가지 모드를 지원합니다. 이러한 모드 사이를 전환하려면 편집기 오른쪽에 있는 햄버거 아이콘을 선택하고 편집기 모드 전환을 선택합니다.
Raw 모드
다음 코드 예제와 같이 시계열 데이터에는 timechart
명령을 사용합니다.
index=os sourcetype=cpu | timechart span=1m avg(pctSystem) as system, avg(pctUser) as user, avg(pctIowait) as iowait index=os sourcetype=ps | timechart span=1m limit=5 useother=false avg(cpu_load_percent) by process_name
쿼리는 다음 예제와 같이 템플릿 변수를 지원합니다.
sourcetype=cpu | timechart span=1m avg($cpu)
Grafana는 시계열 지향 애플리케이션이므로 검색 시 시계열 데이터 (타임스탬프 및 값) 또는 단일 값을 반환해야 한다는 점을 기억하십시오. 공식 Splunk 검색 레퍼런스에서 타임차트
스플렁크 메트릭스 및 mstats
Splunk 7.x는 메트릭 분석을 위한 mstats
명령을 제공합니다. 차트가 제대로 작동하도록 mstats
하려면 차트를 timeseries
명령과 결합하고 prestats=t
옵션을 설정해야 합니다.
Deprecated syntax: | mstats prestats=t avg(_value) AS Value WHERE index="collectd" metric_name="disk.disk_ops.read" OR metric_name="disk.disk_ops.write" by metric_name span=1m | timechart avg(_value) span=1m by metric_name Actual: | mstats prestats=t avg(disk.disk_ops.read) avg(disk.disk_ops.write) WHERE index="collectd" by metric_name span=1m | timechart avg(disk.disk_ops.read) avg(disk.disk_ops.write) span=1m
Splunk 검색 레퍼런스에서 mstats
형식은 다음과 같습니다.
지원되는 결과 형식 모드는 시계열 (기본값) 과 표의 두 가지입니다. 집계된 데이터를 표시하려는 경우 테이블 패널과 함께 사용하기에 적합한 테이블 모드입니다. 이는 원시 이벤트 (선택한 모든 필드 반환) 및 테이블과 유사한 데이터를 반환하는 stats
검색 함수와 함께 작동합니다. 예:
index="os" sourcetype="vmstat" | fields host, memUsedMB index="os" sourcetype="ps" | stats avg(PercentProcessorTime) as "CPU time", latest(process_name) as "Process", avg(UsedBytes) as "Memory" by PID
결과는 Splunk UI의 통계 탭과 비슷합니다.
stats
함수 사용에 대한 자세한 내용은 Splunk 검색
비주얼 모드
이 모드는 step-by-step 검색 생성을 제공합니다. 이 모드에서는 timechart
splunk 검색이 생성된다는 점에 유의하십시오. 인덱스, 소스 유형, 지표를 선택하고 원하는 경우 필드별 분할을 설정하기만 하면 됩니다.
지표
지표 행 오른쪽에 있는 플러스 버튼을 선택하여 검색할 지표를 여러 개 추가할 수 있습니다. 지표 편집기에는 자주 사용되는 집계 목록이 포함되어 있지만 여기에 다른 함수를 지정할 수 있습니다. 애그 세그먼트 (기본값) 를 선택하고 필요한 내용을 입력하기만 하면 avg
됩니다. 드롭다운 목록에서 관심 필드를 선택 (또는 입력) 하고 원하는 경우 별칭을 설정합니다.
분할 기준 및 위치
필드별 분할을 설정하고 시계열 모드를 사용하면 어디서 편집기를 사용할 수 있습니다. 플러스를 선택하고 연산자, 집계, 값을 선택합니다 (예: 상위 10위 안에 avg 위치). 참고로 이 Where 절은 Split by의 일부입니다. 타임차트
옵션
기본 타임차트 옵션을 변경하려면 마지막 행에서 옵션을 선택합니다.
타임차트
렌더링된 스플렁크 검색
왼쪽의 대상 문자를 선택하여 편집기를 축소하고 렌더링된 스플렁크 검색을 표시합니다.
주석
Splunk 알림이나 이벤트를 그래프에 표시하려면 주석을 사용하십시오. 주석은 사전 정의된 Splunk 알림 또는 일반 splunk 검색일 수 있습니다.
스플렁크 알림
알림 이름을 지정하거나, 발생한 알림을 모두 가져오려면 필드를 비워 두십시오. 템플릿 변수가 지원됩니다.
스플렁크 검색
다음 예와 같이 splunk 검색을 사용하여 필요한 이벤트를 가져올 수 있습니다.
index=os sourcetype=iostat | where total_ops > 400 index=os sourcetype=iostat | where total_ops > $io_threshold
템플릿 변수가 지원됩니다.
텍스트 형식의 이벤트 필드 옵션은 필드 값을 주석 텍스트로 사용하려는 경우에 적합합니다. 다음 예제는 로그의 오류 메시지 텍스트를 보여줍니다.
Event field as text: _raw Regex: WirelessRadioManagerd\[\d*\]: (.*)
Regex를 사용하면 메시지의 일부를 추출할 수 있습니다.
템플릿 변수
템플릿 변수 기능은 값 목록을 반환하는 Splunk 쿼리를 지원합니다 (예: stats
명령 사용).
index=os sourcetype="iostat" | stats values(Device)
이 쿼리는 iostat
소스의 Device
필드 값 목록을 반환합니다. 그러면 이러한 기기 이름을 시계열 쿼리나 주석에 사용할 수 있습니다.
Grafana에서 사용할 수 있는 변수 쿼리에는 두 가지 유형이 있습니다. 첫 번째는 값 목록을 반환하는 간단한 쿼리 (앞서 설명했듯이) 입니다. 두 번째 유형은 키/값 변수를 만들 수 있는 쿼리입니다. 쿼리는 이름이 _text
및 인 열 두 개를 반환해야 합니다. _value
_text
열 값은 고유해야 합니다 (고유하지 않으면 첫 번째 값이 사용됨). 드롭다운 목록의 옵션에는 텍스트와 값이 포함되므로 친숙한 이름을 텍스트로, ID를 값으로 사용할 수 있습니다.
예를 들어 이 검색에서는 열 Name
(Docker 컨테이너 이름) 과 Id
(컨테이너 ID) 이 있는 테이블을 반환합니다.
source=docker_inspect | stats count latest(Name) as Name by Id | table Name, Id
컨테이너 이름을 변수의 가시적 값으로 사용하고 id를 실제 값으로 사용하려면 다음 예제와 같이 쿼리를 수정해야 합니다.
source=docker_inspect | stats count latest(Name) as Name by Id | table Name, Id | rename Name as "_text", Id as "_value"
다중 값 변수
쿼리에 다중 값 변수를 사용할 수 있습니다. 보간 검색은 변수 사용 컨텍스트에 따라 달라집니다. 플러그인이 지원하는 컨텍스트는 여러 가지가 있습니다. 선택한 값이 $container
있는 변수가 있고 다음과 같이 foo
가정해 bar
보겠습니다.
-
search
명령용 기본 필터source=docker_stats $container => source=docker_stats (foo OR bar)
-
필드-값 필터
source=docker_stats container_name=$container => source=docker_stats (container_name=foo OR container_name=bar)
-
연산자 및 함수를 포함하는 필드값 필터
IN
in()
source=docker_stats container_name IN ($container) => source=docker_stats container_name IN (foo, bar) source=docker_stats | where container_name in($container) => source=docker_stats | where container_name in(foo, bar)
다중 값 변수 및 따옴표
변수를 따옴표로 묶은 경우 (큰따옴표 또는 작은따옴표 모두) 다음 예와 같이 해당 값도 함께 인용됩니다.
source=docker_stats container_name="$container" => source=docker_stats (container_name="foo" OR container_name="bar") source=docker_stats container_name='$container' => source=docker_stats (container_name='foo' OR container_name='bar')