TOPIC/Data

데이터(Data)와 로그(Log)

admin_cloud 2023. 11. 24. 14:06

안녕하세요. 

 

어렵지만 조금 가벼운? 첫 포스팅을 하게된 TAK 입니다.

 

첫 포스팅의 주제로 [데이터와 로그]에 대해서 알아보는 시간을 가지려 합니다.

익숙한 듯 자주 말하고 듣지만, 이 둘의 정의할 때의 모호함 그리고 쓰임의 혼란스러움이 이번 글을 쓰게된 계기가 되었답니다!


처음엔 데이터>>>로그 = “로그는 데이터의 한 종류”라는 생각을 하게 됩니다.
조금 관대한 마음으로 바라본다면 이는 틀린 말은 아닙니다.

로그(Log)는 데이터(Data)의 일종으로 데이터로써 사용될 수 있습니다.

 

 

하지만, 이 둘은 서로 다른 개념으로 정의에 따라 구분되어 질 수 있어요.


데이터(Data)란?

“기록된 사실이나 개념으로서 기계나 사람에 의해 처리될 수 있는 형태의 표현” 혹은 “측정, 관찰 또는 수집되는 정보”라고 정의할 수 있습니다. 

로그(Log)란?

“시스템, 서비스 또는 응용 프로그램에서 발생하는 이벤트, 알림, 경고, 에러, 조치 등의 기록 혹은 “사용자, 서비스 또는 시스템에서 발생한 이벤트를 기록하는 기술 이라고 정의할 수 있습니다.

 

그렇다면, 데이터를 로그라고 표현하는 것은 어떨까요?

로그를 데이터로 포함하여 바라볼 수 있다는 앞선 언급과는 다르게 이는 일반적인 시각으로 정확한 표현은 아닙니다.


데이터는 특정 목적을 가지고 수집하거나, 생성된 정보를 의미합니다. 

하지만, 로그는 시스템이나 소프트웨어의 동작을 추적하고 기록하는 정보를 의미하기에 데이터를 로그로 표현하는 것은 정확하지 않습니다.

 

그럼, 조금 더 자세히 이 둘의 쓰임과 목적에 대해서 알아볼까요?

"데이터"는 정보를 나타내는 숫자,문자,기호 등의 형태로 표현된 값들을 말합니다. 일반적으로 데이터는 정보를 수집, 저장, 처리 및 분석하기 위한 필수적인 자원입니다.

 

예를 들어, 고객의 이름, 나이, 성별, 주소 등은 우리가 흔히 볼 수 있는 데이터입니다.

 

 

대표적인 데이터의 유형으로는 다음과 같습니다.

  • 정형 데이터 (Structured data): 관계형 데이터베이스(RDBMS)에 저장된 데이터가 이에 해당합니다.
    예를 들어, 회원 정보를 저장하는 회원 테이블은 일반적으로 ID, 이름, 이메일, 주소 등의 열(column)로 구성됩니다.
  • 반정형 데이터 (Semi-structured data): XML, JSON 등이 이에 해당합니다.
    예를 들어, 온라인 쇼핑몰에서 제품 정보를 XML 또는 JSON 형식으로 제공하는 경우가 있습니다.
  • 비정형 데이터 (Unstructured data): 이미지, 동영상, 텍스트 등이 이에 해당합니다.
    예를 들어, 소셜 미디어에서 게시된 사진이나 동영상, 뉴스 기사, 논문 등이 비정형 데이터입니다.

 

"로그"는 시스템 또는 프로그램이 수행되는 동안 발생하는 이벤트나 상태 변경 등의 정보를 기록하는 기록입니다. 

일반적으로 로그는 시스템이나 프로그램에서 특정한 시간대에 발생한 이벤트를 시간 순서대로 기록하며, 이들은 보통 분석, 모니터링, 문제 해결, 진단 등의 목적으로 사용됩니다.


대표적인 로그의 종류는 다음과 같습니다.

  • 액세스 로그(access logs): 웹 서버나 애플리케이션 서버에서 발생하는 HTTP 요청에 대한 정보를 기록합니다.
    예를 들어, 요청한 IP 주소, 사용자 에이전트, 요청 시각 등이 포함됩니다.
  • 에러 로그(error logs): 서버나 애플리케이션에서 발생하는 오류와 예외 상황에 대한 정보를 기록합니다.
    예를 들어, 404 오류, 500 오류, 스택 트레이스 등이 포함됩니다.
  • 시스템 로그(system logs): 운영 체제에서 발생하는 이벤트와 상태 정보를 기록합니다.
    예를 들어, 부팅 로그, 로그인 이벤트, 네트워크 이벤트, 프로세스 이벤트 등이 포함됩니다.
  • 보안 로그(security logs): 시스템과 네트워크 보안과 관련된 이벤트와 정보를 기록합니다.
    예를 들어, 로그인 실패 이벤트, 악성 코드 감지 이벤트, 보안 정책 위반 이벤트 등이 포함됩니다.
  • 디버그 로그(debug logs): 애플리케이션에서 발생하는 디버깅 정보를 기록합니다.
    예를 들어, 변수 값, 함수 호출 정보, 오류 메시지 등이 포함됩니다.
  • 프로파일링 로그(profiling logs): 애플리케이션의 성능 분석을 위한 정보를 기록합니다.
    예를 들어, 함수 호출 시간, 메모리 사용량, CPU 사용량 등이 포함됩니다.
  • 사용자 로그(user logs): 사용자의 행동과 활동에 대한 정보를 기록합니다.
    예를 들어, 로그인 이벤트, 검색어 입력 이벤트, 페이지 방문 이벤트 등이 포함됩니다.

 

위에 설명한 "데이터" "로그"에 대해 예시로 표현하자면,

 

"데이터"의 경우, 웹앱에서 사용자가 새로운 계정을 만들거나 로그인할 때 입력한 정보(이름, 이메일, 비밀번호 등)는 입력한 정보 혹은 시스템에서 생성된 정보를 데이터베이스에 저장합니다. 또한 이러한 데이터는 사용자가 로그인하면 애플리케이션은 데이터베이스에서 해당 사용자 정보를 가져와 인증을 수행하는 등 애플리케이션의 기능을 수행하기 위해 사용됩니다. 

 

"로그"의 경우, 웹 서버 로그는 클라이언트 요청에 대한 정보(요청한 페이지, 브라우저 종류, IP 주소 등)를 기록합니다. 이러한 정보는 웹앱 성능을 모니터링하고, 문제를 해결하기 위해 사용될 수 있습니다. 또한 웹 서버 로그는 악성 요청이나 기타 보안 위협을 감지하고, 해당 이벤트를 기록합니다. 이러한 정보는 보안 관련 분석에 사용될 수 있습니다. 

 

이처럼 데이터와 로그는 쓰임과 목적에 따라 어느 정도 구분되어 질 수 있습니다.

 

마지막으로, 데이터와 로그 분석 및 시각화 도구(Tools)에 대해서 알아보려고 합니다.

대표적 분석 및 시각화 도구를 나열하자면 다음과 같습니다.

  • 데이터 분석 도구
    • Python: Pandas, Numpy, Scipy, Matplotlib 등
    • R: ggplot2, dplyr, tidyr, readr 등
    • SQL: MySQL, PostgreSQL, Microsoft SQL Server 등
    • Microsoft Excel: PivotTable, Chart, Data Analysis ToolPak 등
  • 데이터 시각화 도구
    • Python: Matplotlib, Seaborn, Plotly, Bokeh 등
    • R: ggplot2, lattice, ggvis 등
    • Tableau: Tableau Desktop, Tableau Public, Tableau Prep 등
    • Microsoft Excel: Chart, PivotTable, Power BI 등
  • 로그 분석 도구
    • ELK Stack: Elasticsearch, Logstash, Kibana 등
    • Graylog: Graylog Server, Graylog Enterprise, Graylog Cloud 등
    • Splunk: Splunk Enterprise, Splunk Cloud, Splunk Light 등
  • 로그 시각화 도구
    • Kibana: ELK Stack의 일부로 시각화 도구로 사용
    • Grafana: Grafana Labs에서 개발 및 유지 관리
    • Datadog: 클라우드 모니터링 및 분석 플랫폼으로 로그 분석 기능 제공

 

위 도구들은 사용자 환경, 언어, 기능 등 사용함에 있어서 차이가 있을 수 있지만, 대부분 분석 및 시각화하는데 유용하게 사용될 수 있습니다. 

 

요즘은 분석 및 시각화 도구의 경우, 데이터와 로그의 구분 없이 수집, 가공, 분석, 시각화하는 데 사용됩니다.

특히, 해당 제품은 3rd Party 유료로 사용하게 되면 더 다양한 기능과 서비스를 제공받을 수 있습니다.

(대부분 SaaS형으로 서비스를 제공하여 사용자가 편리하게 사용할 수 있도록 제공)

 


 

이번 포스팅으로 "데이터"와 "로그"에 대해서 함께 알아보았습니다.

 

 

추후에 다음 도구들을 실제로 사용해서 공통점과 차이점을 비교하는 포스팅으로 돌아오겠습니다:)

 

 

 

Reference

"데이터" 이미지
https://ka.unikom.ac.id/2022/03/24/berkenalan-dengan-data-analysis-dan-data-visualization/
https://data.lan.go.id/

"로그" 이미지
https://coralogix.com/blog/analyzing-log-data-important/
https://coralogix.com/blog/cdn-log-analysis/

 

 

 

 

728x90
320x100
SMALL