본문 바로가기

좋아하는 것_매직IT/99.업무자동화하기

EFK 스택: Elasticsearch, Fluentd, Kibana로 로그 데이터 관리하기

반응형

EFK 소개


로그 데이터는 현대 소프트웨어 개발 및 운영에서 중요한 부분을 차지하고 있습니다. 
제가 EFK 를 사용하게된 이유는 업무를 진행하다가 저희 시스템으로 공격이 오더라고요...
그래서 분석을 하려고 했는데 명령어로만 하려니 몬가 1%부족함을 느껴서 이번에 EFK 스택을 도입하게 되었습니다. 

아무튼, 분석을 위한 이러한 로그 데이터를 효과적으로 수집, 저장, 시각화하고 분석하는 것은 기업의 성공과 안정성을 위해 너무너무 중요합니다.

이부분을 해결할 수 있는 EFK 스택은 Elasticsearch, Fluentd, Kibana의 조합으로 이러한 작업을 간편하게 수행할 수 있는 강력한 도구라고 말씀드리고 싶네요.

Elasticsearch


하나, 역할 및 특징

Elasticsearch는 실시간 분산 검색 및 분석 엔진입니다.
즉, 대용량의 데이터를 저장하고 효과적으로 검색할 수 있는 기능을 가지고 있죠.
특히 JSON 문서로 데이터를 저장하며, RESTful API를 통해 데이터에 접근할 수 있다는 점이 좋은것 같고요..
Elasticsearch 는 뛰어난 확장성과 성능을 제공하여 대규모의 로그 데이터도 효과적으로 처리할 수 있는 장점이 있는것으로 개인적으로 생각합니다.

둘. 아래는 간단한 사용 예시 입니다.

# 인덱스 생성
PUT /logs

# 데이터 색인
POST /logs/_doc/1
{
  "timestamp": "2024-01-16T12:00:00",
  "message": "로그 데이터 예시"
}

# 검색
GET /logs/_search
{
  "query": {
    "match": {
      "message": "예시"
    }
  }
}

 

Fluentd

하나, 역할 및 특징

Fluentd는 데이터 수집, 전송 및 로깅을 위한 오픈 소스 플랫폼이라고 머릿속에 넣어두시면 되고요.
json및 어플리케이션 로그등등 다양한 소스에서 로그 데이터를 수집하고 Elasticsearch와 같은 목적지로 전송하는데 사용됩니다.
특히 확장 가능한 플러그인 아키텍처를 통해 다양한 데이터 소스 및 목적지와 통합이 가능하다는 점이 장점이고요.

둘, 아래는 간단한 사용 예시 입니다.

# Fluentd 설정 예시
<source>
  @type tail
  path /var/log/app.log
  tag app.log
  format json
</source>

<match app.log>
  @type elasticsearch
  host localhost
  port 9200
  logstash_format true
</match>

간단하게 설명드리자면, 위와 같이 설정을 하시면..
app.log 를 tail 로 수집해서 Elasticsearch 로 전달하는 기능을 한다라고 보시면 될것 같네요.  

마지막으로 Kibana 입니다.

Kibana

하나. 역할 및 특징
Kibana는 Elasticsearch에서 저장된 데이터를 시각적으로 탐색하고 대화식 대시보드를 구축할 수 있는 시각화 도구입니다. 사용자는 효과적인 대시보드를 생성하여 로그 데이터의 트렌드 및 패턴을 쉽게 이해할 수 있습니다.
Kibana 가 없으면 쉘에서 스크립트와 명령어를 통해서 패턴을 분석해야겠죠..
이노력을 조금이나마 줄여줄 수 있는 것이 바로 Kibana 입니다.

둘. 사용 예시는 아래와 같습니다. 

주요 대시보드 구성 아래와 같습니다. 
데이터 시각화: 막대 그래프, 원 그래프 등
검색 및 필터링: 특정 시간 범위의 데이터 조회

맺음말

이제까지 EFK 스택에 대해서 간단하게 정리해보았는데요.
한마디로 EFK 스택은 로그 데이터를 효과적으로 수집하고 시각화하는 강력한 도구라고 말씀드리고 싶습니다. 

Elasticsearch의 검색 엔진, Fluentd의 데이터 수집 및 전송, 그리고 Kibana의 시각화 기능이 조합되어 운영 및 개발 환경에서 로그 데이터 관리를 효율적으로 수행할 수 있습니다.

저도 또한 EFK 스택을 구축해서 사내에서 효율적으로 잘 사용하고 있습니다. 
그리고 이를 통해 시스템의 안정성을 높이고 문제를 신속하게 해결할 수 있습니다.

요즘 공격이 많은 데요.. 해당 공격자에게 대응을 잘하게 해준 EFK 스택 너무나 강추합니다. 

오늘의 티스토리는 여기까지고요.
항상 믿고 봐주셔서 감사합니다.

300x250