> For the complete documentation index, see [llms.txt](https://docs.panther.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.panther.com/ko/data-onboarding/panther-log-forwarder.md).

# Panther 로그 포워더 (베타)

## 개요

{% hint style="info" %}
Panther Log Forwarder는 Panther 버전 1.121부터 오픈 베타로 제공되며 모든 고객이 사용할 수 있습니다. 버그 보고와 기능 요청은 Panther 지원 팀과 공유해 주세요.
{% endhint %}

Panther Log Forwarder는 파일 또는 syslog에서 로그를 수집하여 Panther로 전송하는 경량 도구입니다. 시작하는 가장 쉬운 방법은 하나를 만드는 것입니다 [Log Forwarder 소스](/ko/data-onboarding/data-transports/log-forwarder.md) Panther 콘솔에서 생성하면 Panther에서 관리하는 S3 버킷이 프로비저닝되고 바로 사용할 수 있는 구성이 생성됩니다. 또는 로그를 직접 소유한 S3 버킷으로 보낼 수도 있습니다.

## 다운로드

플랫폼에 맞는 최신 릴리스를 다운로드하세요:

| 플랫폼             | 다운로드 링크                                                                                                                                                                    | 체크섬                                                                                                                                           |
| --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| Linux (x86\_64) | [panther-log-forwarder\_linux\_amd64.tar.gz](https://panther-community-us-east-1.s3.us-east-1.amazonaws.com/log-forwarder/latest/panther-log-forwarder_linux_amd64.tar.gz) | [SHA256](https://panther-community-us-east-1.s3.us-east-1.amazonaws.com/log-forwarder/latest/panther-log-forwarder_linux_amd64.tar.gz.sha256) |
| Linux (ARM64)   | [panther-log-forwarder\_linux\_arm64.tar.gz](https://panther-community-us-east-1.s3.us-east-1.amazonaws.com/log-forwarder/latest/panther-log-forwarder_linux_arm64.tar.gz) | [SHA256](https://panther-community-us-east-1.s3.us-east-1.amazonaws.com/log-forwarder/latest/panther-log-forwarder_linux_arm64.tar.gz.sha256) |

재현 가능한 설치나 통제된 업그레이드를 위해 특정 버전에 고정하려면, `latest` 다운로드 URL에서 릴리스된 버전 태그로 바꾸세요. The `latest/` 경로는 항상 최신 릴리스로 해석되며, 버전이 지정된 경로는 다음 패턴을 따릅니다:

```
https://panther-community-us-east-1.s3.us-east-1.amazonaws.com/log-forwarder/<version>/panther-log-forwarder_linux_<arch>.tar.gz
```

* `<버전>` — 릴리스된 버전 태그, 예: `v0.1.3` (현재 최신 릴리스)
* `<아키텍처>` — `amd64` (x86\_64) 또는 `arm64` (ARM64)

각 버전 디렉터리에는 일치하는 `.tar.gz.sha256` 체크섬 파일도 포함됩니다. 예를 들어 Linux (x86\_64)용 v0.1.3을 다운로드하려면:

```bash
wget https://panther-community-us-east-1.s3.us-east-1.amazonaws.com/log-forwarder/v0.1.3/panther-log-forwarder_linux_amd64.tar.gz
wget https://panther-community-us-east-1.s3.us-east-1.amazonaws.com/log-forwarder/v0.1.3/panther-log-forwarder_linux_amd64.tar.gz.sha256
```

## 시작하기

{% hint style="success" %}
**권장:** 하나를 생성 [Log Forwarder 소스](/ko/data-onboarding/data-transports/log-forwarder.md) Panther 콘솔에서. 그러면 Panther에서 관리하는 S3 버킷이 자동으로 프로비저닝되어 로그를 보낼 수 있고, PLF 에이전트용 바로 사용할 수 있는 YAML 구성이 생성됩니다. 추가 인프라는 필요하지 않습니다.
{% endhint %}

다음 단계에 따라 로그 포워더를 설치하고 몇 분 안에 로그 전송을 시작하세요. 이 예시는 Log Forwarder 소스를 사용하여 파일의 로그를 Panther에서 관리하는 S3 버킷으로 전송합니다. 자체 S3 버킷으로 로그를 보내거나 더 많은 구성 옵션을 보려면 아래를 참조하세요.

### 사전 요구 사항

* systemd가 있는 Linux (Ubuntu 20.04+, Debian 11+, RHEL 8+, Rocky Linux 8+)
* sudo/root 권한
* 한 [Log Forwarder 소스](/ko/data-onboarding/data-transports/log-forwarder.md) Panther 콘솔에서 생성된 — 그러면 S3 버킷이 프로비저닝되고 아래에서 사용할 YAML 구성이 생성됩니다. (대신 자체 S3 버킷으로 로그를 보내려면, [S3 출력](#s3-output).)

### 1단계: 설치

```bash
# 다운로드 (x86_64 — ARM64의 경우 "amd64"를 "arm64"로 바꾸세요)
wget https://panther-community-us-east-1.s3.us-east-1.amazonaws.com/log-forwarder/latest/panther-log-forwarder_linux_amd64.tar.gz

# 압축 해제 및 설치
tar -xzf panther-log-forwarder_linux_amd64.tar.gz
cd panther-log-forwarder
sudo ./install.sh
```

{% hint style="info" %}
**선택 사항: 설치 전에 체크섬 확인**

```bash
wget https://panther-community-us-east-1.s3.us-east-1.amazonaws.com/log-forwarder/latest/panther-log-forwarder_linux_amd64.tar.gz.sha256
sha256sum -c panther-log-forwarder_linux_amd64.tar.gz.sha256
```

{% endhint %}

### 2단계: 포워더 구성

귀하의 [Log Forwarder 소스](/ko/data-onboarding/data-transports/log-forwarder.md) 파일에 `/etc/panther-log-forwarder/forwarders.d/`. 여기에는 이미 S3 `버킷`, `리전`과 Panther에서 관리하는 버킷의 자격 증명이 포함되어 있으므로 수정할 필요가 없습니다.

생성된 구성은 다음과 같습니다:

```yaml
forwarders:
  my_app_logs:
    input:
      type: file
      path: /var/log/testapp
    output:
      type: s3
      bucket: YOUR_PANTHER_BUCKET
      region: YOUR_REGION
      auth:
        access_key_id: YOUR_ACCESS_KEY_ID
        secret_access_key: YOUR_SECRET_ACCESS_KEY
```

{% hint style="warning" %}
생성된 구성 파일에는 AWS 자격 증명이 포함되어 있으므로 안전하게 보관하세요.
{% endhint %}

### 3단계: 검증 및 시작

```bash
# 구성을 검증하세요
sudo panther-log-forwarder validate

# Panther 연결 및 S3 버킷 존재 여부를 테스트하세요
sudo panther-log-forwarder check-connectivity

# 서비스를 시작하세요
sudo systemctl start panther-log-forwarder
sudo systemctl enable panther-log-forwarder

# 실행 중인지 확인하세요
sudo panther-log-forwarder status
```

{% hint style="success" %}
몇 분 안에 Panther의 Data Explorer에 로그가 표시되어야 합니다.
{% endhint %}

***

## 명령어

| 명령                                                          | 설명                   |
| ----------------------------------------------------------- | -------------------- |
| `panther-log-forwarder validate`                            | 구성 구문을 검증            |
| `panther-log-forwarder check-connectivity`                  | 모든 대상에 대한 연결을 테스트    |
| `panther-log-forwarder check-connectivity --forwarder NAME` | 특정 포워더를 테스트          |
| `panther-log-forwarder start`                               | 전경에서 실행(디버깅용)        |
| `panther-log-forwarder status`                              | 상태, 메트릭, 포워더별 통계를 표시 |
| `panther-log-forwarder --version`                           | 버전 표시                |

프로덕션 환경에서는 systemd를 사용하세요: `sudo systemctl start panther-log-forwarder`

***

## 구성 참고

로그 포워더는 두 가지 유형의 구성 파일을 사용합니다:

1. **전역 설정** 에서 `/etc/panther-log-forwarder/panther.conf` — 설치 중에 적절한 기본값으로 자동 생성됩니다
2. **포워더 정의** 에서 `/etc/panther-log-forwarder/forwarders.d/*.yaml` — 수집할 로그와 보낼 위치를 정의하기 위해 직접 생성합니다

### 전역 구성

설치 프로그램은 `/etc/panther-log-forwarder/panther.conf` 기본값으로 생성합니다. 기본값을 변경해야 할 때만 수정하세요:

```yaml
# /etc/panther-log-forwarder/panther.conf
default_source_buffer_size: 3GB   # 포워더당 디스크 버퍼(기본값: 3GB)
log_level: info                   # debug, info, warn, error (기본값: info)
log_format: text                  # text 또는 json (기본값: text)
```

### 포워더 구성

각 포워더는 `forwarders` 아래에 고유한 이름으로 추가되며 `input` (수집할 항목) 및 `output` (보낼 위치) 섹션을 가집니다.

포워더 이름은 문자로 시작해야 하며, 영숫자, 밑줄 또는 하이픈만 포함할 수 있고, 길이는 1\~64자여야 합니다.

포워더를 여러 파일로 나누거나 하나의 파일에 모두 넣을 수 있으며, 어떤 `.yaml` 파일이 `forwarders.d/` 에 있으면 로드됩니다.

### 입력 유형

#### 파일 입력

글롭 패턴을 사용하여 로그 파일을 추적하세요:

```yaml
input:
  type: file
  path: /var/log/app/*.log       # 글롭 지원: *.log, **/*.log
  excludes: ["*.gz", "*.zip"]    # 선택 사항: 건너뛸 패턴
  read_from: end                 # 선택 사항: "end"(기본값) 또는 "beginning"
```

| 필드          | 필수  | 기본값   | 설명                                                                             |
| ----------- | --- | ----- | ------------------------------------------------------------------------------ |
| `type`      | 예   | -     | 반드시 `file`                                                                     |
| `path`      | 예   | -     | 파일 경로 또는 글롭 패턴                                                                 |
| `excludes`  | 아니요 | -     | 제외할 글롭 패턴 배열                                                                   |
| `read_from` | 아니요 | `end` | `end` = 새 줄만; `beginning` = 기존 내용을 읽음                                          |
| `format`    | 아니요 | -     | 콘텐츠 형식 힌트. 다음으로 설정하세요: `syslog` syslog 형식 파일을 추적할 때(다음과 함께 사용 `parse: json`참조) |
| `parse`     | 아니요 | -     | 다음으로 설정 `json` syslog 줄을 구조화된 JSON으로 구문 분석하려면(필요 `format: syslog`)             |

{% hint style="warning" %}
다음을 사용하면 `read_from: beginning` 파일의 기존 로그 줄을 모두 전송합니다. 큰 파일의 경우 상당한 시간과 디스크 버퍼 공간이 필요할 수 있습니다.
{% endhint %}

**참고:**

* 줄바꿈으로 구분된 로그만 지원됩니다(한 로그 항목당 한 줄)
* 다중 줄 로그는 현재 지원되지 않습니다
* 시작 시 로그 포워더는 파일 경로에 접근 가능한지 검증하고 시작 전에 권한 오류를 보고합니다

#### Syslog 입력

네트워크를 통해 syslog 메시지를 수신하세요:

```yaml
input:
  type: syslog
  mode: tcp              # "tcp" 또는 "udp"
  address: 0.0.0.0:1514  # 수신 주소
```

| 필드        | 필수  | 설명                                              |
| --------- | --- | ----------------------------------------------- |
| `type`    | 예   | 반드시 `syslog`                                    |
| `mode`    | 예   | `tcp` 또는 `udp`                                  |
| `address` | 예   | 수신할 호스트와 포트                                     |
| `parse`   | 아니요 | 다음으로 설정 `json` syslog 메시지를 구조화된 JSON으로 구문 분석하려면 |

**참고:**

* 메시지는 원시 형식으로 Panther에 전송됩니다. 메시지가 RFC 3164 또는 RFC 5424 형식을 따르는 경우 Panther에 내장된 해당 syslog 스키마([`Syslog.RFC5424`](https://docs.panther.com/ko/data-onboarding/pages/e2ef2ec852b6071be2513315909591bc2771c13e#syslog.rfc5424)/[`Syslog.RFC3164`](https://docs.panther.com/ko/data-onboarding/pages/e2ef2ec852b6071be2513315909591bc2771c13e#syslog.rfc3164))를 사용하여 올바르게 구문 분석하고 분류할 수 있습니다.
* 사용 `parse: json` 구문 분석된 메시지를 json으로 Panther 소스로 보내려면. 구문 분석은 최선의 노력이며 RFC 준수 형식 외에도 가장 일반적인 syslog 형식을 대부분 지원합니다.

### S3 출력

로그 포워더는 로그를 Amazon S3 버킷으로 보냅니다. ...을 생성하면 [Log Forwarder 소스](/ko/data-onboarding/data-transports/log-forwarder.md) Panther 콘솔에서 Panther가 버킷을 프로비저닝하고 이 구성을 생성해 줍니다. 자체 S3 버킷으로 로그를 보내려면 다음 두 가지 인증 경로 중 하나를 사용하세요:

1. **인라인 정적 자격 증명** - 설정 `auth.access_key_id` 와 `auth.secret_access_key`. 이것이 Log Forwarder 소스가 생성해 주는 것이며, 포워더가 AWS 외부에서 실행되거나 자격 증명을 `yaml` 파일에 보관하는 것을 선호할 때도 유용합니다.
2. **AWS 기본 자격 증명 체인** (EC2 / ECS / EKS에서) - 다음을 생략하세요 `auth` 블록. AWS SDK는 인스턴스 프로파일/태스크 역할 또는 환경 변수에서 자격 증명을 자동으로 확인합니다(`AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`) . 파일 기반 자격 증명(`~/.aws/credentials`)은 기본적으로 지원되지 않습니다. 단, `panther-log-forwarder` 사용자에게 해당 파일을 읽을 수 있도록 권한을 명시적으로 부여한 경우는 제외됩니다.

```yaml
output:
  type: s3
  bucket: my-log-bucket
  region: us-east-1
  # key_prefix: "custom/prefix/%Y/%m/%d/"  # 선택 사항
  auth:                                     # 선택 사항 — AWS 기본 자격 증명 체인을 사용하려면 생략
    access_key_id: ${AWS_ACCESS_KEY_ID}
    secret_access_key: ${AWS_SECRET_ACCESS_KEY}
```

| 필드            | 필수  | 기본값                               | 설명                                                      |
| ------------- | --- | --------------------------------- | ------------------------------------------------------- |
| `type`        | 예   | -                                 | 반드시 `s3`                                                |
| `버킷`          | 예   | -                                 | S3 버킷 이름                                                |
| `리전`          | 예   | -                                 | AWS 리전(예: `us-east-1`)                                  |
| `key_prefix`  | 아니요 | `logs/{forwarder_name}/%Y/%m/%d/` | S3 키 접두사(strftime 토큰 지원, 다음으로 끝나야 함 `/`)                |
| `buffer_size` | 아니요 | `3GB`                             | 포워더별 디스크 버퍼 크기 재정의                                      |
| `auth`        | 아니요 | -                                 | 인라인 정적 AWS 자격 증명(참조 [자격 증명 관리](#credential-management)) |

**최소 IAM 권한:**

{% hint style="info" %}
이는 자체 S3 버킷으로 보낼 때만 적용됩니다. Log Forwarder 소스를 사용하면 Panther가 버킷을 프로비저닝하고 필요한 권한을 구성해 줍니다.
{% endhint %}

사용되는 IAM 주체에는 `s3:PutObject` 와 `s3:ListBucket` 권한이 있어야 합니다. 버킷이 **SSE-KMS** 고객 관리형 키를 사용하는 경우, 다음도 부여하세요 `kms:GenerateDataKey` 해당 키 ARN에 대해. 예시 정책은 다음과 같습니다

```json
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "s3:ListBucket",
      "Resource": "arn:aws:s3:::your-bucket-name"
    },
    {
      "Effect": "Allow",
      "Action": "s3:PutObject",
      "Resource": "arn:aws:s3:::your-bucket-name/*"
    }
    // 선택 사항, 버킷이 **SSE-KMS**를 사용하는 경우에만
    {
      "Effect": "Allow",
      "Action": "kms:GenerateDataKey",
      "Resource": "arn:aws:kms:{region}:{account_id}:key/{id}"
    }
  ]
}
```

**참고:**

* 로그는 업로드 전에 gzip으로 압축됩니다
* 배치: 10MB 또는 60초 중 먼저 도달하는 쪽

### 자격 증명 관리

#### S3 출력 - AWS 자격 증명

포워더 파일은 다음으로 보호됩니다 `0640` 권한 및 `root:panther-log-forwarder` 소유권 - root만 쓸 수 있고, 에이전트 서비스만 읽을 수 있습니다.

S3 출력은 기본적으로 AWS 자격 증명 체인(인스턴스 프로파일, 환경 변수)을 사용합니다 - `auth` 블록이 필요하지 않습니다. 명시적 자격 증명을 제공하려면 다음을 추가하세요 `auth` 블록:

| 필드                  | 필수(다음 경우 `auth` 설정됨) | 설명           |
| ------------------- | -------------------- | ------------ |
| `access_key_id`     | 예                    | AWS 액세스 키 ID |
| `secret_access_key` | 예                    | AWS 비밀 액세스 키 |

두 필드 모두 일반 텍스트 값 또는 `${ENV_VAR}` 에이전트가 시작할 때 해석되는 참조를 स्वीकार합니다.

```yaml
output:
  type: s3
  bucket: my-log-bucket
  region: us-east-1
  auth:
    access_key_id: ${AWS_ACCESS_KEY_ID}
    secret_access_key: ${AWS_SECRET_ACCESS_KEY}
```

환경 변수의 경우 systemd 유닛을 통해 값을 제공하세요(`Environment=` 인라인으로, 또는 `EnvironmentFile=` 가리키는 `chmod 600` 파일)

### 디스크 버퍼링

각 포워더에는 네트워크 중단 시 데이터 손실을 방지하기 위한 자체 디스크 버퍼(기본값: 3GB)가 있습니다. 로그는 전송할 수 있을 때까지 디스크에 저장됩니다.

버퍼가 가득 차면:

* **파일 입력** - 포워더가 차단되고 버퍼 공간이 확보될 때까지 읽기를 중지합니다(데이터 손실은 없지만 로그 파일이 커질 수 있음)
* **Syslog 입력** - 포워더가 가장 최신의 들어오는 메시지를 버립니다(메모리 문제를 방지하지만 일부 로그가 손실될 수 있음)

버퍼 크기는 전역적으로 다음에서 구성하세요 `panther.conf` 또는 포워더별로 다음을 사용하여 `buffer_size` 출력 섹션에서.

기본값 3GB는 대부분의 배포에 충분합니다. 데이터 손실을 방지하려면 대용량 소스의 버퍼 크기를 늘리는 것을 고려하세요.

### Syslog 구문 분석

기본적으로 syslog 메시지는 원시 텍스트로 전달됩니다. 다음을 추가하면 `parse: json` input에 syslog 메시지를 다음과 같은 필드를 가진 구조화된 JSON으로 구문 분석합니다 `timestamp`, `hostname`, `appname`, `severity`, 그리고 `메시지`.

이는 두 입력 유형 모두에서 작동합니다:

* **네트워크 syslog** (`type: syslog` + `parse: json`) — 내장 syslog 파싱을 사용합니다
* **파일 syslog** (`type: file` + `format: syslog` + `parse: json`) — 각 줄을 syslog 메시지로 파싱합니다

#### 파싱이 포함된 네트워크 syslog

```yaml
forwarders:
  parsed_syslog:
    input:
      type: syslog
      mode: tcp
      address: 0.0.0.0:1514
      parse: json
    output:
      type: s3
      bucket: my-log-bucket
      region: us-east-1
```

#### 파싱이 포함된 파일 syslog

사용 `format: syslog` 와 `parse: json` 입력에 추가하여 파일에 파싱해야 할 syslog 형식의 줄이 포함되어 있음을 나타냅니다:

```yaml
forwarders:
  os_syslog:
    input:
      type: file
      path: /var/log/syslog
      format: syslog
      parse: json
    output:
      type: s3
      bucket: my-log-bucket
      region: us-east-1
```

{% hint style="info" %}
`parse: json` syslog 컨텍스트가 필요하며, 다음 중 하나여야 합니다 `input.type: syslog` 또는 `input.format: syslog`. 일반 파일 입력과는 함께 사용할 수 없습니다.
{% endhint %}

{% hint style="warning" %}
활성화되면 `parse: json` 파싱은 최선의 노력으로 수행되지만, RFC 3164 / RFC 5424를 포함한 대부분의 일반적인 syslog 형식을 지원합니다. 파싱에 실패한 줄은 버려집니다.
{% endhint %}

***

## 추가 예시

### Syslog 서버

```yaml
# /etc/panther-log-forwarder/forwarders.d/syslog.yaml
forwarders:
  my_syslog:
    input:
      type: syslog
      mode: tcp
      address: 0.0.0.0:1514
    output:
      type: s3
      bucket: my-log-bucket
      region: us-east-1
```

### 제외 항목이 있는 여러 파일

```yaml
# /etc/panther-log-forwarder/forwarders.d/app.yaml
forwarders:
  app_logs:
    input:
      type: file
      path: /var/log/myapp/*.log
      excludes: ["*.gz", "*.old"]
    output:
      type: s3
      bucket: my-log-bucket
      region: us-east-1
```

### 하나의 파일에 여러 포워더

```yaml
# /etc/panther-log-forwarder/forwarders.d/all-logs.yaml
forwarders:
  auth_logs:
    input:
      type: file
      path: /var/log/auth.log
    output:
      type: s3
      bucket: my-log-bucket
      region: us-east-1

  syslog_server:
    input:
      type: syslog
      mode: tcp
      address: 0.0.0.0:1514
    output:
      type: s3
      bucket: my-log-bucket
      region: us-east-1
```

### JSON 파싱이 포함된 Syslog to S3

```yaml
# /etc/panther-log-forwarder/forwarders.d/syslog-s3.yaml
forwarders:
  syslog_to_s3:
    input:
      type: syslog
      mode: udp
      address: 0.0.0.0:514
      parse: json
    output:
      type: s3
      bucket: my-log-bucket
      region: us-east-1
```

### S3 출력

포워더가 AWS 환경에서 실행되거나 systemd 유닛에 환경 변수가 제공된 경우(인증 블록 불필요):

```yaml
# /etc/panther-log-forwarder/forwarders.d/s3.yaml
forwarders:
  s3_archive:
    input:
      type: file
      path: /var/log/app/*.log
    output:
      type: s3
      bucket: my-log-bucket
      region: us-east-1
```

### 인라인 AWS 자격 증명이 포함된 S3 출력

포워더가 AWS 외부에서 실행되며, 명시적 자격 증명이 정의된 경우:

```yaml
# /etc/panther-log-forwarder/forwarders.d/s3-inline.yaml
forwarders:
  s3_archive:
    input:
      type: file
      path: /var/log/app/*.log
    output:
      type: s3
      bucket: my-log-bucket
      region: us-east-1
      auth:
        access_key_id: my_access_key_id
        secret_access_key: my_secret_access_key
```

***

## 문제 해결

### 로그 확인

문제 해결 시 확인할 로그 파일은 두 개입니다:

* **`/var/log/panther-log-forwarder/log-forwarder.log`** - 시작 실패, 구성 오류, 연결 문제 등 포워더 서비스 자체의 문제를 확인합니다.
* **`/var/log/panther-log-forwarder/vector.log`** - 로그 수집 문제, 파싱 오류, 전달 실패 등 데이터 파이프라인의 문제를 확인합니다.

```bash
# 포워더 서비스 로그
sudo tail -f /var/log/panther-log-forwarder/log-forwarder.log

# 데이터 파이프라인 로그
sudo tail -f /var/log/panther-log-forwarder/vector.log
```

### 로그 포워더가 시작되지 않음

```bash
sudo panther-log-forwarder status
```

일반적인 원인:

* **구성 오류** - 실행 `sudo panther-log-forwarder validate`
* **권한 문제** - 확인 `/etc/panther-log-forwarder/forwarders.d/` 보유하고 있는지 `0750` 권한
* **파일 접근 오류** - 로그 포워더는 시작 시 파일 경로를 확인합니다. 경로가 존재하고 다음 사용자가 읽을 수 있는지 확인하세요: `panther-log-forwarder` 사용자
* **포트 충돌** - syslog 입력의 경우, 수신 포트가 사용 가능한지 확인하세요

### Panther에 로그가 표시되지 않음

```bash
sudo panther-log-forwarder check-connectivity
sudo panther-log-forwarder status
```

일반적인 원인:

* **잘못된 자격 증명** - 구성에 있는 AWS 자격 증명이 유효한지 확인하세요. Log Forwarder 소스를 사용하는 경우, 자격 증명이 Panther 콘솔에서 생성된 값과 일치하는지 확인하세요.
* **잘못된 버킷 또는 리전** - 다음을 다시 확인하세요 `버킷` 와 `리전` 구성의 값
* **네트워크 문제** - 호스트에서 S3까지의 연결을 테스트하세요
* **파일 경로 문제** - 경로가 존재하고 읽을 수 있는지 확인하세요
* **S3 권한** - S3 출력의 경우, IAM 권한이 허용하는지 확인하세요 `s3:PutObject` 와 `s3:ListBucket` (HeadBucket에서 사용됨). 추가하세요 `kms:GenerateDataKey` 버킷이 고객 관리 키가 있는 SSE-KMS를 사용하는 경우.

### 구성 오류

```bash
sudo panther-log-forwarder validate
```

일반적인 문제:

* YAML 구문 오류(들여쓰기, 따옴표)
* 필수 필드 누락(`type` 입력에; `버킷` 와 `리전`)
* 잘못된 입력 유형(다음이어야 함 `file` 또는 `syslog`)
* 잘못된 출력 유형(다음이어야 함 `s3`)
* 잘못된 포워더 이름(문자로 시작해야 하며, 영숫자/밑줄/하이픈만 허용)

***

## 운영

### 새 포워더 추가

1. 새 항목을 생성하세요 [Log Forwarder 소스](/ko/data-onboarding/data-transports/log-forwarder.md) Panther 콘솔에서(또는 자체 버킷에 대한 S3 출력을 구성하세요).
2. 다음에 새 YAML 파일을 추가하세요: `/etc/panther-log-forwarder/forwarders.d/`.
3. 검증: `sudo panther-log-forwarder validate`
4. 다시 시작: `sudo systemctl restart panther-log-forwarder`

### 구성 업데이트

1. 다음의 파일을 편집하세요: `/etc/panther-log-forwarder/`.
2. 검증: `sudo panther-log-forwarder validate`
3. 다시 시작: `sudo systemctl restart panther-log-forwarder`

### 업그레이드

1. 플랫폼에 맞는 새 릴리스 타르볼과 체크섬을 다운로드하세요(참조 [다운로드](#download)).
2. 체크섬을 확인한 뒤 압축을 풀고 설치 프로그램을 실행하세요:

```bash
sha256sum -c panther-log-forwarder_linux_amd64.tar.gz.sha256
tar -xzf panther-log-forwarder_linux_amd64.tar.gz
cd panther-log-forwarder
sudo ./install.sh
```

설치 프로그램은 서비스가 실행 중이었다면 자동으로 다시 시작합니다. 업그레이드를 확인하세요:

```bash
sudo panther-log-forwarder --version
sudo panther-log-forwarder status
```

다음 위치의 구성 파일은 `/etc/panther-log-forwarder/` 업그레이드 중에도 유지됩니다.

### 제거

```bash
sudo systemctl stop panther-log-forwarder
cd panther-log-forwarder   # 압축이 풀린 설치 디렉터리
sudo ./uninstall.sh
```

***

## 파일 위치

| 경로                                                 | 용도        |
| -------------------------------------------------- | --------- |
| `/etc/panther-log-forwarder/panther.conf`          | 전역 설정     |
| `/etc/panther-log-forwarder/forwarders.d/*.yaml`   | 포워더 구성    |
| `/var/log/panther-log-forwarder/log-forwarder.log` | 로그 포워더 로그 |
| `/var/log/panther-log-forwarder/vector.log`        | Vector 로그 |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.panther.com/ko/data-onboarding/panther-log-forwarder.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
