Splunk 데이터 소스에 연결 - Amazon Managed Grafana

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

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/jobsAPI 엔드포인트에 대한 자세한 내용은 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')