File Input Configuration Options

이 플러그인은 다음에 설명된 구성 옵션과 공통 옵션을 함께 지원한다.

 

close_older

  • 숫자 또는 string_duration
  • 기본 값은 1 hour

파일 입력은 이전에 지정된 기간(숫자가 지정된 경우 초)을 마지막으로 읽은 모든 파일을 닫는다. 이것은 파일을 tail하거나 read에 따라 다른 의미를 갖는다. tail 및 수신 데이터에 큰 시간 간격이 있을 경우 파일을 닫을 수 있지만(다른 파일을 열 수 있음) 새로운 데이터가 감지되면 다시 열 수 있도록 대기한다. 읽으면 마지막 바이트를 읽은 시점부터 closed_older 초 후 파일이 닫힌다. 플러그인을 4.1.0+로 업그레이드하고, tail 중이지 않으며, 읽기 모드로 전환하지 않는 경우 이 설정은 역호환성을 위해 유지된다.

 

delimiter

  • String
  • 기본 값은 "\n"

새 라인 구분기호. 압축 파일을 읽을 때는 이 설정이 사용되지 않고 표준 Windows 또는 Unix 라인 엔딩이 사용 된다.

 

discover_interval

  • Number
  • 기본 값은 15

path 옵션의 파일 이름 패턴을 확장하여 가미할 파일을 검색하는 빈도. 이 값은 stat_interval의 배수 값이며, 예를 들어 stat_interval이 500ms인 경우 15 X 500 ms -> 7.5초 마다 새로운 파일을 검색할 수 있다. 실제로, 새로운 컨텐츠를 읽는 데 걸리는 시간을 고려해야 하기 때문에 이것이 가장 좋은 사례가 될 것이다.

 

exclude

  • array
  • 기본 값 없음

제외(전체 경로가 아닌 파일 이름과 일치). 파일 이름 패턴은 여기에서도 유효하다. 예를 들어 만약 다음 경로에서

path => "/var/log/*"

 

tail 모드에서는 gzipped 파일을 제외할 수 있음

exclude => "*.gz"

 

file_chunk_count

  • Number
  • 기본 값 4611686018427387903

file_chunk_size와 결합하면 다음 활성 파일로 이동하기 전에 각 파일에서 읽을 chunks 수(밴드 또는 스트라이프)를 설정한다. 예를들어 file_chunk_count가 32이고, file_chunk_size가 32KB면 각 활성 파일에서 다음 1MB를 처리한다. 기본 값이 매우 크므로 다음 활성 파일로 이동하기 전에 EOF로 파일을 효율적으로 읽는다.

 

file_chunk_size

  • Number
  • 기본 값 32768 (32KB)

파일 컨텐츠는 블록이나 chunks로 디스크에서 읽혀지고, 라인은 chunks에서 추출된다. file_chunk_count를 참조하여 이 설정을 기본값에서 변경해야 하는 이유와 시기를 확인하라

 

file_completed_action

  • delete or log or log_and_delete
  • 기본 값 delete

read모드인 경우 파일이 완료될 때 수행해야 할 작업으로 삭제를 지정하면 파일이 삭제된다. 로그를 지정하면 파일의 전체 경로가 file_completed_log_path 설정에 지정된 파일에 기록된다. log_and_delete가 지정되면 위의 두 작업이 모두 수행된다.

 

file_completed_log_path

  • String
  • 기본 값 없음

완전히 읽을 파일 경로를 추가할 파일. file_completed_action이 log 또는 log_and_delete일 경우에만 이 경로를 지정해야 한다.

중요: 이 파일은 매우 크게 될 수 있는 경우에만 추가 된다. 파일 회전에 대해 책임을 져야 한다.

 

file_sort_by

  • last_modified or path
  • 기본 값 last_modified

정렬하기 위해선 "watched" 파일의 속성을 사용해야 한다. 파일은 수정된 날짜 또는 전체 경로의 알파벳 순으로 정렬할 수 있다. 이전에 발견된 파일의 처리 순서는 OS에 따라 달라진다.

 

file_sort_direction

  • asc or desc
  • 기본 값 asc

"watched" 파일을 정렬할 때 오름차순과 내림차순 사이에서 선택할 수 있따. 가장 오래된 데이터가 먼저 오는 것이 중요한 경우 last_modified + asc의 기본 값이 무난하다. 최신 데이터가 먼저 오는 것이 중요한 경우 last_modified + desc를 선택하면 된다. 파일 전체 경로에 대해 특별한 명명 규칙을 사용하는 경우 아마도 경로 + asc는 파일 처리 순서를 제어하는데 도움이 될 것이다.

 

ignore_older

  • number or string_duration
  • 기본 값 없음

파일 입력이 지정된 기간(숫자가 지정된 경우 초 단위) 전에 마지막으로 수정된 파일을 발견하면 그 파일은 무시된다. 검색 후 무시된 파일을 수정하면 더 이상 무시되지 않으며 새로운 데이터를 읽는다. 기본적으로 이 옵션은 사용하지 않도록 설정되어 있다.

 

max_open_files

  • number
  • 기본 값 없음

이 입력이 한번에 사용하는 최대 file_handles 수 보다 많은 파일을 처리해야 하는 경우 close_older를 사용하여 일부 파일을 닫을 수 있다. 다른 Logstash 플러그인과 OS 프로세스에 file_handle이 필요하므로 OS가 할 수 있는 최대값으로 설정해서는 안된다. 기본값은 내부적으로 4095로 설정되어 있다.

 

mode

  • tail or read
  • tail

파일 입력을 작동시킬 모드를 선택한다. 몇 개의 파일을 tail 하거나 많은 컨텐츠 완료 파일을 읽을 수 있다. 읽기 모드는 이제 gzip 파일 처리를 지원한다. "read"가 지정된 경우 다음 다른 설정은 무시된다.

 

  1. start_position (파일은 항상 처음부터 읽음)
  2. close_older (EOF에 도달하면 파일이 자동으로 닫힘)

"read"가 지정된 경우 다음 설정에 유의해야 한다.

  1. ignore_older (이전 파일은 처리 되지 않음)
  2. file_completed_action (파일을 처리할 때 취해야할 작업)
  3. file_completed_log_path (완료된 파일 경로를 기록할 파일)

path

  • 필수 값
  • Array
  • 기본 값 없음

입력으로 사용할 파일의 경로. /var/log/*.log와 같은 파일 이름 패턴을 여기에서 사용할 수 있다. /var/log/**/*.log 패턴을 사용하면 모든 *.log파일에 대해 재귀 검색이 수행된다. 경로는 절대적이며 상대적일 수 없다.

 

여러 경로를 구성할 수도 있따. Logstash 구성 페이지에서 예를 참조 하시오.

 

sincedb_clean_after

  • Number or string_duration
  • 기본 값 2 weeks
  • 숫자로 지정하면 일수로 해석되며, 예를 들면 0.5는 12시간이다.

현재 sincedb 레코드는 그것과 관련된 마지막 활성 타임스탬프를 가지고 있다. 지난 N일 동안 추적된 파일에서 변경 사항이 감지되지 않으면 해당 sincedb 추적 기록을 만료하고 지속되지 않는다. 이 옵션은 inode 재활용 문제로부터 보호하는데 도움이 된다. Filebeat에는 inode 재활용에 대한 FAQ가 있다.

 

sincedb_path

  • String
  • 기본 값 없음

디스크에 기록될 sincedb 데이터베이스 파일의 경로(모니터링된 로그 파일의 현재 위치를 추적함). 기본 값은 sincedb 파일을 <path.data>/plugins/inputs/file에 기록함

참고 : 파일 경로여야 하며 디렉토리 경로는 안됨

 

sincedb_path

  • Number or string_duration
  • 기본 값 15초

모니터링되는 로그 파일의 현재 위치로 sincedb를 작성하는 빈도(초)

 

start_position

  • beginning or end
  • 기본 값 end

Logstash가 처음 파일을 읽기 시작하는 위치(처음 또는 마지막)을 선택한다. 기본 동작은 파일을 라이브 스트림처럼 처리하여 끝에서부터 시작한다. 가져오려는 이전 데이터가 있는 경우 이 데이터르 시작으로 설정해야 한다.

 

이 옵션은 파일이 새롭고 이전에 볼 수 없는 "첫 번째 접촉" 상황, 즉 Logstash가 읽은 sincedb 파일에 현재 위치가 기록되지 않은 파일만 수정한다. 만약 파일이 이미 전에 보인다면, 이 옵션은 효과가 없고 sincedb 파일에 기록된 위치가 사용될 것이다.

 

stat_interval

  • Number or string_duration
  • 기본 값 1초

파일이 수정되었는지 확인하기 위해 파일을 확인하는 빈도(초). 이 간격을 늘리면 시스템 호출 횟수는 줄어들지만 새 로그 라인을 감지하는 시간은 늘어난다.

 

참고 : 새로운 파일을 검색하고 파일의 증가/감소 여부를 점검하는 것은 반복적으로 발생한다. 이 루프는 다시 반복하기 전에 stat_interval 초 동안 절전된다. 그러나 파일이 커지면 새로운 내용이 읽히고 라인이 늘어진다. 특히 파이프라인이 혼잡할 경우 모든 확장 파일을 읽고 대기하는데 시간이 걸릴 수 있따. 따라서 전체 루프 시간은 stat_interval과 파일 읽기시간의 조합이다.

'빅데이터 > Logstash' 카테고리의 다른 글

[Logstash] File input Common Options  (0) 2020.01.22
[Logstash] File input plugin 4.1.11  (0) 2020.01.20
[Logstash] jdbc input plugin 4.3.19  (0) 2020.01.13
[Logstash] 첫 이벤트 보관  (0) 2020.01.06
[Logstash] Logstash 소개  (0) 2020.01.03

+ Recent posts