Monitoring Tools (81) 썸네일형 리스트형 8. Windows Sysmon + Winlogbeat + logstash 1. sysmon Download : https://docs.microsoft.com/en-us/sysinternals/downloads/sysmon Sysmon - Windows Sysinternals Monitors and reports key system activity via the Windows event log. docs.microsoft.com 2. sysmon config file : https://github.com/SwiftOnSecurity/sysmon-config GitHub - SwiftOnSecurity/sysmon-config: Sysmon configuration file template with default high-quality event tracing Sysmon co.. 7. Elastalert 1. 설치하기 전에 - ELK에서 제공하는 x_pack을 이용한 경보 알람 기능은 유료이며 UI로 구현은 되지 않지만 무료로 여러 필터기능을 사용할 수 있는 elastalert를 이용 2. 설치 # 필수 패키지 설치 [root@localhost]# yum install python3 python3-pip gcc gcc-c++ gcc-cpp python3-devel # pip upgrade [root@localhost]# pip3 install --upgrade pip # 설치 진행 [root@localhost]# pip3 install "setuptools>=11.3" python setup.py install [root@localhost]# pip3 install elastalert or git clo.. 6.2 filebeat offset 초기화 1. log 수집 도중 알수 없는 이유로 수집이 중단 되거나 특정 log 파일을 다시 읽어 드리고 싶을때 2. 전체 초기화 - filebeat data home 확인 [root@MON2 filebeat]# ps aux | grep filebeat-logstash root 32061 87.5 0.7 2204676 377292 ? Ssl 12:01 13:16 /usr/share/filebeat/bin/filebeat --environment systemd -c /etc/filebeat-logstash/filebeat.yml --path.home /usr/share/filebeat --path.config /etc/filebeat-logstash --path.data /var/libfilebeat-logsta.. 6.1 filebeat multiple indexing 1. 다른 종류의 로그를 각각 다른 index로 파싱 하고자 하는 경우 logstash를 이용해도 되지만 elasticsearch로 바로 쏘는 경우나 수집단계에서 index를 구분 하고 자 하는 경우 filebeat의 설정을 이용하면 됨. 2. filebeat.yml - fields - log_topics를 이용하여 구분 # ============================== Filebeat inputs =============================== filebeat.inputs: # Each - is an input. Most options can be set at the input level, so # you can use different inputs for various configu.. 6. filebeat agent 설정 1. 기본 설정 [root@filebeat]# vim /etc/filebeat/filebeat.yml # 데이터 input. 30초 마다 로그 경로에 접근하여 새로운 데이터를 읽어 들임. # /var/lib/filebeat 경로에 offset 값 기록 filebeat.inputs: ... - type: log enabled: true paths: - {log path}/*.log.gz # 데이터 output. logstash와, elasticsearch로 보낼수 있음. output.logstash: # The Logstash hosts hosts: ["{logstash ip}:5044"] 2. 서비스 시작 [root@filebeat]# systemctl start filebeat 3. 모듈 사용 - 지원.. 5.2 grok pattern을 이용한 nginx log 파싱 1. 개요 - 당초 nginx 서버에서 filebeat를 이용하여 로그를 수집하려고 하였으나 nginx 서버의 filebeat 설치가 여의치 않았음. - filebeat의 nginx 모듈을 사용하려고 하였으나 다양한 log format 필드를 이용할 수 없었음. - 따라서 nginx 의 custom log format을 구성하고 access_log 설정에 syslog를 이용하여 수집서버로 보냄 - 수집서버에서 filebeat와 logstash를 이용 하여 elasticsearch로 푸시 2. [Client] nginx log format log_format main '[$host] [$remote_addr] - [$remote_user] [$time_local] [$request] ' '[$status].. 5.1 [logstash filter] 시간대 변경 1. 단순히 시간 값에 초단위로 더하고자 하는경우 ruby { code => "event.set('KORConnectTimestamp', Time.parse(event.get('ConnectTimestamp')) + 32400 )" } 2. 시간대를 변경 UTC → KOR date { match => ["ConnectTimestamp","YYYY-MM-dd HH:mm:ss"] timezone => "Asia/Seoul" locale => "ko" target => "new_date" } 5. Logstash 설정 및 테스트 1. 기본 설정 # 설정 경로 [root@localhost]# vim /etc/logstash/logstash.yml ... # data 저장 경로 path.data: /var/lib/logstash # log 저장 경로 path.logs: /var/log/logstash 2. 로그 파싱을 위한 pipeline 기본 설정 - json 데이터를 파싱 - mutate를 이용 필드 rename이나 필드 type 변경 - elasticsearch와 stdout 둘다 output 처리 # filebeat에서 데이터를 받기위해 5044포트 바인딩 [root@localhost]# cat /etc/logstash/conf.d/gcp.conf input { beats { port => 5044 host => "0.0.0.. 4.1 index pattern id 조회 curl -XGET 'localhost:5601/api/saved_objects/_find?type=index-pattern' [root@CC-MON-ELASTIC conf.d]# curl -XGET 'localhost:5601/api/saved_objects/_find?type=index-pattern' | jq . { "page": 1, "per_page": 20, "total": 1, "saved_objects": [ { "type": "index-pattern", "id": "48df5170-bf95-11ec-9f40-4b6b290513da", "attributes": { "fieldAttrs": "{}", "title": "filebeat-nginx*", "timeFieldName": "@tim.. 4. Kibana 설정 1. 설정 경로 [root@localhost]# vim /etc/kibana/kibana.yml # bind port server.port: 5601 # bind ip server.host: "0.0.0.0" # elasticsearch host 설정 elasticsearch.hosts: ["http://localhost:9200"] 2. 서비스 시작 [root@localhost]# systemctl restart kibana 3. 프로세스 확인 # process 확인 [root@localhost kibana]# ps uax | grep kibana kibana 1568 0.0 0.0 616984 564 ? Ssl Oct18 0:00 /usr/share/kibana/bin/../node/bin/node .. 이전 1 2 3 4 5 6 7 ··· 9 다음