분석 · 관제핵심 · 20분 읽기
Elastic Stack의 수집·검색·시각화
Elasticsearch·Logstash·Kibana는 역할이 다르다. 어느 단계에서 데이터가 달라지는지 따라가며 인덱스와 파이프라인을 이해한다.
개념부터 찾아보기
정의·역할·동작 원리를 독립 페이지에서 확인하세요. 본문의 밑줄 용어에도 설명이 있습니다.
이 노트에서 설명할 수 있게 되는 것
- 입력·변환·매핑·색인·조회 단계에서 데이터가 바뀌는 지점을 설명한다.
- text·keyword·date·숫자 필드의 검색 목적을 구분한다.
- 원본 표본으로 시간 오류·파싱 실패·중복을 역추적한다.
먼저 알면 좋은 개념SIEM: 로그를 조사 가능한 사건으로
01개념과 구성 요소
- 문서를 타입·색인 구조에 따라 저장·검색·집계한다.
- 수집·가공Beats··ingest pipeline 등이 입력을 이벤트와 의미 있는 필드로 바꾼다.
- 와 조회 조건으로 저장된 자료를 탐색·시각화하며 직접 수집기의 역할을 대신하지 않는다.
02JSON 입력을 Discover에서 읽기까지
- 입력 이벤트 생성Agent나 이 자료를 받으며 이 같은 표현을 해석한다.
- 필드·시간 가공 또는 ingest pipeline이 값을 추출·변환하고 사건 시각을 로 해석한다. 실패 태그와 원본을 보존한다.
- 보호된 출력 연결전송 경로의 서버 검증과 수집 계정의 인증· 권한을 적용한다.
- 문서 저장과 template이 타입을 정하고 또는 data stream의 저장 경로가 문서를 받는다.
- 검색·표시의 ·시간 필드·기간·필터로 문서를 조회한다. 빈 패널이 곧 수집 실패를 뜻하지는 않는다.
03ELK의 세 역할과 데이터 이동
- ELK 역할··는 입력 이벤트를 가공·저장하고 검색 화면에서 조회하는 흐름을 구성한다. 는 문서 검색·집계, 는 입력의 파싱·가공·전달, 는 의 조회·시각화·관리 인터페이스다.
- 탐지 구성이 세 제품을 설치했다는 사실만으로 보안 탐지 규칙과 대응 절차가 완성되는 것은 아니다.
- 가공 위치수집 에이전트가 로 직접 보낼 수도 있고 나 ingest pipeline에서 가공할 수도 있다. 어느 구성에서도 원본 필드가 언제 변환되는지와 어떤 시간이 사건 시각인지가 검색 결과를 결정한다.
- 저장소 비교도 과 다양한 스키마를 지원할 수 있다. 저장소는 데이터 형태만이 아니라 검색·집계·운영 요구에 맞춰 선택한다.
04Document·Index·Shard·Replica
- ··는 필드와 값의 단위이고 는 문서를 조직하는 논리적 검색·저장 대상이다. 의 데이터를 나눈 primary 는 분산 배치·검색의 단위이며 는 primary의 복제본이다.
- 와 백업를 만든다고 독립 백업 이력이 생기는 것은 아니고 삭제·손상된 논리 변경도 반영될 수 있다.
- 노드 배치“샤드를 다른 서버로 보내면 서버”라는 고정 역할로 외우기보다 노드가 primary와 를 배치받고 클러스터가 그 상태를 관리한다고 이해한다. 수가 있어도 배치할 다른 적절한 노드가 없으면 할당되지 않을 수 있다.
05Mapping은 필드 타입의 계약
- 타입 계약가 을 받는다는 것은 모든 필드 타입을 자유롭게 섞어도 된다는 뜻이 아니다. 동일 필드가 한 문서에서는 숫자, 다른 문서에서는 객체라면 충돌로 거부될 수 있다.
- 검색 의미date·ip·long·· 등 타입은 가능한 검색·정렬·집계 의미를 결정한다.
- ·는 가 토큰으로 나누어 전문 검색에 사용하고 는 식별자·코드처럼 전체 값을 기준으로 필터·집계하는 데 쓰인다. 숫자로 보여도 우편번호나 규칙 ID처럼 산술이 필요 없는 식별자를 숫자 타입으로 고정하면 앞자리 0이나 형식 변화에 문제가 생길 수 있다.
- 동적 필드동적 필드가 무제한 늘면 관리와 메모리 부담도 커진다.
{
"properties": {
"@timestamp": {"type":"date"},
"message": {"type":"text"},
"event.outcome": {"type":"keyword"},
"source.ip": {"type":"ip"},
"source.port": {"type":"integer"}
}
}매핑 개념을 설명하는 부분 예입니다. template 전체 설정은 아닙니다.
06Analyzer·역인덱스·집계
- 는 토큰에서 그 토큰을 포함하는 문서로 연결한다. “user login failed”라는 문장을 분석한 토큰은 검색어 분석 결과와 대조된다.
- 사용한 의 대소문자·언어·토큰화 규칙에 따라 결과가 달라지므로 원문 문자열과 검색 토큰은 같은 객체가 아니다.
- 집계·정렬정확한 값별 집계와 정렬은 필드 타입 및 해당 타입의 저장 구조에 영향을 받는다. 전문 검색에 적합한 message와 source.ip·event.outcome의 집계 목적을 분리하면 탐지 쿼리가 명확해진다.
- 색인 구조모든 데이터를 순서로 정렬해 놓기만 해서 검색이 빨라지는 구조로 설명하지 않는다.
07Logstash input→filter→output
- ·은 파일·네트워크·표준입력 등에서 이벤트를 만들고 은 입력 표현을 해석한다. 는 패턴 추출·타입 변환·시간 파싱·태그 추가를 수행한다.
- 은 처리 결과를 같은 목적지로 보낸다. 한 파이프라인의 stdout 출력은 처리 결과를 관찰하는 창이며 DB 저장 성공 자체의 증거는 아니다.
- Date 예시아래는 입력 에 있는 event_time을 로 해석하는 무해한 예다. ISO8601 시간에서 timezone을 포함한 값과 포함하지 않은 값을 섞으면 해석 기준이 달라질 수 있다.
- 파싱 실패파싱 실패 태그는 정상 검색에서 조용히 제외하지 말고 별도 집계해야 수집량과 유효 이벤트량을 구분할 수 있다.
input { stdin { codec => json } }
filter {
date { match => ["event_time", "ISO8601"] target => "@timestamp" }
mutate { add_field => { "lab" => "elastic-training" } }
}
output { stdout { codec => rubydebug } }원리를 설명하는 가상 학습 예시입니다.
원리 심화
08Logstash Persistent Queue와 완료 확인 경계
- 디스크 큐PQ는 파이프라인의 이벤트를 디스크 페이지에 보관해 일시 중단과 출력 지연을 완충한다. 큐가 있다는 사실만으로 모든 입력의 손실을 막지는 못한다.
- 입력 확인송신자와 확인 응답을 주고받지 않는 · 입력은 송신 측 재전송 보장이 별도로 없다. 지원 프로토콜의 ACK 경계를 확인한다.
- 체크포인트비정상 종료 전에 checkpoint가 확정되지 않은 자료는 손실 가능성이 있다. 내구성 설정과 쓰기 비용의 관계를 함께 평가한다.
- 재처리출력 처리와 ACK 사이에 종료되면 재시작 후 같은 이벤트가 다시 전달될 수 있다. 수신 저장의 멱등성이 중요하다.
- 페이지 회수페이지의 이벤트가 모두 ACK되기 전에는 그 페이지가 남을 수 있다. 미처리 이벤트 한 개가 페이지 전체의 디스크 점유를 유지할 수 있다.
예제로 추적
09가상 출력 장애 1시간의 큐 용량 추산
- 입력 조건초당 1,000건·이벤트당 1,000바이트가 들어오고 출력이 1시간 멈춘다고 가정한다. 이 크기는 설명용 원시 이벤트 크기다.
- 원시 누적량1,000×1,000×3,600=3,600,000,000바이트, 약 3.6GB가 쌓인다. 실제 큐 직렬화·페이지·안전 여유는 포함하지 않았다.
- 복구 처리율출력이 초당 1,500건을 처리하고 입력이 계속 1,000건이면 순감소 속도는 초당 500건이다.
- 해소 시간누적 3,600,000건을 초당 500건씩 줄이면 7,200초, 즉 2시간이 필요하다. 출력 복구와 적체 해소는 같은 시점이 아니다.
- 한도 도달큐 한도에 도달하면 입력의 ·드롭·송신 재시도 동작을 확인한다. 큐 용량을 늘리는 것만으로 처리율 부족은 해결되지 않는다.
검증·예외
10수집기는 살아 있는데 검색 문서가 늘지 않을 때
- 큐 추세입력률·출력률·큐 바이트·가장 오래된 이벤트 시각을 함께 본다. 생존과 데이터 흐름의 진행은 다르다.
- 출력 거부인증·권한·연결 오류와 파싱 오류를 분리한다. 같은 재시도 정책을 적용할 수 없는 실패도 있다.
- 중복 식별재전송 때 문서 ID가 매번 새로 생성되는지 확인한다. 같은 원본 이벤트가 여러 문서로 늘어난 경우 이벤트 ID와 적재 ID를 대조한다.
- 보존 경계검색 기간·data stream·색인 대상·시간 필드를 확인한다. 저장됐지만 다른 기간이나 저장소에 있는 이벤트를 전송 손실로 단정하지 않는다.
11Grok·구조화 입력과 실패 처리
- ·구조화 입력은 패턴을 이름 붙인 조각으로 결합하여 문자열에서 필드를 추출한다. 일정한 구분자로 분리되는 로그는 다른 파서가 더 단순할 수 있으며, 로그를 받는다면 이미 있는 구조를 다시 임의 으로 분해할 필요가 없다.
- 지원 문법실제 원본 예와 실패 예를 보존하여 어떤 문법을 지원하는지 정의한다.
- 타입·원본파싱 후 포트가 문자열로 남았는지 숫자로 변환되었는지, 빈 값을 0으로 바꾸지 않았는지, 같은 키가 덮어써지지 않았는지가 중요하다. 손실을 줄이려면 event.original 같은 원본 보존 필드와 파서 버전을 연결한다.
- 유효 건수잘못 파싱된 이벤트를 버린 뒤 총 입력 건수만 정상이라고 표시하면 탐지 공백이 숨겨진다.
12Beats·Module·Metricset
- Beats·Module는 파일 로그, 는 시스템 지표, 는 네트워크 프로토콜, 는 감사·무결성, 는 가용성 관찰을 맡는다. Module은 서비스별 수집·처리 설정 묶음이고 Metricset은 그 안의 구체 측정 종류다.
- Metricset system 모듈의 CPU·memory·filesystem 항목은 같은 호스트의 서로 다른 지표를 만든다.
- Setup·setup.는 대시보드 등 초기 자산 배치와 관련되고 .는 이벤트 전송 경로다. 의 화면을 열어 두어야 이벤트가 저장되는 것은 아니다.
- 권한·저장 확인setup 작업의 권한과 지속 수집 계정의 권한을 나눌 수 있다. data stream이 존재한다는 사실만으로 이번 입력이 저장됐다고 결론 내리지 않고 새 문서 시각과 건수까지 연결한다.
13TLS의 서버 검증과 계정 인증
- CA·키 저장소http_ca.crt는 HTTP 계층 서버 인증서를 검증하는 신뢰 CA 자료이며 비밀번호나 서버 개인키가 아니다. http.p12와 transport.p12는 각각 HTTP 연결과 노드 간 통신용 키·인증서 저장소 역할을 가질 수 있다.
- 와 계정서버 이름·유효기간·체인·키 소유 증명을 검증한 채널 안에서 API 계정·키에 대한 인증과 가 이어진다.
- SAN·Localhostlocalhost와 127.0.0.1 중 하나가 항상 정답인 것은 아니다. 연결 주소가 인증서 SAN과 일치해야 하고 컨테이너 안의 localhost는 그 컨테이너 문맥을 가리킨다.
- Enrollment TokenEnrollment token은 초기 연동에 사용하는 것이며 매번 사용자 로그인에 입력하는 일반 암호가 아니다.
수업 원본 자료
Metricbeat와 Elasticsearch의 TLS 신뢰 관계
원본 크기로 보기 ↗이 자료에서 읽어낼 것
- 서버 인증서가 왼쪽으로 전달됨 → 클라이언트가 서버 신원을 검증한다.
- http_ca.crt → 서버 개인키가 아닌 신뢰 CA 자료다.
- 단순화된 원본 학습도로 실제 TLS 메시지 전체와 계정 인증을 생략한다.
14Keystore·전용 계정·출력 권한
- Keystore·Beats keystore는 비밀값을 보관하고 설정에서 참조할 수 있게 한다. keystore를 쓴다고 아무 사용자나 읽을 수 있는 설정·파일 권한 문제가 사라지는 것은 아니다.
- 수집 계정실습에서 사용한 최고 권한 계정은 간단한 연동 확인을 위한 것이며 지속 수집에는 필요한 에 대한 제한된 권한을 부여한다.
- 실패 단계연결 오류는 ···계정 인증· 권한·의 단계로 나뉜다. 를 통과해 403을 받았다면 네트워크가 완전히 끊긴 것과 다른 문제다.
- 검증 우회 금지인증서 검증을 끄거나 관리자 비밀번호를 설정 파일에 복사하는 것을 일반적인 해결책으로 삼지 않는다.
15Data stream·Template·보존 정책
- Template·Data StreamTemplate은 이름 패턴에 맞는 ·설정·data stream 구성을 정의하는 틀이다. data stream은 시계열성 문서의 여러 backing 를 하나의 이름으로 다루도록 하며 rollover와 보존 정책이 저장량을 관리한다.
- 날짜 날짜가 붙은 모든 가 자동으로 data stream인 것은 아니다.
- 수명주기단순 날짜별 출력과 ILM을 통한 수명주기 관리는 별도 설정이다. 학습용 출력이 작동했다는 의미와 운영 보존이 정해졌다는 의미를 분리한다.
- 보존 용량보존 기간··압축·원본 크기·필드 수는 필요한 디스크를 바꾸며, 오래된 자료를 삭제하는 시점과 법적·업무적 보존 요구는 별도의 운영 결정이다.
16Discover에서 세 건의 수업 로그 읽기
- 세 교육 메시지원본 캡처는 elk-basic 와 Last 7 days 기간에서 Documents (3)을 보여 준다.
- 조회 증거 범위“ELK 첫 번째 테스트 로그”, “사용자 로그인 성공”, “결제 처리 중 오류 발생”이라는 교육 메시지에 , lab, message, event.original, _index가 함께 보인다. 이는 텍스트가 이벤트로 저장되어 조회되었다는 증거이며 실제 로그인·결제 시스템의 장애 기록이라는 뜻은 아니다.
- 는 대상 ·data stream을 조회하는 논리적 설정이고 그 자체가 데이터를 수집하지 않는다. 문서가 있어도 기간·시간 필드·필터·권한이 다르면 화면에 나타나지 않는다.
- 시간·필터대시보드 패널이 비어 있을 때 저장 실패와 조회 범위 불일치를 구분하려면 먼저 에서 문서와 필드를 직접 읽는다.
수업 원본 자료
Discover에서 확인한 세 건의 교육 로그
원본 크기로 보기 ↗이 자료에서 읽어낼 것
- Documents (3) → 선택한 기간과 data view에서 세 이벤트가 조회된다.
- message와 event.original → 표시용 문장과 원본을 함께 읽을 수 있다.
- _index elk-basic-2026.08.31 → 문서의 저장 대상이 표시된다.
- 교육 메시지 세 건의 조회 결과이며 운영 시스템의 실제 사고 통계가 아니다.
LEARN THROUGH PRACTICE
Filebeat 입력 설정에서 Kibana 문서 세 건까지 추적하기
설정 파일의 입력·출력과 검색 화면의 문서·시간·필드를 연결한다.
실습 구성과 전제
- 자신의 격리 Elastic 환경과 비밀값을 별도로 관리한 수집 계정을 사용한다.
- 설정 화면과 검색 화면은 같은 제품의 서로 다른 수집 사례다. filestream 입력이 사진 속 세 문서의 유일한 출처였다고 단정하지 않는다.
입력 경로와 출력 주소를 분리한다
- filestream은 paths에 일치하는 파일을 수집하고 .는 문서를 보낼 목적지를 정한다. setup.는 대시보드 등의 설정 연결이며 로그 본문을 로 직접 보내는 경로가 아니다.
- 사진에는 시험용 관리자 계정이 보이지만 실제 배포에서는 전용 권한·keystore를 사용한다. fingerprint 길이와 작은 파일 처리 조건은 설치 버전의 문서로 확인한다.
shellfilebeat test config -e filebeat test output -e실제 비밀값이 출력될 수 있는 디버그 로그는 외부에 복사하지 않는다.
원본 크기로 보기 ↗- setup.kibana, output.elasticsearch, filebeat.inputs 세 블록이 나뉘어 보인다.
- filestream의 id·paths와 fingerprint.length 64가 표시된다. 필드 이름은 같아도 버전별 기본 동작을 확인해야 한다.
확인 기준test config와 test 을 각각 수행해 문법과 연결을 구분한다.
시간 필터와 문서 수를 먼저 확인한다
- 에서 와 시간 범위를 맞춘 뒤 Documents 수를 읽는다. 서비스가 실행 중이어도 해당 인덱스·시간 범위에 문서가 없으면 검색은 비어 있다.
- 화면의 세 문서는 테스트 로그·로그인 성공·결제 오류라는 메시지를 가진다. 메시지 이름은 사건 분류의 입력이며 실제 비즈니스 성공을 독립 검증한 값은 아니다.
원본 크기로 보기 ↗- Data view는 elk-basic이고 시간 범위는 Last 7 days, Documents는 3으로 표시된다.
- 각 행에 @timestamp·host.hostname·message·_index가 보여 수집 문서를 구조화된 필드로 읽을 수 있다.
확인 기준시각·인덱스·데이터 뷰가 틀려 생긴 빈 결과와 수집 실패를 분리한다.
검색어와 필드 조건의 차이를 시험한다
- 사진의 검색창은 호스트 이름 문자열을 검색한다. 정확한 필드 조건을 쓰려면 KQL의 필드:값 구문과 해당 필드의 매핑을 확인한다.
- 원본 message와 event.original을 보존하면서 필요한 구조 필드를 추가하고, 파싱 실패를 성공 문서와 구분한다.
host.hostname : "lab-host"KQL의 필드 조건 예시. 자신의 문서에 저장된 호스트 이름으로 바꾼다.
원본 크기로 보기 ↗- 왼쪽 Available fields에 @timestamp·event.original·host.hostname·lab·message가 보인다.
- 검색 후에도 Documents 3이 보이며 호스트 문자열이 강조된다. 강조 표시만으로 정확한 필드 동등 비교가 수행됐다고 해석하지 않는다.
확인 기준시간 범위와 필드 매핑을 고정한 뒤 검색 결과 수를 비교한다.
실습에서 확인한 동작 원리
- 설정 연결과 문서 출력은 다른 경로다.
- 검색 결과는 데이터 뷰·시간·필드 매핑 조건에 의존한다.
설정·출력 추가로 확인하기 60장
아래 화면을 펼쳐 위 실습의 설정값, 명령과 확인 기준을 비교해 보세요. 각 묶음은 별도 실습 기록입니다.
실습 화면 묶음 01 11장
원본 크기로 보기 ↗- 「tmi」 문맥에 삽입된 원본 명령·상태 출력이다. Elastic Stack의 수집·검색·시각화 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
원본 크기로 보기 ↗- 「tmi」 문맥에 삽입된 원본 설정 예시이다. Elastic Stack의 수집·검색·시각화 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
원본 크기로 보기 ↗- 「대시보드 확인 (filebeat)」 문맥에 삽입된 원본 실습·개념 참고 화면이다. Elastic Stack의 수집·검색·시각화 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
원본 크기로 보기 ↗- 에 삽입된 원본 학습 화면이다. Heartbeat 설정의 schedule 항목을 일정 간격 실행 표현식으로 지정한 화면이다.
원본 크기로 보기 ↗- 에 삽입된 원본 학습 화면이다. Heartbeat의 ICMP 모니터 목록에서 대상별 가용 상태와 최근 검사 시각을 확인하는 화면이다.
원본 크기로 보기 ↗- 「tmi」 문맥에 삽입된 원본 실습·개념 참고 화면이다. Elastic Stack의 수집·검색·시각화 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
원본 크기로 보기 ↗- 「tmi」 문맥에 삽입된 원본 실습·개념 참고 화면이다. Elastic Stack의 수집·검색·시각화 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
원본 크기로 보기 ↗- 「hearbeat 설정」 문맥에 삽입된 원본 실습·개념 참고 화면이다. Elastic Stack의 수집·검색·시각화 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
원본 크기로 보기 ↗- 「metric beat 설정」 문맥에 삽입된 원본 실습·개념 참고 화면이다. Elastic Stack의 수집·검색·시각화 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
원본 크기로 보기 ↗- 「filebeat 설정」 문맥에 삽입된 원본 실습·개념 참고 화면이다. Elastic Stack의 수집·검색·시각화 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
원본 크기로 보기 ↗- 「대시보드 확인 (filebeat)」 문맥에 삽입된 원본 실습·개념 참고 화면이다. Elastic Stack의 수집·검색·시각화 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
실습 화면 묶음 02 9장
원본 크기로 보기 ↗- 수업 원본 자료 · 에이전트에서 Elasticsearch로 데이터를 보내고 Kibana에서 조회하는 과정. 원문에서 「Elasticsearch에 실제 데이터가 들어오는지 확인」에 배치된 그림 또는 화면이다.
원본 크기로 보기 ↗- 수업 원본 자료 · 에이전트에서 Elasticsearch로 데이터를 보내고 Kibana에서 조회하는 과정. 원문에서 「Kibana 콘솔 접근」에 배치된 그림 또는 화면이다.
원본 크기로 보기 ↗- 수업 원본 자료 · 에이전트에서 Elasticsearch로 데이터를 보내고 Kibana에서 조회하는 과정. 원문에서 「Kibana 콘솔 접근」에 배치된 그림 또는 화면이다.
원본 크기로 보기 ↗- 수업 원본 자료 · 에이전트에서 Elasticsearch로 데이터를 보내고 Kibana에서 조회하는 과정. 원문에서 「Kibana 콘솔 접근」에 배치된 그림 또는 화면이다.
- 수업 원본 자료 · 에이전트에서 Elasticsearch로 데이터를 보내고 Kibana에서 조회하는 과정. 원문에서 「설치 과정」에 배치된 그림 또는 화면이다.
원본 크기로 보기 ↗- 수업 원본 자료 · 에이전트에서 Elasticsearch로 데이터를 보내고 Kibana에서 조회하는 과정. 원문에서 「실전」에 배치된 그림 또는 화면이다.
원본 크기로 보기 ↗- 수업 원본 자료 · 에이전트에서 Elasticsearch로 데이터를 보내고 Kibana에서 조회하는 과정. 원문에서 「실전」에 배치된 그림 또는 화면이다.
원본 크기로 보기 ↗- 수업 원본 자료 · 에이전트에서 Elasticsearch로 데이터를 보내고 Kibana에서 조회하는 과정. 원문에서 「실전」에 배치된 그림 또는 화면이다.
원본 크기로 보기 ↗- 수업 원본 자료 · 에이전트에서 Elasticsearch로 데이터를 보내고 Kibana에서 조회하는 과정. 원문에서 「실전」에 배치된 그림 또는 화면이다.
실습 화면 묶음 03 1장
원본 크기로 보기 ↗- 학습 원본 · Elastic 수집·검색·시각화 구성의 Beats 구축에 수록된 화면·도식이다.
실습 화면 묶음 04 1장
원본 크기로 보기 ↗- 학습 원본 · Elastic 수집·검색·시각화 구성의 Beats 구축에 수록된 화면·도식이다.
실습 화면 묶음 05 1장
원본 크기로 보기 ↗- 학습 원본 · Elastic 수집·검색·시각화 구성의 Beats 구축에 수록된 화면·도식이다.
실습 화면 묶음 06 1장
원본 크기로 보기 ↗- 학습 원본 · Elastic 수집·검색·시각화 구성의 Beats 구축에 수록된 화면·도식이다.
실습 화면 묶음 07 1장
원본 크기로 보기 ↗- 학습 원본 · Elastic 수집·검색·시각화 구성의 Beats 구축에 수록된 화면·도식이다.
실습 화면 묶음 08 1장
원본 크기로 보기 ↗- 학습 원본 · Elastic 수집·검색·시각화 구성의 Beats 구축에 수록된 화면·도식이다.
실습 화면 묶음 09 1장
원본 크기로 보기 ↗- 학습 원본 · Elastic 수집·검색·시각화 구성의 Beats 구축에 수록된 화면·도식이다.
실습 화면 묶음 10 1장
원본 크기로 보기 ↗- 학습 원본 · Elastic 수집·검색·시각화 구성의 Beats 구축에 수록된 화면·도식이다.
실습 화면 묶음 11 1장
원본 크기로 보기 ↗- 학습 원본 · Elastic 수집·검색·시각화 구성의 Beats 구축에 수록된 화면·도식이다.
실습 화면 묶음 12 1장
원본 크기로 보기 ↗- 학습 원본 · Elastic 수집·검색·시각화 구성의 Elasticsearch 구축에 수록된 화면·도식이다.
실습 화면 묶음 13 1장
원본 크기로 보기 ↗- 학습 원본 · Elastic 수집·검색·시각화 구성의 Elasticsearch 구축에 수록된 화면·도식이다.
실습 화면 묶음 14 1장
원본 크기로 보기 ↗- 학습 원본 · Elastic 수집·검색·시각화 구성의 Elasticsearch 구축에 수록된 화면·도식이다.
실습 화면 묶음 15 1장
원본 크기로 보기 ↗- 학습 원본 · Elastic 수집·검색·시각화 구성의 Elasticsearch 구축에 수록된 화면·도식이다.
실습 화면 묶음 16 1장
원본 크기로 보기 ↗- 학습 원본 · Elastic 수집·검색·시각화 구성의 Elasticsearch 구축에 수록된 화면·도식이다.
실습 화면 묶음 17 1장
원본 크기로 보기 ↗- 학습 원본 · Elastic 수집·검색·시각화 구성의 Elasticsearch 구축에 수록된 화면·도식이다.
실습 화면 묶음 18 1장
원본 크기로 보기 ↗- 학습 원본 · Elastic 수집·검색·시각화 구성의 Elasticsearch 구축에 수록된 화면·도식이다.
실습 화면 묶음 19 1장
원본 크기로 보기 ↗- 학습 원본 · Elastic 수집·검색·시각화 구성의 Elasticsearch 구축에 수록된 화면·도식이다.
실습 화면 묶음 20 1장
원본 크기로 보기 ↗- 학습 원본 · Elastic 수집·검색·시각화 구성의 Elasticsearch 구축에 수록된 화면·도식이다.
실습 화면 묶음 21 1장
원본 크기로 보기 ↗- 학습 원본 · Elastic 수집·검색·시각화 구성의 Elasticsearch 구축에 수록된 화면·도식이다.
실습 화면 묶음 22 1장
원본 크기로 보기 ↗- 학습 원본 · Elastic 수집·검색·시각화 구성의 Elasticsearch 구축에 수록된 화면·도식이다.
실습 화면 묶음 23 1장
원본 크기로 보기 ↗- 학습 원본 · Elastic 수집·검색·시각화 구성의 Elasticsearch 구축에 수록된 화면·도식이다.
실습 화면 묶음 24 1장
원본 크기로 보기 ↗- 학습 원본 · Elastic 수집·검색·시각화 구성의 Elasticsearch 구축에 수록된 화면·도식이다.
실습 화면 묶음 25 1장
원본 크기로 보기 ↗- 학습 원본 · Elastic 수집·검색·시각화 구성의 Elasticsearch 구축에 수록된 화면·도식이다. 개인 계정·발급값이 보이는 영역만 검게 가린 공개용 사본이다.
실습 화면 묶음 26 1장
원본 크기로 보기 ↗- 학습 원본 · Elastic 수집·검색·시각화 구성의 Elasticsearch 구축에 수록된 화면·도식이다. 개인 계정·발급값이 보이는 영역만 검게 가린 공개용 사본이다.
실습 화면 묶음 27 1장
원본 크기로 보기 ↗- 학습 원본 · Elastic 수집·검색·시각화 구성의 Kibana 구축에 수록된 화면·도식이다.
실습 화면 묶음 28 1장
원본 크기로 보기 ↗- 학습 원본 · Elastic 수집·검색·시각화 구성의 Kibana 구축에 수록된 화면·도식이다.
실습 화면 묶음 29 1장
원본 크기로 보기 ↗- 학습 원본 · Elastic 수집·검색·시각화 구성의 Kibana 구축에 수록된 화면·도식이다.
실습 화면 묶음 30 1장
원본 크기로 보기 ↗- 학습 원본 · Elastic 수집·검색·시각화 구성의 Kibana 구축에 수록된 화면·도식이다.
실습 화면 묶음 31 1장
원본 크기로 보기 ↗- 학습 원본 · Elastic 수집·검색·시각화 구성의 Kibana 구축에 수록된 화면·도식이다.
실습 화면 묶음 32 1장
원본 크기로 보기 ↗- 학습 원본 · Elastic 수집·검색·시각화 구성의 Kibana 구축에 수록된 화면·도식이다.
실습 화면 묶음 33 1장
원본 크기로 보기 ↗- 학습 원본 · Elastic 수집·검색·시각화 구성의 Kibana 구축에 수록된 화면·도식이다.
실습 화면 묶음 34 1장
원본 크기로 보기 ↗- 학습 원본 · Elastic 수집·검색·시각화 구성의 logstash 구축에 수록된 화면·도식이다.
실습 화면 묶음 35 7장
원본 크기로 보기 ↗- 수업 원본 캡처 · Kibana 연계 계정 설정 과정이다. 생성된 비밀번호 출력 부분은 공개 전 보호가 필요하다. 개인 계정·발급값이 보이는 영역만 검게 가린 공개용 사본이다.
원본 크기로 보기 ↗- 수업 원본 자료 · 데이터 관리·Discover·Dev Tools·계정 설정. 원문에서 「Dev Tools」에 배치된 그림 또는 화면이다.
원본 크기로 보기 ↗- 수업 원본 자료 · 데이터 관리·Discover·Dev Tools·계정 설정. 원문에서 「Dev Tools」에 배치된 그림 또는 화면이다.
원본 크기로 보기 ↗- 수업 원본 자료 · 데이터 관리·Discover·Dev Tools·계정 설정. 원문에서 「Dev Tools」에 배치된 그림 또는 화면이다.
원본 크기로 보기 ↗- 수업 원본 자료 · 데이터 관리·Discover·Dev Tools·계정 설정. 원문에서 「Stack Management」에 배치된 그림 또는 화면이다.
원본 크기로 보기 ↗- 수업 원본 자료 · 데이터 관리·Discover·Dev Tools·계정 설정. 원문에서 「Stack Management」에 배치된 그림 또는 화면이다.
원본 크기로 보기 ↗- 수업 원본 자료 · 데이터 관리·Discover·Dev Tools·계정 설정. 원문에서 「Stack Management」에 배치된 그림 또는 화면이다.
실습 화면 묶음 36 1장
원본 크기로 보기 ↗- 수업 원본 자료 · 데이터 관리·Discover·Dev Tools·계정 설정.
17검색 문법과 상관분석의 전제
- KQL·ES|QL 비교KQL은 주로 필터 표현, ES|QL은 파이프 형태의 조회·변환·집계 언어이다. SPL이나 과 단순 문자열 치환으로 동일해지지 않는다.
- 필드 의미같은 질문을 비교하려면 시간 범위, 누락 필드, 다중 값, 중복 이벤트 기준을 맞춘다. event.category=과 event.outcome=failure를 쓰려면 수집 파서가 그 의미를 정확히 채워야 한다.
- ECSECS는 공통 필드 의미를 제공하지만 모든 사용자 이 자동으로 ECS가 되지는 않는다. 출발지와 목적지, 사건 발생 시각과 수신 시각, 호스트 이름과 고유 ID를 일관되게 해석해야 여러 데이터가 관계를 가진다.
- 관계의 재현로그를 많이 저장한 것보다 그 관계를 재현 가능한 쿼리로 설명하는 것이 관제의 다음 단계다.
설명과 함께 보는 보조 도식
처리 과정
모식도 · Elastic 데이터 파이프라인
사용 환경에 따라 Logstash 또는 다른 수집·변환 경로를 선택할 수 있다.
01수집기로그·메트릭 등의 원본 수신
02변환 파이프라인파싱·시간·필드 처리
03Elasticsearch매핑·색인·검색
04Kibana시간·필드·권한 기반 조회
01
입력
수집 위치와 원본 표본을 확인한다.
전체 단계를 한 번에 읽기
- 01
입력
수집 위치와 원본 표본을 확인한다.
- 02
변환
원본의 시각과 필드 의미를 보존한다.
- 03
색인
실제 매핑과 오류 응답을 확인한다.
- 자료형
- text·keyword·date·숫자 등
- 04
조회
시간 창·데이터 범위·권한과 원본을 비교한다.
학습 확인
이해했는지 확인하기
- 수집기에서 Elasticsearch까지 실제 경로를 그린다.
- 시간·숫자·주소 필드의 파싱과 매핑을 확인한다.
- 빈 화면을 데이터 부재로 단정하기 전에 시간 범위·권한·실패 로그를 확인한다.