OS가 centos에서 ubuntu로 변경되어 ubuntu에서도 logstash 설정하는 내용을 남깁니다.

 

설명을 위해서 fortigate log를 파싱하기 위한 logstash 설정 입니다.

내용 확인 후 활용하시면 좋을 것 같아요.

 

logstash 설정 파일 생성하기

logmgmt@syslogserver:~$ sudo cat /etc/logstash/conf.d/logstash.conf
input {
        file {
                path => "/var/log/rsyslog/192.168.000.000/*.log"
                start_position => "beginning"
                tags => ["fortigate"]
        }
}

filter {
        if "fortigate" in [tags] {
                grok {
                        patterns_dir => ["/etc/logstash/pattern.d"]
                                match => { "message" => [ "%{FORTILOG} %{GREEDYDATA:sub_message}" ] }
                }
                kv {
                        source => "sub_message"
                        value_split => "="
                }
                mutate { remove_field => [ "message" ] }
                mutate { remove_field => [ "sub_message" ] }
                if "wan" in [srcintfrole] {
                        geoip {
                                source => "srcip"
                                target => "geoip_src"
                        }
                }
                if [sentbyte] != "" and [rcvdbyte] != "" {
                        bytes {
                                source => "rcvdbyte"
                                target => "receivedbyte"
                        }
                        bytes {
                                source => "sentbyte"
                                target => "sentedbyte"
                        }
                }
                mutate {
                        convert => {
                                "rcvdpkt" => "integer"
                                "sentpkt" => "integer"
                                "proto" => "integer"
                                "srcserver" => "integer"
                                "sessionid" => "integer"
                                "duration" => "integer"
                                "policyid" => "integer"
                                "HOUR" => "integer"
                                "MINUTE" => "integer"
                                "SECOND" => "integer"
                        }
                }
        }
}

output {
        if "fortigate" in [tags] {
                if "traffic" in [type] {
                        elasticsearch {
                                hosts => "http://192.168.000.000:9200"
                                index => "logstash-fortigate-traffic-index-%{+YYYY.MM.dd}"
                        }
                }
                else if "event" in [type] {
                        elasticsearch {
                                hosts => "http://192.168.000.000:9200"
                                index => "logstash-fortigate-event-index-%{+YYYY.MM.dd}"
                        }
                }
                else if "utm" in [type] {
                        elasticsearch {
                                hosts => "http://192.168.000.000:9200"
                                index => "logstash-fortigate-utm-index-%{+YYYY.MM.dd}"
                        }
                }
        }
}
logmgmt@syslogserver:~$

 

 

fortigate 패턴 파일 생성하기

logmgmt@syslogserver:~$ sudo cat /etc/logstash/pattern.d/fortigate.pattern
####################################
###Fortinet Syslog Pattern Types:###
####################################

FORTILOG (?<timestamp>^\w+\s+\d+\s+\d+\:\d+\:\d+)\s(?<log_send_dev>(?:%{IP}|\_gateway))
logmgmt@syslogserver:~$

 

logstash-filter-bytes 필터 설치하기

logmgmt@syslogserver:~$ sudo /usr/share/logstash/bin/logstash-plugin install logstash-filter-bytes
Using bundled JDK: /usr/share/logstash/jdk
Validating logstash-filter-bytes
Resolving mixin dependencies
Installing logstash-filter-bytes
Installation successful
logmgmt@syslogserver:~$

'기술 노트 > ubuntu' 카테고리의 다른 글

Prometheus 설치  (1) 2023.12.21
kibana 설정하기  (1) 2023.12.05
elasticsearch 설정하기  (0) 2023.12.04
rsyslog 설정하기  (1) 2023.12.04
우분투에서 IP 주소 확인하기  (1) 2023.12.04

설치할 logstash 방식 선택

해당 매뉴얼은 centos에서 설치하여 yum을 선택하였습니다.

https://www.elastic.co/kr/downloads/logstash

 

yum을 이용한 repository 추가

[root@localhost ~]# echo '[logstash-8.x]

name=Elastic repository for 8.x packages

baseurl=https://artifacts.elastic.co/packages/8.x/yum

gpgcheck=1

gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch

enabled=1

autorefresh=1

type=rpm-md' > /etc/yum.repos.d/logstash.repo

[root@localhost ~]#

 

설치 시 elasticsearch의 버전과 동일한 버전을 설치하세요.

 

yum을 이용한 logstash 설치

[root@tmplogsvr ~]# yum install logstash

마지막 메타자료 만료확인 0:06:31 이전인: 2023년 03월 16일 (목) 오전 09시 32분 44초.

종속성이 해결되었습니다.

=============================================================================================================

 꾸러미                  구조                  버전                        레포지터리                   크기

=============================================================================================================

설치 중:

 logstash                x86_64                1:8.6.2-1                   logstash-8.x                311 M

 

연결 요약

=============================================================================================================

설치  1 꾸러미

 

총계 내려받기 크기: 311 M

설치된 크기 : 551 M

진행 할 까요? [y/N]: y

꾸러미 내려받기 중:

logstash-8.6.2-x86_64.rpm                                                     15 MB/s | 311 MB     00:21

-------------------------------------------------------------------------------------------------------------

합계                                                                          15 MB/s | 311 MB     00:21

연결 확인 실행 중

연결 확인에 성공했습니다.

연결 시험 실행 중

연결 시험에 성공했습니다.

연결 실행 중

  준비 중           :                                                                                    1/1

  스크립트릿 실행 중: logstash-1:8.6.2-1.x86_64                                                          1/1

  설치 중           : logstash-1:8.6.2-1.x86_64                                                          1/1

  스크립트릿 실행 중: logstash-1:8.6.2-1.x86_64                                                          1/1

  확인 중           : logstash-1:8.6.2-1.x86_64                                                          1/1

 

설치되었습니다:

  logstash-1:8.6.2-1.x86_64

 

완료되었습니다!

[root@tmplogsvr ~]#

 

logstash 시스템 등록

[root@localhost ~]# systemctl daemon-reload

[root@localhost ~]# systemctl enable logstash.service

Created symlink /etc/systemd/system/multi-user.target.wants/logstash.service → /usr/lib/systemd/system/logstash.service.

 

logstash 시스템 시작 / 중지

/bin/systemctl start logstash.service

/bin/systemctl stop logstash.service

'기술 노트 > logstash' 카테고리의 다른 글

logstash.conf_230306  (0) 2023.03.06
logstash.conf_23.02.20  (0) 2023.02.20
logstash 파일 파싱하기  (0) 2023.02.20
logstash 설정  (0) 2023.02.20
grok pattern  (0) 2023.02.17

+ Recent posts