

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

# Splunk 데이터 소스에 연결
<a name="splunk-datasource"></a>

**참고**  
이 데이터 소스는 Grafana Enterprise 전용입니다. 자세한 내용은 [Enterprise 플러그인에 대한 액세스 관리](upgrade-to-enterprise-plugins.md) 단원을 참조하십시오.  
또한 버전 9 이상을 지원하는 워크스페이스에서 이 데이터 소스를 사용하려면 적절한 플러그인을 설치해야 할 수 있습니다. 자세한 내용은 [플러그인을 사용하여 워크스페이스 확장](grafana-plugins.md) 단원을 참조하십시오.

## 구성
<a name="splunk-configuration-3"></a>

### 데이터 소스 구성
<a name="splunk-data-source-config"></a>

 데이터 소스를 구성할 때 URL 필드가 `https`를 사용하고 구성된 Splunk 포트를 가리키는지 확인합니다. 기본 Splunk API 포인트는 8000이 아닌 8089입니다(기본 웹 UI 포트임). **기본 인증을 활성화하고 Splunk 사용자 이름과 암호를 지정합니다.

#### 브라우저(직접) 액세스 모드 및 CORS
<a name="splunk-browser-direct-access-mode-and-cors"></a>

 Amazon Managed Grafana는 Splunk 데이터 소스에 대한 브라우저 직접 액세스를 지원하지 않습니다.

### 고급 옵션
<a name="splunk-advanced-options"></a>

#### 스트림 모드
<a name="stream-mode"></a>

 검색 결과가 사용 가능해질 때 검색 결과를 가져오도면 스트림 모드를 활성화합니다. 이 기능은 실험적 기능이므로 실제로 필요할 때까지 활성화하지 마세요.

#### 결과 폴링
<a name="splunk-poll-result"></a>

 검색을 실행한 다음, 주기적으로 결과를 확인합니다. 후드에서 이 옵션은 `exec_mode`가 `normal`로 설정된 `search/jobs` API 직접 호출을 실행합니다. 이 경우 API 요청은 작업 SID를 반환한 다음, Grafana는 작업 결과를 얻기 위해 때때로 작업 상태를 확인합니다. 이 옵션은 느린 쿼리에 유용할 수 있습니다. 기본적으로 이 옵션은 비활성화되어 있으며 Grafana는 `exec_mode`를 `oneshot`으로 설정하여 동일한 API 직접 호출에서 검색 결과를 반환할 수 있습니다. [Splunk 문서](https://docs.splunk.com/Documentation/Splunk/latest/RESTREF/RESTsearch#search.2Fjobs)에서 `search/jobs` API 엔드포인트에 대해 자세히 알아보세요.

#### 검색 폴링 간격
<a name="splunk-search-polling-interval"></a>

 이 옵션을 사용하면 Amazon Managed Grafana에서 검색 결과를 위해 Splunk를 폴링하는 빈도를 조정할 수 있습니다. [최소, 최대) 간격에서 무작위로 선택하는 다음 폴링 시간. 대량 검색을 많이 실행하는 경우 이 값을 늘리는 것이 좋습니다. 팁: 검색 작업 실행에 시간이 오래 걸리는 경우 **최소를 늘리고 병렬 검색을 많이 실행하는 경우(Grafana 대시보드에서 많은 Splunk 지표) **최대를 늘립니다. 기본값은 [500, 3000)밀리초 간격입니다.

#### 자동 취소
<a name="auto-cancel"></a>

 지정된 경우 작업이 이 기간(초 단위)에 활동이 없으면 자동으로 취소됩니다(0은 자동 취소 없음). 기본값은 30입니다.

#### 상태 버킷
<a name="status-buckets"></a>

 생성할 최대 상태 버킷. 0은 타임라인 정보를 생성하지 않음을 나타냅니다. 기본값은 300입니다.

#### 필드 검색 모드
<a name="splunk-fields-search-mode"></a>

 시각적 쿼리 편집기를 사용하는 경우 데이터 소스는 선택한 소스 유형에 사용 가능한 필드 목록을 가져오려고 시도합니다.
+  빠른 - 미리 보기에서 사용 가능한 첫 번째 결과를 사용합니다.
+  전체 - 작업이 완료될 때까지 기다렸다가 전체 결과를 얻습니다.

#### 가장 빠른 기본 시간
<a name="default-earliest-time"></a>

 일부 검색에서는 대시보드 시간 범위(예: 템플릿 변수 쿼리)를 사용할 수 없습니다. 이 옵션은 항상 검색을 방지하여 Splunk 속도를 늦출 수 있습니다. 구문은 정수 및 시간 단위 `[+|-]<time_integer><time_unit>`입니다. 예: `-1w`. [시간 단위](https://docs.splunk.com/Documentation/Splunk/latest/Search/Specifytimemodifiersinyoursearch)는 `s, m, h, d, w, mon, q, y`일 수 있습니다.

#### 변수 검색 모드
<a name="splunk-variables-search-mode"></a>

 템플릿 변수 쿼리를 위한 검색 모드입니다. 가능한 값은 다음과 같습니다.
+  빠른 - 이벤트 검색을 위한 필드 검색을 끕니다. 통계 검색을 위한 이벤트 또는 필드 데이터가 없습니다.
+  스마트 - 이벤트 검색을 위한 필드 검색을 켭니다. 통계 검색을 위한 이벤트 또는 필드 데이터가 없습니다.
+  상세 - 모든 이벤트 및 필드 데이터.

## 사용법
<a name="splunk-usage-5"></a>

### 쿼리 편집기
<a name="splunk-query-editor-2"></a>

#### 편집기 모드
<a name="splunk-editor-modes"></a>

 쿼리 편집기는 원시 모드 및 시각적 모드와 같은 두 가지 모드를 지원합니다. 이러한 모드 사이를 전환하려면 편집기 오른쪽에 있는 햄버거 아이콘을 선택하고 **편집기 모드 전환을 선택합니다.

#### 원시 모드
<a name="raw-mode"></a>

 다음 코드 예제와 같이 시계열 데이터에 대해 `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 Search Reference](https://docs.splunk.com/Documentation/Splunk/latest/SearchReference/WhatsInThisManual)에서 [timechart](https://docs.splunk.com/Documentation/Splunk/latest/SearchReference/Timechart) 명령에 대해 알아보고 더 많은 검색 예제를 찾을 수 있습니다.

#### Splunk 지표 및 `mstats`
<a name="splunk-metrics-and-mstats"></a>

 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 Search Reference](https://docs.splunk.com/Documentation/Splunk/latest/SearchReference/Mstats)에서 `mstats` 명령에 대해 자세히 알아보세요.

#### 형식
<a name="format-as"></a>

 지원되는 결과 형식 모드는 **시계열(기본값)과 **테이블입니다. 테이블 모드는 집계된 데이터를 표시하려는 경우 테이블 패널과 함께 사용하는 데 적합합니다. 원시 이벤트(선택한 모든 필드를 반환) 및 테이블과 유사한 데이터를 반환하는 `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의 **통계 탭과 유사합니다.

 [Splunk Search Reference](https://docs.splunk.com/Documentation/Splunk/latest/SearchReference/Stats)에서 `stats` 함수 사용에 대해 자세히 알아보세요.

#### 시각적 모드
<a name="splunk-visual-mode"></a>

이 모드는 단계별 검색 생성을 제공합니다. 이 모드는 `timechart` Splunk 검색을 생성합니다. 인덱스, 소스 유형 및 지표를 선택하고 원하는 경우 분할 기준 필드를 설정하기만 하면 됩니다.

##### 지표
<a name="splunk-metric"></a>

 지표 행 오른쪽에 있는 **더하기 버튼을 선택하여 여러 지표를 추가할 수 있습니다. 지표 편집기에는 자주 사용되는 집계 목록이 포함되어 있지만 여기에서 다른 함수를 지정할 수 있습니다. agg 세그먼트(기본적으로 `avg`)를 선택하고 필요한 항목을 입력하기만 하면 됩니다. 드롭다운 목록에서 관심 필드를 선택하거나 입력하고, 원하는 경우 별칭을 설정합니다.

##### 분위 기준 및 위치
<a name="split-by-and-where"></a>

 분할 기준 필드를 설정하고 *시계열* 모드를 사용하는 경우 Where 편집기를 사용할 수 있습니다. **더하기를 선택하고 연산자, 집계 및 값을 선택합니다. 예를 들어 **Where avg in top 10과 같습니다. 이 **Where 절은 *분할 기준*의 일부입니다. [timechart 문서](https://docs.splunk.com/Documentation/Splunk/latest/SearchReference/timechart#where_clause)에서 자세히 알아보세요.

#### 옵션
<a name="splunk-options"></a>

 기본 timechart 옵션을 변경하려면 마지막 행에서 **옵션**을 선택합니다.

[timechart 문서](https://docs.splunk.com/Documentation/Splunk/latest/SearchReference/timechart)에서 이러한 옵션에 대해 자세히 알아보세요.

#### 렌더링된 Splunk 검색
<a name="rendered-splunk-search"></a>

 왼쪽에서 대상 문자를 선택하여 편집기를 축소한 후 렌더링된 Splunk 검색을 표시합니다.

### Annotations
<a name="splunk-annotations-2"></a>

그래프에 Splunk 알림 또는 이벤트를 표시하려면 주석을 사용합니다. 주석은 사전 정의된 Splunk 알림 또는 정기적인 Splunk 검색일 수 있습니다.

#### Splunk 알림
<a name="splunk-alert"></a>

 알림 이름을 지정하거나 필드를 비워 두면 모든 알림이실행됩니다. 템플릿 변수가 지원됩니다.

#### Splunk 검색
<a name="splunk-search"></a>

 다음 예제와 같이 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*\]: (.*)
```

 정규식을 사용하면 메시지의 일부를 추출할 수 있습니다.

### 템플릿 변수
<a name="splunk-template-variables"></a>

 템플릿 변수 기능은 `stats` 명령과 같은 값 목록을 반환하는 Splunk 쿼리를 지원합니다.

```
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"
```

#### 다중 값 변수
<a name="splunk-multi-value-variables"></a>

 쿼리에 다중 값 변수를 사용할 수 있습니다. 보간된 검색은 변수 사용 컨텍스트에 따라 달라집니다. 플러그인에서 지원하는 여러 컨텍스트가 있습니다. 선택한 값 `foo` 및 `bar`가 있는 `$container` 변수가 있다고 가정합니다.
+  `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)
  ```

#### 다중 값 변수 및 따옴표
<a name="multi-value-variables-and-quotes"></a>

 변수를 따옴표(큰따옴표 또는 작은따옴표)로 묶은 경우 다음 예제와 같이 해당 값도 따옴표로 묶습니다.

```
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')
```