HTTPPOST 수집기 생성 가이드

로그프레소에서 HTTP POST 수집기를 만들고, 외부에서 로그를 전송하는 두 가지 방법을 안내합니다.

내용 중 수정이 필요한 부분이나 추가 의견이 있으시면 언제든 피드백 부탁드립니다.


1. 사전 준비

  • 수집기를 동작시키려면 테이블 → 수집 모델 → 수집기 순서로 만들어 두어야 합니다.

테이블 생성

  1. [시스템] → [테이블] → 추가 클릭

  2. 항목 입력 후 저장

    • 테이블 이름: getpost

    • 보관주기 : 0일(무제한)

수집 모델 생성

  1. 수집 → 수집 모델 → 추가 클릭

  2. 항목 입력 후 저장

    • 이름: HTTPPOST

    • 수집 유형: HTTP POST 선택

수집기 생성

  1. 수집 → 수집 → 추가 클릭

  2. 항목 입력 후 저장

    • 이름: HTTPPOST

    • 주기: 5초

    • 수집모델: HTTP POST

    • 대상 테이블: getpost

    • 콜백 이름: getpost

  3. 수집기 실행

엔드포인트 URL

  • 수집 엔드포인트는 다음과 같이 구성됩니다.

  • https://<로그프레소_서버_주소>:8443/log/<콜백이름>

  • 예) 로컬에서 콜백 이름이 getpost인 경우 → https://127.0.0.1:8443/log/getpost


2. 로그프레소 wget 쿼리로 전송 테스트

  • 로그프레소 쿼리 창에서 wget 명령을 사용하면, 서버에 별도로 접속하지 않고도 자기 자신(또는 다른 노드)의 HTTP POST 수집기로 데이터를 보낼 수 있습니다.

  • 예시 쿼리(분석 → 쿼리로 이동 후 하기 쿼리 실행)

    json "{}"
    | eval url="https://127.0.0.1:8443/log/getpost"
    | eval headers=dict("Accept", "application/json")
    | eval name="superman"
    | eval age=30
    | wget method=post format=json header=headers
    
  • 확인(분석 → 쿼리로 이동 후 하기 쿼리 실행하여 테이블 조회)

    table getpost
    

3. CLI(curl)에서 전송 테스트

  • 서버 터미널이나 다른 호스트에서 곧바로 보낼 때는 curl 를 이용하여 데이터를 전달 할 수 있습니다.

  • 예시 쿼리(127.0.0.1로 데이터 전달)

    curl -k -L -v \
         -d '{"name":"superman","age":30}' \
         -H "Accept: application/json" \
         -H "Content-Type: application/json" \
         https://127.0.0.1:8443/log/getpost
    
  • 확인(분석 → 쿼리로 이동 후 하기 쿼리 실행하여 테이블 조회)

    table getpost
    
json "{}"
| eval url="<https://127.0.0.1:8443/log/getpost>"
| eval headers=dict("Accept", "application/json")
| eval name="superman"
| eval age=30
| wget method=post format=json header=headers

올려주신 예제 그대로 테스트 했는데 수집되지 않습니다.

  • https://127.0.0.1:8443/log/getpost 로 바꿔야 할까요?

추가적으로 아래 내용도 질문 드립니다.

  • 분석 밖에 없는데 443이 아닌 8443으로 수집해야 하나요?
  • 443, 8443이 아닌 전용 포트로 수집하고 싶으면 어떻게 해야 하나요?

안녕하세요 답변이 늦어 죄송합니다.

오탈자 부분을 찾아주셔서 감사합니다. 해당 부분 수정해두었습니다.

HTTPPOST 수집기는 http또는 https포트를 통해 로그 수집이 진행됩니다.

포트 변경을 원하시면 web포트 변경 또는 추가 오픈이 필요하니 하기 가이드 참고 부탁드립니다.