# Nginx 로그

## 개요

Panther는 일반적인 방식을 통해 Nginx 로그 수집을 지원합니다 [데이터 전송](/ko/data-onboarding/data-transports.md) 옵션: Amazon Web Services(AWS) S3, SQS, 및 CloudWatch.

## Nginx 로그를 Panther에 온보딩하는 방법

이 로그를 Panther에 연결하려면:

1. Panther Console의 왼쪽 탐색 모음에서 **구성하세요.** > **로그 소스**.
2. 을 클릭한 다음 **새로 만들기**.
3. 온보딩하려는 로그 유형을 검색한 다음 해당 타일을 클릭합니다.
4. 이 통합에 사용할 데이터 전송 방법을 선택한 다음, 해당 방법을 구성하기 위한 Panther의 지침을 따르세요:
   * [AWS CloudWatch](/ko/data-onboarding/data-transports/aws/cloudwatch.md)
   * [AWS SQS](/ko/data-onboarding/data-transports/aws/sqs.md)
   * [AWS S3 버킷](/ko/data-onboarding/data-transports/aws/s3.md)
5. Nginx가 로그를 Data Transport 소스로 푸시하도록 구성합니다.
   * 선택한 Data Transport 소스로 로그를 푸시하는 방법은 Nginx 문서를 참조하세요.

## Data Explorer에서 로그 조회

Panther의 Data Explorer에서 NGINX 로그를 조회하는 예시는 다음을 참조하세요. [Nginx 및 ALB 액세스 로그 조회](/ko/search/data-explorer/example-queries/nginx-and-alb-access-logs-queries.md).

## 지원되는 로그 유형

### Nginx.Access

Nginx 서버의 액세스 로그입니다. Panther는 Nginx의 'combined' 형식을 지원합니다.

참조: [로그 형식 지정에 대한 Nginx 문서.](http://nginx.org/en/docs/http/ngx_http_log_module.html#log_format)

```yaml
schema: Nginx.Access
parser:
    fastmatch:
        match:
            - '%{remoteAddr} - %{remoteUser} [%{time}] "%{request}" %{status} %{bodyBytesSent} "%{httpReferer}" "%{httpUserAgent}"'
        emptyValues:
            - '-'
description: Nginx 서버의 액세스 로그입니다. 현재 Nginx의 'combined' 형식을 지원합니다.
referenceURL: https://nginx.org/en/docs/http/ngx_http_log_module.html#log_format
fields:
    - name: remoteAddr
      description: 서버에 요청을 보낸 클라이언트(원격 호스트)의 IP 주소입니다.
      type: string
      indicators:
        - ip
    - name: remoteUser
      description: 요청을 보낸 사람의 사용자 ID입니다. 일반적으로 .htaccess에서 인증을 요청하지 않는 한 비어 있습니다.
      type: string
      indicators:
        - username
    - 이름: time
      required: true
      description: 요청이 수신된 시간(UTC)입니다.
      type: timestamp
      timeFormats:
        - '%d/%b/%Y:%H:%M:%S %z'
      isEventTime: true
    - name: request
      description: 클라이언트로부터의 요청 줄입니다. HTTP 메서드, 요청된 리소스, HTTP 프로토콜이 포함됩니다.
      type: string
    - 이름: status
      description: 클라이언트에게 반환된 HTTP 상태 코드입니다.
      type: smallint
    - name: bodyBytesSent
      description: 클라이언트에게 반환된 객체의 크기이며, 바이트 단위로 측정됩니다.
      type: bigint
    - name: httpReferer
      description: HTTP 리퍼러가 있는 경우입니다.
      type: string
    - name: httpUserAgent
      description: 요청을 할 때 사용자가 사용한 에이전트입니다.
      type: string
```

### Nginx.Error

Nginx 서버의 오류 로그입니다.

```yaml
schema: Nginx.Error
parser:
    fastmatch:
        match:
            - '%{time} [%{severity}] %{pid}#%{tid}: *%{message}'
        emptyValues:
            - '-'
description: Nginx 서버의 오류 로그입니다.
referenceURL: https://nginx.org/en/docs/http/ngx_http_log_module.html#log_format
fields:
    - 이름: time
      required: true
      description: 오류가 발생한 시간(UTC)입니다.
      type: timestamp
      timeFormats:
        - '%Y/%m/%d %H:%M:%S'
      isEventTime: true
    - name: severity
      required: true
      description: 오류의 심각도 수준입니다.
      type: string
    - name: pid
      description: Nginx 서버의 프로세스 ID입니다.
      type: bigint
    - name: tid
      description: Nginx 서버의 스레드 ID입니다.
      type: bigint
    - name: message
      required: true
      description: 오류 메시지입니다.
      type: string
```


---

# Agent Instructions: 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:

```
GET https://docs.panther.com/ko/data-onboarding/supported-logs/nginx.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
