분석 · 관제핵심 · 20분 읽기

Elastic Stack의 수집·검색·시각화

Elasticsearch·Logstash·Kibana는 역할이 다르다. 어느 단계에서 데이터가 달라지는지 따라가며 인덱스와 파이프라인을 이해한다.

개념부터 찾아보기

정의·역할·동작 원리를 독립 페이지에서 확인하세요. 본문의 밑줄 용어에도 설명이 있습니다.

이 노트에서 설명할 수 있게 되는 것

  1. 입력·변환·매핑·색인·조회 단계에서 데이터가 바뀌는 지점을 설명한다.
  2. text·keyword·date·숫자 필드의 검색 목적을 구분한다.
  3. 원본 표본으로 시간 오류·파싱 실패·중복을 역추적한다.

01개념과 구성 요소

  • 문서를 타입·색인 구조에 따라 저장·검색·집계한다.
  • Beats··ingest pipeline 등이 입력을 이벤트와 의미 있는 필드로 바꾼다.
  • 와 조회 조건으로 저장된 자료를 탐색·시각화하며 직접 수집기의 역할을 대신하지 않는다.

02JSON 입력을 Discover에서 읽기까지

  1. Agent나 이 자료를 받으며 이 같은 표현을 해석한다.
  2. 또는 ingest pipeline이 값을 추출·변환하고 사건 시각을 로 해석한다. 실패 태그와 원본을 보존한다.
  3. 전송 경로의 서버 검증과 수집 계정의 인증· 권한을 적용한다.
  4. 과 template이 타입을 정하고 또는 data stream의 저장 경로가 문서를 받는다.
  5. 의 ·시간 필드·기간·필터로 문서를 조회한다. 빈 패널이 곧 수집 실패를 뜻하지는 않는다.

03ELK의 세 역할과 데이터 이동

  • ··는 입력 이벤트를 가공·저장하고 검색 화면에서 조회하는 흐름을 구성한다. 는 문서 검색·집계, 는 입력의 파싱·가공·전달, 는 의 조회·시각화·관리 인터페이스다.
  • 이 세 제품을 설치했다는 사실만으로 보안 탐지 규칙과 대응 절차가 완성되는 것은 아니다.
  • 수집 에이전트가 로 직접 보낼 수도 있고 나 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 저장 성공 자체의 증거는 아니다.
  • 아래는 입력 에 있는 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. 초당 1,000건·이벤트당 1,000바이트가 들어오고 출력이 1시간 멈춘다고 가정한다. 이 크기는 설명용 원시 이벤트 크기다.
  2. 1,000×1,000×3,600=3,600,000,000바이트, 약 3.6GB가 쌓인다. 실제 큐 직렬화·페이지·안전 여유는 포함하지 않았다.
  3. 출력이 초당 1,500건을 처리하고 입력이 계속 1,000건이면 순감소 속도는 초당 500건이다.
  4. 누적 3,600,000건을 초당 500건씩 줄이면 7,200초, 즉 2시간이 필요하다. 출력 복구와 적체 해소는 같은 시점이 아니다.
  5. 큐 한도에 도달하면 입력의 ·드롭·송신 재시도 동작을 확인한다. 큐 용량을 늘리는 것만으로 처리율 부족은 해결되지 않는다.
검증·예외

10수집기는 살아 있는데 검색 문서가 늘지 않을 때

  • 입력률·출력률·큐 바이트·가장 오래된 이벤트 시각을 함께 본다. 생존과 데이터 흐름의 진행은 다르다.
  • 인증·권한·연결 오류와 파싱 오류를 분리한다. 같은 재시도 정책을 적용할 수 없는 실패도 있다.
  • 재전송 때 문서 ID가 매번 새로 생성되는지 확인한다. 같은 원본 이벤트가 여러 문서로 늘어난 경우 이벤트 ID와 적재 ID를 대조한다.
  • 검색 기간·data stream·색인 대상·시간 필드를 확인한다. 저장됐지만 다른 기간이나 저장소에 있는 이벤트를 전송 손실로 단정하지 않는다.

11Grok·구조화 입력과 실패 처리

  • 은 패턴을 이름 붙인 조각으로 결합하여 문자열에서 필드를 추출한다. 일정한 구분자로 분리되는 로그는 다른 파서가 더 단순할 수 있으며, 로그를 받는다면 이미 있는 구조를 다시 임의 으로 분해할 필요가 없다.
  • 실제 원본 예와 실패 예를 보존하여 어떤 문법을 지원하는지 정의한다.
  • 파싱 후 포트가 문자열로 남았는지 숫자로 변환되었는지, 빈 값을 0으로 바꾸지 않았는지, 같은 키가 덮어써지지 않았는지가 중요하다. 손실을 줄이려면 event.original 같은 원본 보존 필드와 파서 버전을 연결한다.
  • 잘못 파싱된 이벤트를 버린 뒤 총 입력 건수만 정상이라고 표시하면 탐지 공백이 숨겨진다.

12Beats·Module·Metricset

  • 는 파일 로그, 는 시스템 지표, 는 네트워크 프로토콜, 는 감사·무결성, 는 가용성 관찰을 맡는다. Module은 서비스별 수집·처리 설정 묶음이고 Metricset은 그 안의 구체 측정 종류다.
  • system 모듈의 CPU·memory·filesystem 항목은 같은 호스트의 서로 다른 지표를 만든다.
  • setup.는 대시보드 등 초기 자산 배치와 관련되고 .는 이벤트 전송 경로다. 의 화면을 열어 두어야 이벤트가 저장되는 것은 아니다.
  • setup 작업의 권한과 지속 수집 계정의 권한을 나눌 수 있다. data stream이 존재한다는 사실만으로 이번 입력이 저장됐다고 결론 내리지 않고 새 문서 시각과 건수까지 연결한다.

13TLS의 서버 검증과 계정 인증

  • http_ca.crt는 HTTP 계층 서버 인증서를 검증하는 신뢰 CA 자료이며 비밀번호나 서버 개인키가 아니다. http.p12와 transport.p12는 각각 HTTP 연결과 노드 간 통신용 키·인증서 저장소 역할을 가질 수 있다.
  • 서버 이름·유효기간·체인·키 소유 증명을 검증한 채널 안에서 API 계정·키에 대한 인증과 가 이어진다.
  • localhost와 127.0.0.1 중 하나가 항상 정답인 것은 아니다. 연결 주소가 인증서 SAN과 일치해야 하고 컨테이너 안의 localhost는 그 컨테이너 문맥을 가리킨다.
  • Enrollment token은 초기 연동에 사용하는 것이며 매번 사용자 로그인에 입력하는 일반 암호가 아니다.
수업 원본 자료

Metricbeat와 Elasticsearch의 TLS 신뢰 관계

Metricbeat가 서버 인증서를 http_ca.crt로 검증하는 원본 학습도원본 크기로 보기 ↗
수업 원본 캡처 · Metricbeat와 Elasticsearch의 TLS 신뢰 관계

이 자료에서 읽어낼 것

  1. 서버 인증서가 왼쪽으로 전달됨 → 클라이언트가 서버 신원을 검증한다.
  2. http_ca.crt → 서버 개인키가 아닌 신뢰 CA 자료다.
  3. 단순화된 원본 학습도로 실제 TLS 메시지 전체와 계정 인증을 생략한다.

14Keystore·전용 계정·출력 권한

  • ·Beats keystore는 비밀값을 보관하고 설정에서 참조할 수 있게 한다. keystore를 쓴다고 아무 사용자나 읽을 수 있는 설정·파일 권한 문제가 사라지는 것은 아니다.
  • 실습에서 사용한 최고 권한 계정은 간단한 연동 확인을 위한 것이며 지속 수집에는 필요한 에 대한 제한된 권한을 부여한다.
  • 연결 오류는 ···계정 인증· 권한·의 단계로 나뉜다. 를 통과해 403을 받았다면 네트워크가 완전히 끊긴 것과 다른 문제다.
  • 인증서 검증을 끄거나 관리자 비밀번호를 설정 파일에 복사하는 것을 일반적인 해결책으로 삼지 않는다.

15Data stream·Template·보존 정책

  • Template은 이름 패턴에 맞는 ·설정·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에서 확인한 세 건의 교육 로그

elk-basic data view에서 교육 로그 3건을 조회한 수업 화면원본 크기로 보기 ↗
수업 원본 캡처 · Discover에서 확인한 세 건의 교육 로그

이 자료에서 읽어낼 것

  1. Documents (3) → 선택한 기간과 data view에서 세 이벤트가 조회된다.
  2. message와 event.original → 표시용 문장과 원본을 함께 읽을 수 있다.
  3. _index elk-basic-2026.08.31 → 문서의 저장 대상이 표시된다.
  4. 교육 메시지 세 건의 조회 결과이며 운영 시스템의 실제 사고 통계가 아니다.
LEARN THROUGH PRACTICE

Filebeat 입력 설정에서 Kibana 문서 세 건까지 추적하기

설정 파일의 입력·출력과 검색 화면의 문서·시간·필드를 연결한다.

실습 구성과 전제

  • 자신의 격리 Elastic 환경과 비밀값을 별도로 관리한 수집 계정을 사용한다.
  • 설정 화면과 검색 화면은 같은 제품의 서로 다른 수집 사례다. filestream 입력이 사진 속 세 문서의 유일한 출처였다고 단정하지 않는다.
  1. 입력 경로와 출력 주소를 분리한다

    • filestream은 paths에 일치하는 파일을 수집하고 .는 문서를 보낼 목적지를 정한다. setup.는 대시보드 등의 설정 연결이며 로그 본문을 로 직접 보내는 경로가 아니다.
    • 사진에는 시험용 관리자 계정이 보이지만 실제 배포에서는 전용 권한·keystore를 사용한다. fingerprint 길이와 작은 파일 처리 조건은 설치 버전의 문서로 확인한다.
    shell
    filebeat test config -e
    filebeat test output -e

    실제 비밀값이 출력될 수 있는 디버그 로그는 외부에 복사하지 않는다.

    Beats 수집과 Elastic 연결 · Elasticsearch에 실제 데이터가 들어오는지 확인 (2)원본 크기로 보기 ↗
    • setup.kibana, output.elasticsearch, filebeat.inputs 세 블록이 나뉘어 보인다.
    • filestream의 id·paths와 fingerprint.length 64가 표시된다. 필드 이름은 같아도 버전별 기본 동작을 확인해야 한다.
    확인 기준

    test config와 test 을 각각 수행해 문법과 연결을 구분한다.

  2. 시간 필터와 문서 수를 먼저 확인한다

    • 에서 와 시간 범위를 맞춘 뒤 Documents 수를 읽는다. 서비스가 실행 중이어도 해당 인덱스·시간 범위에 문서가 없으면 검색은 비어 있다.
    • 화면의 세 문서는 테스트 로그·로그인 성공·결제 오류라는 메시지를 가진다. 메시지 이름은 사건 분류의 입력이며 실제 비즈니스 성공을 독립 검증한 값은 아니다.
    Elastic·Kibana 운영 · Discover (5)원본 크기로 보기 ↗
    • Data view는 elk-basic이고 시간 범위는 Last 7 days, Documents는 3으로 표시된다.
    • 각 행에 @timestamp·host.hostname·message·_index가 보여 수집 문서를 구조화된 필드로 읽을 수 있다.
    확인 기준

    시각·인덱스·데이터 뷰가 틀려 생긴 빈 결과와 수집 실패를 분리한다.

  3. 검색어와 필드 조건의 차이를 시험한다

    • 사진의 검색창은 호스트 이름 문자열을 검색한다. 정확한 필드 조건을 쓰려면 KQL의 필드:값 구문과 해당 필드의 매핑을 확인한다.
    • 원본 message와 event.original을 보존하면서 필요한 구조 필드를 추가하고, 파싱 실패를 성공 문서와 구분한다.
    host.hostname : "lab-host"

    KQL의 필드 조건 예시. 자신의 문서에 저장된 호스트 이름으로 바꾼다.

    Elastic·Kibana 운영 · Discover (6)원본 크기로 보기 ↗
    • 왼쪽 Available fields에 @timestamp·event.original·host.hostname·lab·message가 보인다.
    • 검색 후에도 Documents 3이 보이며 호스트 문자열이 강조된다. 강조 표시만으로 정확한 필드 동등 비교가 수행됐다고 해석하지 않는다.
    확인 기준

    시간 범위와 필드 매핑을 고정한 뒤 검색 결과 수를 비교한다.

실습에서 확인한 동작 원리

  • 설정 연결과 문서 출력은 다른 경로다.
  • 검색 결과는 데이터 뷰·시간·필드 매핑 조건에 의존한다.

설정·출력 추가로 확인하기 60장

아래 화면을 펼쳐 위 실습의 설정값, 명령과 확인 기준을 비교해 보세요. 각 묶음은 별도 실습 기록입니다.

실습 화면 묶음 01 11장
9/1 - beat, nessus · 명령·상태 출력 4원본 크기로 보기 ↗
  • 「tmi」 문맥에 삽입된 원본 명령·상태 출력이다. Elastic Stack의 수집·검색·시각화 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
9/1 - beat, nessus · 설정 예시 5원본 크기로 보기 ↗
  • 「tmi」 문맥에 삽입된 원본 설정 예시이다. Elastic Stack의 수집·검색·시각화 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
9/1 - beat, nessus · 실습·개념 참고 화면 10원본 크기로 보기 ↗
  • 「대시보드 확인 (filebeat)」 문맥에 삽입된 원본 실습·개념 참고 화면이다. Elastic Stack의 수집·검색·시각화 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
9/1 - beat, nessus · 실습·개념 참고 화면 11원본 크기로 보기 ↗
  • 에 삽입된 원본 학습 화면이다. Heartbeat 설정의 schedule 항목을 일정 간격 실행 표현식으로 지정한 화면이다.
9/1 - beat, nessus · 실습·개념 참고 화면 12원본 크기로 보기 ↗
  • 에 삽입된 원본 학습 화면이다. Heartbeat의 ICMP 모니터 목록에서 대상별 가용 상태와 최근 검사 시각을 확인하는 화면이다.
9/1 - beat, nessus · 실습·개념 참고 화면 2원본 크기로 보기 ↗
  • 「tmi」 문맥에 삽입된 원본 실습·개념 참고 화면이다. Elastic Stack의 수집·검색·시각화 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
9/1 - beat, nessus · 실습·개념 참고 화면 3원본 크기로 보기 ↗
  • 「tmi」 문맥에 삽입된 원본 실습·개념 참고 화면이다. Elastic Stack의 수집·검색·시각화 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
9/1 - beat, nessus · 실습·개념 참고 화면 6원본 크기로 보기 ↗
  • 「hearbeat 설정」 문맥에 삽입된 원본 실습·개념 참고 화면이다. Elastic Stack의 수집·검색·시각화 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
9/1 - beat, nessus · 실습·개념 참고 화면 7원본 크기로 보기 ↗
  • 「metric beat 설정」 문맥에 삽입된 원본 실습·개념 참고 화면이다. Elastic Stack의 수집·검색·시각화 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
9/1 - beat, nessus · 실습·개념 참고 화면 8원본 크기로 보기 ↗
  • 「filebeat 설정」 문맥에 삽입된 원본 실습·개념 참고 화면이다. Elastic Stack의 수집·검색·시각화 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
9/1 - beat, nessus · 실습·개념 참고 화면 9원본 크기로 보기 ↗
  • 「대시보드 확인 (filebeat)」 문맥에 삽입된 원본 실습·개념 참고 화면이다. Elastic Stack의 수집·검색·시각화 학습 내용과 함께 당시 구성·설정·관찰 결과를 비교할 수 있다.
실습 화면 묶음 02 9장
Beats 수집과 Elastic 연결 · Elasticsearch에 실제 데이터가 들어오는지 확인 (3)원본 크기로 보기 ↗
  • 수업 원본 자료 · 에이전트에서 Elasticsearch로 데이터를 보내고 Kibana에서 조회하는 과정. 원문에서 「Elasticsearch에 실제 데이터가 들어오는지 확인」에 배치된 그림 또는 화면이다.
Beats 수집과 Elastic 연결 · Kibana 콘솔 접근 (10)원본 크기로 보기 ↗
  • 수업 원본 자료 · 에이전트에서 Elasticsearch로 데이터를 보내고 Kibana에서 조회하는 과정. 원문에서 「Kibana 콘솔 접근」에 배치된 그림 또는 화면이다.
Beats 수집과 Elastic 연결 · Kibana 콘솔 접근 (8)원본 크기로 보기 ↗
  • 수업 원본 자료 · 에이전트에서 Elasticsearch로 데이터를 보내고 Kibana에서 조회하는 과정. 원문에서 「Kibana 콘솔 접근」에 배치된 그림 또는 화면이다.
Beats 수집과 Elastic 연결 · Kibana 콘솔 접근 (9)원본 크기로 보기 ↗
  • 수업 원본 자료 · 에이전트에서 Elasticsearch로 데이터를 보내고 Kibana에서 조회하는 과정. 원문에서 「Kibana 콘솔 접근」에 배치된 그림 또는 화면이다.
Beats 수집과 Elastic 연결 · 설치 과정 (1)원본 크기로 보기 ↗
  • 수업 원본 자료 · 에이전트에서 Elasticsearch로 데이터를 보내고 Kibana에서 조회하는 과정. 원문에서 「설치 과정」에 배치된 그림 또는 화면이다.
Beats 수집과 Elastic 연결 · 실전 (4)원본 크기로 보기 ↗
  • 수업 원본 자료 · 에이전트에서 Elasticsearch로 데이터를 보내고 Kibana에서 조회하는 과정. 원문에서 「실전」에 배치된 그림 또는 화면이다.
Beats 수집과 Elastic 연결 · 실전 (5)원본 크기로 보기 ↗
  • 수업 원본 자료 · 에이전트에서 Elasticsearch로 데이터를 보내고 Kibana에서 조회하는 과정. 원문에서 「실전」에 배치된 그림 또는 화면이다.
Beats 수집과 Elastic 연결 · 실전 (6)원본 크기로 보기 ↗
  • 수업 원본 자료 · 에이전트에서 Elasticsearch로 데이터를 보내고 Kibana에서 조회하는 과정. 원문에서 「실전」에 배치된 그림 또는 화면이다.
Beats 수집과 Elastic 연결 · 실전 (7)원본 크기로 보기 ↗
  • 수업 원본 자료 · 에이전트에서 Elasticsearch로 데이터를 보내고 Kibana에서 조회하는 과정. 원문에서 「실전」에 배치된 그림 또는 화면이다.
실습 화면 묶음 03 1장
Elastic 수집·검색·시각화 구성 · Beats 구축원본 크기로 보기 ↗
  • 학습 원본 · Elastic 수집·검색·시각화 구성의 Beats 구축에 수록된 화면·도식이다.
실습 화면 묶음 04 1장
Elastic 수집·검색·시각화 구성 · Beats 구축원본 크기로 보기 ↗
  • 학습 원본 · Elastic 수집·검색·시각화 구성의 Beats 구축에 수록된 화면·도식이다.
실습 화면 묶음 05 1장
Elastic 수집·검색·시각화 구성 · Beats 구축원본 크기로 보기 ↗
  • 학습 원본 · Elastic 수집·검색·시각화 구성의 Beats 구축에 수록된 화면·도식이다.
실습 화면 묶음 06 1장
Elastic 수집·검색·시각화 구성 · Beats 구축원본 크기로 보기 ↗
  • 학습 원본 · Elastic 수집·검색·시각화 구성의 Beats 구축에 수록된 화면·도식이다.
실습 화면 묶음 07 1장
Elastic 수집·검색·시각화 구성 · Beats 구축원본 크기로 보기 ↗
  • 학습 원본 · Elastic 수집·검색·시각화 구성의 Beats 구축에 수록된 화면·도식이다.
실습 화면 묶음 08 1장
Elastic 수집·검색·시각화 구성 · Beats 구축원본 크기로 보기 ↗
  • 학습 원본 · Elastic 수집·검색·시각화 구성의 Beats 구축에 수록된 화면·도식이다.
실습 화면 묶음 09 1장
Elastic 수집·검색·시각화 구성 · Beats 구축원본 크기로 보기 ↗
  • 학습 원본 · Elastic 수집·검색·시각화 구성의 Beats 구축에 수록된 화면·도식이다.
실습 화면 묶음 10 1장
Elastic 수집·검색·시각화 구성 · Beats 구축원본 크기로 보기 ↗
  • 학습 원본 · Elastic 수집·검색·시각화 구성의 Beats 구축에 수록된 화면·도식이다.
실습 화면 묶음 11 1장
Elastic 수집·검색·시각화 구성 · Beats 구축원본 크기로 보기 ↗
  • 학습 원본 · Elastic 수집·검색·시각화 구성의 Beats 구축에 수록된 화면·도식이다.
실습 화면 묶음 12 1장
Elastic 수집·검색·시각화 구성 · Elasticsearch 구축원본 크기로 보기 ↗
  • 학습 원본 · Elastic 수집·검색·시각화 구성의 Elasticsearch 구축에 수록된 화면·도식이다.
실습 화면 묶음 13 1장
Elastic 수집·검색·시각화 구성 · Elasticsearch 구축원본 크기로 보기 ↗
  • 학습 원본 · Elastic 수집·검색·시각화 구성의 Elasticsearch 구축에 수록된 화면·도식이다.
실습 화면 묶음 14 1장
Elastic 수집·검색·시각화 구성 · Elasticsearch 구축원본 크기로 보기 ↗
  • 학습 원본 · Elastic 수집·검색·시각화 구성의 Elasticsearch 구축에 수록된 화면·도식이다.
실습 화면 묶음 15 1장
Elastic 수집·검색·시각화 구성 · Elasticsearch 구축원본 크기로 보기 ↗
  • 학습 원본 · Elastic 수집·검색·시각화 구성의 Elasticsearch 구축에 수록된 화면·도식이다.
실습 화면 묶음 16 1장
Elastic 수집·검색·시각화 구성 · Elasticsearch 구축원본 크기로 보기 ↗
  • 학습 원본 · Elastic 수집·검색·시각화 구성의 Elasticsearch 구축에 수록된 화면·도식이다.
실습 화면 묶음 17 1장
Elastic 수집·검색·시각화 구성 · Elasticsearch 구축원본 크기로 보기 ↗
  • 학습 원본 · Elastic 수집·검색·시각화 구성의 Elasticsearch 구축에 수록된 화면·도식이다.
실습 화면 묶음 18 1장
Elastic 수집·검색·시각화 구성 · Elasticsearch 구축원본 크기로 보기 ↗
  • 학습 원본 · Elastic 수집·검색·시각화 구성의 Elasticsearch 구축에 수록된 화면·도식이다.
실습 화면 묶음 19 1장
Elastic 수집·검색·시각화 구성 · Elasticsearch 구축원본 크기로 보기 ↗
  • 학습 원본 · Elastic 수집·검색·시각화 구성의 Elasticsearch 구축에 수록된 화면·도식이다.
실습 화면 묶음 20 1장
Elastic 수집·검색·시각화 구성 · Elasticsearch 구축원본 크기로 보기 ↗
  • 학습 원본 · Elastic 수집·검색·시각화 구성의 Elasticsearch 구축에 수록된 화면·도식이다.
실습 화면 묶음 21 1장
Elastic 수집·검색·시각화 구성 · Elasticsearch 구축원본 크기로 보기 ↗
  • 학습 원본 · Elastic 수집·검색·시각화 구성의 Elasticsearch 구축에 수록된 화면·도식이다.
실습 화면 묶음 22 1장
Elastic 수집·검색·시각화 구성 · Elasticsearch 구축원본 크기로 보기 ↗
  • 학습 원본 · Elastic 수집·검색·시각화 구성의 Elasticsearch 구축에 수록된 화면·도식이다.
실습 화면 묶음 23 1장
Elastic 수집·검색·시각화 구성 · Elasticsearch 구축원본 크기로 보기 ↗
  • 학습 원본 · Elastic 수집·검색·시각화 구성의 Elasticsearch 구축에 수록된 화면·도식이다.
실습 화면 묶음 24 1장
Elastic 수집·검색·시각화 구성 · Elasticsearch 구축원본 크기로 보기 ↗
  • 학습 원본 · Elastic 수집·검색·시각화 구성의 Elasticsearch 구축에 수록된 화면·도식이다.
실습 화면 묶음 25 1장
Elastic 수집·검색·시각화 구성 · Elasticsearch 구축원본 크기로 보기 ↗
개인정보·발급값 가림
  • 학습 원본 · Elastic 수집·검색·시각화 구성의 Elasticsearch 구축에 수록된 화면·도식이다. 개인 계정·발급값이 보이는 영역만 검게 가린 공개용 사본이다.
실습 화면 묶음 26 1장
Elastic 수집·검색·시각화 구성 · Elasticsearch 구축원본 크기로 보기 ↗
개인정보·발급값 가림
  • 학습 원본 · Elastic 수집·검색·시각화 구성의 Elasticsearch 구축에 수록된 화면·도식이다. 개인 계정·발급값이 보이는 영역만 검게 가린 공개용 사본이다.
실습 화면 묶음 27 1장
Elastic 수집·검색·시각화 구성 · Kibana 구축원본 크기로 보기 ↗
  • 학습 원본 · Elastic 수집·검색·시각화 구성의 Kibana 구축에 수록된 화면·도식이다.
실습 화면 묶음 28 1장
Elastic 수집·검색·시각화 구성 · Kibana 구축원본 크기로 보기 ↗
  • 학습 원본 · Elastic 수집·검색·시각화 구성의 Kibana 구축에 수록된 화면·도식이다.
실습 화면 묶음 29 1장
Elastic 수집·검색·시각화 구성 · Kibana 구축원본 크기로 보기 ↗
  • 학습 원본 · Elastic 수집·검색·시각화 구성의 Kibana 구축에 수록된 화면·도식이다.
실습 화면 묶음 30 1장
Elastic 수집·검색·시각화 구성 · Kibana 구축원본 크기로 보기 ↗
  • 학습 원본 · Elastic 수집·검색·시각화 구성의 Kibana 구축에 수록된 화면·도식이다.
실습 화면 묶음 31 1장
Elastic 수집·검색·시각화 구성 · Kibana 구축원본 크기로 보기 ↗
  • 학습 원본 · Elastic 수집·검색·시각화 구성의 Kibana 구축에 수록된 화면·도식이다.
실습 화면 묶음 32 1장
Elastic 수집·검색·시각화 구성 · Kibana 구축원본 크기로 보기 ↗
  • 학습 원본 · Elastic 수집·검색·시각화 구성의 Kibana 구축에 수록된 화면·도식이다.
실습 화면 묶음 33 1장
Elastic 수집·검색·시각화 구성 · Kibana 구축원본 크기로 보기 ↗
  • 학습 원본 · Elastic 수집·검색·시각화 구성의 Kibana 구축에 수록된 화면·도식이다.
실습 화면 묶음 34 1장
Elastic 수집·검색·시각화 구성 · logstash 구축원본 크기로 보기 ↗
  • 학습 원본 · Elastic 수집·검색·시각화 구성의 logstash 구축에 수록된 화면·도식이다.
실습 화면 묶음 35 7장
Elasticsearch 관리자 비밀번호 재설정 결과원본 크기로 보기 ↗
개인정보·발급값 가림
  • 수업 원본 캡처 · Kibana 연계 계정 설정 과정이다. 생성된 비밀번호 출력 부분은 공개 전 보호가 필요하다. 개인 계정·발급값이 보이는 영역만 검게 가린 공개용 사본이다.
Elastic·Kibana 운영 · Dev Tools (10)원본 크기로 보기 ↗
  • 수업 원본 자료 · 데이터 관리·Discover·Dev Tools·계정 설정. 원문에서 「Dev Tools」에 배치된 그림 또는 화면이다.
Elastic·Kibana 운영 · Dev Tools (7)원본 크기로 보기 ↗
  • 수업 원본 자료 · 데이터 관리·Discover·Dev Tools·계정 설정. 원문에서 「Dev Tools」에 배치된 그림 또는 화면이다.
Elastic·Kibana 운영 · Dev Tools (9)원본 크기로 보기 ↗
  • 수업 원본 자료 · 데이터 관리·Discover·Dev Tools·계정 설정. 원문에서 「Dev Tools」에 배치된 그림 또는 화면이다.
Elastic·Kibana 운영 · Stack Management (2)원본 크기로 보기 ↗
  • 수업 원본 자료 · 데이터 관리·Discover·Dev Tools·계정 설정. 원문에서 「Stack Management」에 배치된 그림 또는 화면이다.
Elastic·Kibana 운영 · Stack Management (3)원본 크기로 보기 ↗
  • 수업 원본 자료 · 데이터 관리·Discover·Dev Tools·계정 설정. 원문에서 「Stack Management」에 배치된 그림 또는 화면이다.
Elastic·Kibana 운영 · Stack Management (4)원본 크기로 보기 ↗
  • 수업 원본 자료 · 데이터 관리·Discover·Dev Tools·계정 설정. 원문에서 「Stack Management」에 배치된 그림 또는 화면이다.
실습 화면 묶음 36 1장
Logstash keystore 생성 경고원본 크기로 보기 ↗
  • 수업 원본 자료 · 데이터 관리·Discover·Dev Tools·계정 설정.
동작·명령 참고 문서

17검색 문법과 상관분석의 전제

  • KQL은 주로 필터 표현, ES|QL은 파이프 형태의 조회·변환·집계 언어이다. SPL이나 과 단순 문자열 치환으로 동일해지지 않는다.
  • 같은 질문을 비교하려면 시간 범위, 누락 필드, 다중 값, 중복 이벤트 기준을 맞춘다. event.category=과 event.outcome=failure를 쓰려면 수집 파서가 그 의미를 정확히 채워야 한다.
  • ECS는 공통 필드 의미를 제공하지만 모든 사용자 이 자동으로 ECS가 되지는 않는다. 출발지와 목적지, 사건 발생 시각과 수신 시각, 호스트 이름과 고유 ID를 일관되게 해석해야 여러 데이터가 관계를 가진다.
  • 로그를 많이 저장한 것보다 그 관계를 재현 가능한 쿼리로 설명하는 것이 관제의 다음 단계다.

설명과 함께 보는 보조 도식

처리 과정

모식도 · Elastic 데이터 파이프라인

사용 환경에 따라 Logstash 또는 다른 수집·변환 경로를 선택할 수 있다.

전체 단계를 한 번에 읽기
  1. 01

    입력

    수집 위치와 원본 표본을 확인한다.

  2. 02

    변환

    원본의 시각과 필드 의미를 보존한다.

  3. 03

    색인

    실제 매핑과 오류 응답을 확인한다.

    자료형
    text·keyword·date·숫자 등
  4. 04

    조회

    시간 창·데이터 범위·권한과 원본을 비교한다.

구성요소와 데이터 이동을 단순화한 학습용 모식도입니다. 실제 제품의 모든 내부 모듈을 나타내지는 않습니다.
학습 확인

이해했는지 확인하기

  • 수집기에서 Elasticsearch까지 실제 경로를 그린다.
  • 시간·숫자·주소 필드의 파싱과 매핑을 확인한다.
  • 빈 화면을 데이터 부재로 단정하기 전에 시간 범위·권한·실패 로그를 확인한다.

함께 확인할 공식 자료