logstash multi output(elasticseach, exec)

728x90

안녕하세요!

오늘은 logstash multi output 대하여 알아보겠습니다.

 

 

Logstash를 활용한 Multi Output 구성

Logstash는 데이터를 수집, 처리, 전송하는 데 최적화된 도구로, 다양한 출력(output)을 지원합니다.
Multi Output 기능을 사용하여 데이터를 동시에 여러 출력 대상으로 전송하는 방법을 설명합니다.
Elasticsearch와 CSV 파일로 데이터를 전송해 보도록 하겠습니다.

 

1. Multi Output의 필요성

하나의 데이터 소스를 여러 대상으로 전송해야 하는 경우 Multi Output 설정은 필수적입니다.

데이터를 Elasticsearch로 전송해 실시간 분석.
동시에 데이터를 CSV 파일로 저장해 별도 보고서 작성 또는 장기 보관.
Logstash는 조건문을 활용하여 특정 데이터를 특정 출력 대상으로 전송할 수 있습니다.

 

2. Multi Output 구성 방법

Logstash의 output 블록에서 Multi Output을 설정하는 예시입니다.

  1. Elasticsearch로 데이터 전송
  2. CSV 파일로 데이터 저장
vi /etc/logstash/conf.d/fgf-snmp.conf
output {
  # Elasticsearch로 데이터 전송
  elasticsearch {
    hosts => ["https://192.168.123.21:9200"]
    index => "snmp-firewalls-datastream"  # 데이터 스트림 이름
    action => "create"
    user => "elastic"
    password => "elastic!!"
    cacert => "/etc/logstash/elasticsearch.crt"
  }

  # CSV 파일로 데이터 저장
  if [fgSysVersion] {
    file {
      path => "/etc/logstash/csv/monitoring.csv"  # 파일 저장 경로
      codec => line {
        format => "%{fgSysVersion},%{fgSysMgmtVdom},%{fgSysCpuUsage},%{fgSysMemUsage},%{fgSysMemCapacity},%{fgSysDiskUsage},%{fgSysDiskCapacity},%{fgSysSesCount},%{fgSysLowMemUsage},%{fgSysLowMemCapacity},%{fgSysSesRate1},%{fgSysSesRate10},%{fgSysSesRate30},%{fgSysSesRate60},%{fgSysSes6Count},%{fgSysSes6Rate1},%{fgSysSes6Rate10},%{fgSysSes6Rate30},%{fgSysSes6Rate60},%{fgSysUpTime},%{fgSysNeedLogPartitionScan},%{fnSysSerial},%{fgConfigSerial},%{fgConfigChecksum},%{fgConfigLastChangeTime},%{kst_timestamp},%{sysName_0},%{host_ip},%{tag_split_type_failure}"
      }
    }
  }
}

방화벽 snmp 데이터를 csv로 저장하는 포맷입니다.

 

 

이상입니다.

감사합니다!

천사불여일행(千思不如一行) : 천 번 생각하는 것보다 한번 행동하는 것이 더 중요하다.

기기일약 불능십보 노마십가 공재불사(騏驥一躍 不能十步 駑馬十駕 功在不舍): 천리마가 한번 크게 뛴다고 하더라도 열 걸음을 나아갈 수 없고 노둔한 말일지라도 열흘 달리면 역시 거기에 미칠 수가 있다.
일의 성과는 멈추지 않고 계속하는 데 있다. (순자, 권학편)

728x90
반응형