# Heroku 로그

## 개요

Panther는 수집합니다 [Heroku 런타임 로그](https://devcenter.heroku.com/articles/logging#runtime-logs) 다음을 구성하여 [Heroku 로그 드레인](https://devcenter.heroku.com/articles/log-drains#https-drains) 이벤트를 Panther에 전송하려면 [HTTP 소스](https://docs.panther.com/ko/data-onboarding/data-transports/http).

## Heroku 런타임 로그를 Panther에 온보드하는 방법

### 전제 조건

* 이 프로세스의 2단계(Heroku에서 로그 드레인 생성)를 완료하려면 Heroku의 CLI가 설치되어 있어야 합니다. 아직 설치되어 있지 않은 경우 다음을 따르십시오 [Heroku의 설치 문서(여기)](https://devcenter.heroku.com/articles/heroku-cli#install-the-heroku-cli).

### 1단계: Panther에서 새 Heroku 소스 생성

1. Panther 콘솔의 왼쪽 탐색 바에서 클릭하세요 **구성** > **로그 소스.**
2. 를 선택하고 Panther가 설치된 계정 ID를 입력하십시오. **새로 만들기**.
3. “Heroku”를 검색한 다음 해당 타일을 클릭하세요.
   * 슬라이드 아웃 패널에서 **전송 메커니즘** 우측 상단의 드롭다운은 미리 채워진 상태일 것입니다 **HTTP** 옵션.
4. 를 선택하고 Panther가 설치된 계정 ID를 입력하십시오. **설정 시작**.

   <figure><img src="https://2400888838-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LgdiSWdyJcXPahGi9Rs-2910905616%2Fuploads%2Fgit-blob-9d7402e56ba8d1a2f57946c7d2f6c052ddc8d109%2FScreenshot%202023-07-11%20at%201.49.04%20PM.png?alt=media" alt="The new source setup page for Heroku is shown in the Panther Console. The Transport Mechanism dropdown field is has a value of &#x22;HTTP&#x22; pre-selected. To its right is a Start Setup button."><figcaption></figcaption></figure>
5. 다음을 따르세요 [Panther의 HTTP 소스 구성에 대한 지침](https://docs.panther.com/ko/data-onboarding/data-transports/http).
   * 이 로그 소스를 처음 설정할 때 **인증 방법** 을(를) **는 선택적**로 설정합니다. 아래 3단계에서 Heroku에서 인증 토큰을 가져온 후 이를 Shared Secret 인증으로 변경할 것입니다.
   * 이 소스로 전송된 페이로드는 다음의 적용을 받습니다 [모든 HTTP 소스에 대한 페이로드 요구사항](https://docs.panther.com/ko/data-transports/http#payload-requirements).
   * HTTP 엔드포인트 생성이 완료될 때까지 다음 단계로 진행하지 마세요.

### 2단계: Heroku에서 새 로그 드레인 생성

이 단계를 시작하기 전에 [사전 요구사항](#prerequisite) 이 충족되었는지 확인하세요.

1. Heroku CLI에서 다음 명령의 사용자화된 버전을 실행하여 Heroku 앱에서 Panther의 HTTP 소스로 향하는 로그 드레인을 설정하세요:\
   `heroku drains:add https://logs.mypantherdomain.runpanther.net/http/1081f021-a983-4dae-bcbb-1952ffaa4e72 -a myherokuappname`
2. 드레인 토큰을 가져오려면 다음 명령을 실행하세요:\
   `heroku drains --json -a myherokuappname`
   * 이 명령의 출력에서 `token`의 값을 저장하세요. 다음 단계에서 사용됩니다.

### 3단계: Panther에서 로그 소스 보안 설정

1. Panther 콘솔로 돌아가세요.
2. 1단계에서 생성한 로그 소스를 찾으려면 **구성** > **로그 소스**를 클릭한 다음 소스 이름을 클릭하세요.
3. 오른쪽 상단에서 **구성**을(를). (비-JSON 로그를 업로드했고 **편집을 클릭**.
4. 오른쪽 상단에서 **보안** 탭을 클릭하세요.
5. 의 값을 변경하세요 **인증 방법** 드롭다운을 **공유 비밀(Shared Secret)**&#xB85C; 변경한 다음 다음 필드의 값을 입력하세요:
   * **헤더 이름**: 입력 `Logplex-Drain-Token`.
   * **공유 비밀 값**: 다음에 붙여넣기 `token` 이전 단계에서 Heroku CLI로부터 가져온 값입니다.
6. 를 선택하고 Panther가 설치된 계정 ID를 입력하십시오. **"Resource": "\<secret ARN>"**.

## 지원되는 로그 유형

### Heroku.Runtime

`Heroku.Runtime` 로그는 앱, 시스템, API 및 애드온 로그를 포함하는 Heroku의 이벤트 로그입니다. 자세한 내용은 [Heroku의 런타임 로그 문서를 참조하세요.](https://devcenter.heroku.com/articles/logging#runtime-logs)

```yaml
스키마: Heroku.Runtime
파서:
  fastmatch:
    match:
      - '%{message_len} <%{priority}>%{version} %{timestamp} %{host_name} %{app_name} %{process_id} %{message_id} %{message}'
    emptyValues:
      - '-'
설명: 애플리케이션 자체에서 생성된 로그(앱 코드 및 종속성이 생성한 로그 포함)와 시스템 및 API 로그를 포함한 로깅 출력입니다.
참고 URL: https://devcenter.heroku.com/articles/logging#runtime-logs
필드:
  - name: message_len
    유형: int
  - name: priority
    유형: int
  - name: version
    type: string
  - 이름: timestamp
    type: timestamp
    timeFormats:
      - rfc3339
    isEventTime: true
  - name: host_name
    type: string
    지표:
      - hostname
  - name: app_name
    type: string
  - name: process_id
    type: string
  - name: message_id
    type: string
  - name: message
    type: string
```
