ELK8 - logstash 활용

hoegon kim·2023년 5월 24일
0

ELK

목록 보기
9/10
post-thumbnail

메시지 받는 명령문

echo -e 'hello world!' | /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/hoegon.conf

파일을 읽는 명령문

/usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/sample.conf


샘플 파이프라인

input {
  file {
    path => "/var/log/sample.log"
    start_position => "beginning"
    sincedb_path => "/dev/null"
  }
}


filter {
  if "password check failed" in [message] {
    mutate {
      remove_field => [ "@timestamp", "@version", "path", "log", "[log][file]", "[host][name]", "event", "host" ]
    }

    grok {
      match => {
        "message" => "%{SYSLOGTIMESTAMP:timestamp} %{HOSTNAME:hostname} %{DATA:process}\]: %{GREEDYDATA:description}"
      }
    }

    grok {
      match => {
        "description" => "check failed for user \(%{DATA:failed_user}\)"
      }
    }
  } else {
    drop {}
  }
}


output {
  stdout {}
}

centos /var/log 관련 자료

/var/log/messages:

이 파일은 시스템의 중요한 이벤트와 메시지를 기록합니다. 커널, 시스템 서비스, 로그인 관련 정보 등 다양한 시스템 이벤트가 여기에 기록됩니다.

/var/log/secure:

이 파일은 시스템의 보안 관련 로그를 기록합니다. 로그인 시도, 인증 실패, su 명령어 사용 등과 같은 보안 관련 이벤트가 여기에 기록됩니다.

/var/log/boot.log:

이 파일은 시스템 부팅 과정에서 발생하는 로그를 기록합니다. 부팅 시 초기화 및 시동 스크립트의 출력 정보를 포함합니다.

/var/log/dmesg:

이 파일은 시스템 부팅 시 커널 메시지를 기록합니다. 시스템 하드웨어, 장치 드라이버, 에러 메시지 등과 관련된 커널 로그를 볼 수 있습니다.

/var/log/httpd/ (또는 /var/log/apache2/):

이 디렉토리는 Apache 웹 서버의 로그 파일을 포함합니다. 일반적으로 access_log와 error_log 파일이 있으며, 각각 웹 서버의 접근 로그와 오류 로그를 기록합니다.

/var/log/mysql/:

이 디렉토리는 MySQL 데이터베이스 서버의 로그 파일을 포함합니다. 일반적으로 error.log 파일이 있으며, MySQL 서버의 오류와 경고 메시지를 기록합니다.

/var/log/maillog:

이 파일은 메일 서버 (일반적으로 Sendmail 또는 Postfix)의 로그를 기록합니다. 이메일 전송, 수신, 거부 등과 관련된 로그가 여기에 기록됩니다.

logstash 동시에 실행시키기

이전에 파일하나 pipelines.yml 파일을 수정해야한다.

# This file is where you define your pipelines. You can define multiple.
# For more information on multiple pipelines, see the documentation:
#   https://www.elastic.co/guide/en/logstash/current/multiple-pipelines.html

#- pipeline.id: main
#  path.config: "/etc/logstash/conf.d/*.conf"

- pipeline.id: access
  path.config: "/etc/logstash/conf.d/access.conf"

- pipeline.id: sample-csv
  path.config: "/etc/logstash/conf.d/sample-csv.conf"
  

명령문 :

/usr/share/logstash/bin/logstash --path.settings /etc/logstash --config.reload.automatic

0개의 댓글