Log analysis 11

[Elastic] packetbeat + elasticsearch + kibana 7.8 설치/구성 방법 (packetbeat install, elasticsearch install, kibana install)

packetbeat + elasticsearch + kibana 설치/구성 방법 (packetbeat install, elasticsearch install, kibana install) packetbeat는 네트워크 레벨의 패킷 수집이 가능한 오픈소스 툴이며 아래와 같은 구성으로 사용이 가능합니다. 참고로 이 글에서는 모두 네트워크 대역을 0.0.0.0 으로 바인딩 해주었으니 각 환경에 맞게 셋팅 하시길 바랍니다. 우선 elasticsearch 7.8 버전과 kibana 7.8 버전을 설치하기 위해 repo를 추가해주신 후 yum 설치를 진행 합니다. 참고로 elastic repo가 빠를땐 빠른데, 느릴땐 굉장히 느려서 설치만 ELK 설치만 거의 한시간가량 걸릴수도 있습니다. # kibana repo ..

[Elastic] elasticsearch 7.8 외부에서 9200 포트로 접근하는 방법 (elasticsearch error network.host: 0.0.0.0)

elasticsearch 7.8 외부에서 9200 포트로 접근하는 방법 (elasticsearch error network.host: 0.0.0.0) 기본적으로 elasticsearch는 127.0.0.1:9200 으로 바인딩 되어 있기 때문에 elasticsearch.yml 파일에서 바인딩할 네트워크 대역을 따로 수정 해주어야 합니다. (일반적으로 /etc/elasticsearch 경로에 elasticsearch.yml 파일이 존재 하지만, 없을 경우 find / -name elasticsearch.yml 명령으로 검색) 그렇다고 network.host: 0.0.0.0 만 수정 해주면 에러가 발생하면서 elasticsearch 서비스 실행이 안되기 때문에 discovery.seed_hosts도 같이 설..

[ELK Stack] ELK Discover fields 검색/필터링 방법 (ELK Discover fields search)

Discover fields 검색 방법 (ELK Discover fields search) 좌측 매뉴에서 Discover를 누르면 아래와 같은 화면이 나타 납니다. beat.name은 filebeat을 설치한 호스트 명을 나타내는데, 여기서 보고싶은 서버의 우측 조그만한 + 모양의 돋보기를 클릭하시면 해당 서버의 로그만 확인할 수 있습니다. 반대로, 만약 되돌아오고 싶다면 - 모양의 돋보기를 클릭하시면 됩니다.

[ELK Stack] ELK 로그 파일 추출 방법 (ELK export logs, ELK CSV, ELK log data)

로그 파일 추출 방법 (ELK export logs, ELK CSV, ELK log data) ELK 환경에서 수집중인 로그를 파일(엑셀) 형태로 추출할 수 있습니다. 별도의 코드나 쿼리 필요 없이 kibana 웹 페이지 상에서 가능 합니다. 1) 좌측 매뉴 Discover 클릭 2) 우측 상단의 Save 선택 후 저장 3) 우측 상단의 Share 선택 후 CSV Reports 클릭하여 Create 4) 좌측 매뉴의 Management 클릭 5) Kibana의 Reporting 클릭 후 가장 우측에 보면 Actions에 다운로드 표시의 아이콘이 있는데, 이걸 클릭하면 다운로드가 진행 됩니다.

[ELK Stack] ELK 키바나 특정 호스트,타입 로그 검색 방법 (kibana log search)

키바나 특정 로그 검색 방법 (kibana log search) 아래와 같이 키바나의 Logs에서 특정 호스트나 로그 타입을 기준으로 로그 검색을 할 수 있습니다. and 연산 또는 or 연산을 지원하므로 원하는 조건에 맞게 검색하시면 됩니다. fields.server_name.keyword : filebeat 로그 설정 시 fields의 server_name에 작성한 이름 fields.log_stype.ketword : filebeat 로그 설정 시 fields의 log_type에 작성한 이름 beat.hostname : filebeat을 설치한 서버의 호스트 이름

[ELK Stack] ELK <-> filebeat 로그 인덱싱 설정 (ELK log monitoring)

ELK filebeat 로그 인덱싱 설정 (ELK log monitoring) kibana 웹페이지에서 좌측 메뉴의 Management → Create index pattern 클릭 후 우측의 Index pattern 에 filebeat* 입력 후 Next step을 클릭 합니다. @timestamp를 선택하면 Create index pattern 버튼이 활성화 됩니다. @timestamp 선택 후 Create index pattern을 클릭하여 생성 합니다. 로그를 수집할 서버쪽에서 filebeat을 정상적으로 설치 및 설정하였다면 좌측 매뉴 Logs를 클릭하면 수집한 로그들을 확인할 수 있습니다.

[ELK Stack] ELK 설치 (Elasticsearch, Logstash, Kibana, ELK install)

ELK 설치 (Elasticsearch, Logstash, Kibana, ELK install) ELK를 설치하기위해 yum repo를 추가 해주어야 합니다. 아래 명령어들을 복사 + 붙여넣기하여 repo를 추가해주시면 됩니다. 만약, 7점대를 설치하고 싶다면 6.x로 되어있는걸 7.x로 변경하시면 7점대의 버전을 다운로드할 수 있습니다. 참고로 elastic repo가 빠를땐 빠른데, 느릴땐 굉장히 느려서 설치만 ELK 설치만 거의 한시간가량 걸릴수도 있습니다. # kibana repo cat { "message" => ["%{IPORHOST:[apache2][access][remote_ip]} - %{DATA:[apache2][access][user_name]} \[%{HTTPDATE:[apache2..

[GoAccess] GoAccess X-Forwarded-For 웹 로그 파일 분석 방법 (apache web log analyzer, apache web log file analyzer, x-forwarded analyzer)

GoAccess X-Forwarded-For 웹 로그 파일 분석 방법 X-Forwarded-For 웹 로그 파일의 경우 아래와 같이 IP가 두개로 출력될 수 있기 때문에 GoAccess에서 LogFormat을 맞춰줄 필요가 있습니다. 10.10.10.10, 20.20.20.20 - - [15/May/2020:10:51:14 +0900] "GET / HTTP/1.1" 403 4897 "-" "curl/7.29.0" LogForamt을 맞춰주는 방법은 비교적 굉장히 간단 합니다. 기존에 사용하던 LogFormat이 --log-format='%h %^[%d:%t %^] "%r" %s %b "%R" "%u" %^' 이거였다면, 가장 앞단의 %h를 %h, 으로 변경만 해주시면 X-Forwarded 에서 IP가 2..

[GoAccess] 웹 로그 분석 툴 GoAccess 설치 및 사용 방법 (goaccess install, web log analyzer, web log file analyzer)

웹 로그 분석 툴 GoAccess 설치 및 사용 방법 GoAccess는 웹 로그 파일을 기반으로 분석해서 CLI 환경이나 HTML형태로 보고서를 출력해주는 오픈소스 입니다. yum으로 간단하게 설치할 수 있습니다. yum -y install goaccess 로그 파일을 기반으로 분석하기에 사용 환경에 따라 goaccess 실행 시 logformat을 웹로그와 동일하게 맞춰 주어야할 수 있습니다. 터미널에서 실행 커맨드와 UI는 아래와 같습니다. goaccess access_log --log-format='%h %^[%d:%t %^] "%r" %s %b "%R" "%u" %^' --date-format=%d/%b/%Y --time-format=%T 만약 HTML으로 보고서를 출력받고 싶다면 아래와 같이 커..