2025년 6월 15일 일요일

CentOS의 Splunk - 2nd

스플렁크 RPM 설치 실패.

[root@Splunk ~]# rpm -ivh splunk-9.4.3-237ebbd22314.x86_64.rpm
error: splunk-9.4.3-237ebbd22314.x86_64.rpm: headerRead failed: hdr data: BAD, no. of bytes(19932197) out of range
error: splunk-9.4.3-237ebbd22314.x86_64.rpm cannot be installed
cs

헤더 정보를 못 읽는다는 뜻인가? 설치 파일은 문제가 없는 것 같은데?

[root@Splunk ~]# file splunk-9.4.3-237ebbd22314.x86_64.rpm
splunk-9.4.3-237ebbd22314.x86_64.rpm: RPM v3.0 bin i386/x86_64 splunk-9.4.3-237ebbd22314
cs

2025년 6월 14일 토요일

Splunk의 데이터 전처리 - 3rd

스플렁크는 3단계의 윈도우 이벤트 전처리 과정을 제공한다. 이중 wel-eq-kv를 제외한 나머지는 모두 정규표현식으로 동작.

2025년 6월 8일 일요일

데이터 노가다 실수담 - 11th

3개의 필드로 이루어진 테이블. a가 있으면 c가 없고, c가 있으면 a가 없는 구조. 


2025년 5월 22일 목요일

Elasticsearch 9.0의 변화 - 3rd

On master node

클러스터 마스터 노드 설정(elasticsearch.yml).

# Enable encryption and mutual authentication between cluster nodes
xpack.security.transport.ssl:
  enabled: true
  verification_mode: certificate
  keystore.path: certs/transport.p12
  truststore.path: certs/transport.p12
# Create a new cluster with the current node only
# Additional nodes can still join the cluster later
cluster.initial_master_nodes: ["192.168.31.177"]
 

2025년 5월 20일 화요일

Elasticsearch 9.0의 변화 - 2nd

stack mornitoring 실행하니 이런 에러가 뜬다. 개체 암호화키가 필요하다고?

에러 메시지 안 뜰 수도 있음

2025년 5월 14일 수요일

Splunk의 날짜 계산

최근 30일 데이터의 주간 단위 발생 통계. '월~일요일' 단위 집계 결과를 보여준다.


2025년 5월 11일 일요일

Splunk의 unix time

audit.log 연동. 소스타입 선택과 관계 없이 unix time을 잘 인식한다.


2025년 5월 7일 수요일

지금 경계선에서

저자 레베카 코스타. 예전에 읽다 용두사미 결론에 실망하며 덮었던 기억이 나는데 오랫만에 다시 읽어봄.

마야, 로마 등 사라진 문명은 그 복잡도가 인간의 인지 능력 한계까지 발전했을 때 망조가 들었다는 초반부는 재미있다. 관료제하의 모든 사람은 자신이 가장 무능해질 때까지 승진한다는 피터의 법칙이 떠오름.
유기체가 생존 가능성을 높이려면 유기체의 복잡성이 환경의 복잡성과 대등한 수준이 되어야 한다 (29 페이지)
사회의 해결 능력을 훌쩍 뛰어넘는 수준으로 문제가 복잡해지면, 사회가 더 이상 문제 해결책을 '사고 '할 수 없는 시점(인식 한계점)에 도달하게 되면 해결되지 않은 문제들은 다음 세대로 떠넘겨지고 결국 해당 문명을 낭떠러지 끝으로 밀어낸다 (36 페이지)

2025년 5월 2일 금요일

Beat processors - 7th

audit.log 연동.
processors:
  - include_fields:
      fields: "message"
  - copy_fields:
      fields:
        - from: message
          to: message2
  - replace:
      fields:
        - field: "message2"
          pattern: "\""
          replacement: ""
  - script:
      lang: javascript
      source: >

Filebeat 9.0의 변화

audit.log 연동.

filebeat.inputs:
- type: filestream
  id: my-filestream-id
  enabled: true
  paths:
    - d:\test.log

output.console:
  pretty: true

processors:
  - include_fields:
      fields: "message"

2025년 4월 28일 월요일

Logstash 필터 ruby - 8th

audit.log 연동.
filter {
 mutate {
  remove_field => ["@timestamp", "@version", "path", "host"]
 }

 kv {}

 dissect {
  mapping => {"msg" => "%{}(%{timestamp}:%{}"}
 }
}

2025년 4월 22일 화요일

LogParser의 문자열 처리

이벤트 전체 현황을 보고 싶다. 첫 번째 문장만 추출하면 되겠는데?


2025년 4월 20일 일요일

Elasticsearch 9.0의 변화

지난주에 무슨 일이 있었는지 8.18과 9.0 버전이 동시에 릴리즈됐다. 8.18 지못미 다른 건 잘 모르겠고, ESQL에 LOOKUP JOIN 기능이 추가됨. ENRICH 기능과의 차이점은 정책 생성 및 실행 과정이 필요없다는 것.

1. enrich 인덱스 생성

2025년 4월 4일 금요일

데이터 노가다 실수담 - 10th

url 중 파일 정보 비교. 파일과 디렉토리를 구분하지 않고 저장하는 file과 최소한의 검사를 거친 file2의 차이가 크다. 


2025년 3월 28일 금요일

Logstash 필터 ruby - 7th

ruby 필터를 이용한 숫자 검사.
filter {
 mutate {
  remove_field => ["@timestamp", "@version", "path", "host"]
 }

 dissect {
  mapping => {"message" => '%{}"%{}" %{status} %{}'}
  convert_datatype => {"status" => "int"}
 }

2025년 3월 23일 일요일

Logstash 필터 geoip - 2nd

geoip 필터를 이용하면 위경도를 포함한 ip 주소의 다양한 지리 정보를 사용할 수 있다. 
{
    "message" => "122.213.34.56",
      "geoip" => {
             "longitude" => 139.6297,
                    "ip" => "122.213.34.56",
         "country_code3" => "JP",
              "latitude" => 35.5843,
              "timezone" => "Asia/Tokyo",
             "city_name" => "Chitose",
           "region_name" => "Kanagawa",
           "region_code" => "14",
              "location" => {
            "lat" => 35.5843,
            "lon" => 139.6297

2025년 3월 17일 월요일

ingest pipeline - 6th

로그스태시는 조건문으로 필터의 유기적인 실행 관계를 설정할 수 있다. beat processor도 마찬가지. 다음은 데이터 조건에 따라 달라지는 로그스태시 필터.
filter {
 mutate {
  remove_field => ["@timestamp", "@version", "path", "host"]
 }

 dissect {
  mapping => {"message" => '%{} "%{} %{uri} %{}" %{}'}
 }
 

2025년 3월 14일 금요일

2025년 3월 3일 월요일

엘라스틱 Runtime field - 10th

beat 기본 인덱스 템플릿을 사용하면 1,500여 개 필드로 구성된 인덱스가 생성된다.


2025년 2월 27일 목요일

Beat processors - 6th

;을 구분자로 사용한 데이터 분리.
- script:
    lang: javascript
    source: >
      function process(evt) 
        var str = evt.Get('message').split(';')
        evt.Put('result', str)
      }
{
  "@timestamp": "2025-02-27T03:49:19.802Z",
  "@metadata": {
    "beat": "filebeat",
    "type": "_doc",
    "version": "8.17.0"
  },
  "message": "type:  5 crl.root-x1.letsencrypt.org.edgekey.net;type:  5 e8652.dscx.akamaiedge.net;::ffff:23.207.177.83;",

2025년 2월 14일 금요일

Splunk 대시보드 - 3rd

스플렁크 대시보드 생성 시 조건 입력창은 다섯 가지인데 UI만 다를 뿐 기능은 모두 동일하다.


2025년 1월 22일 수요일

나라를 위해서 일한다는 거짓말


전도유망한 30대 서기관이 공직을 그만두고 책을 쓴 이유는 무엇일까? 저자는 그 이유를 '비효율', '헛짓거리', '쓸데없는 일' 세 단어로 고백한다.
공직사회의 일이란 그저 관습에 따르거나 기관장을 빛내기 위한 거대한 비효율의 반복 (83페이지)
진짜 필요한 일이 아닌 헛짓거리에 자신의 인생을 갈아 넣으며 느끼는 공무원들의 자괴감 (188페이지)
공직사회는 일을 못한다. 관료가 게을러서도, 철밥통이어서도 아니다. 그저 쓸데없는 일이 너무 많아서다 (274페이지)

누가 그랬다. 노동 없는 삶은 부패하지만 영혼 없는 노동은 삶을 질식시킨다고. 

2025년 1월 18일 토요일

Logstash 필터 ruby - 6th

캡쳐그룹 순서번호는 1부터 시작한다.


Logstash 필터 ruby - 5th

ruby 필터는 == 등의 비교 연산자를 지원하지 않는다. 다음은 include 메소드를 이용한 ? 검사.
ruby {
 code => "
  if event.get('message').include?('?')
   event.set('result', 'TRUE')
  else
   event.set('result', 'FALSE')
  end
 "
}

2025년 1월 14일 화요일

Logstash 필터 split

공백으로 구분된 데이터.
[2025-01-14T21:09:09,525][INFO ][logstash.agent           ] Pipelines running {:count=>1, :running_pipelines=>[:main], :non_running_pipelines=>[]}
{
    "message" => "a b c\r"
}

mutate 필터의 split 옵션을 적용하면 다중값 구조로 바뀐다.
filter {
 mutate {
  remove_field => ["host", "@version", "path", "@timestamp"]
  split => {"message" => " "}
 }
}

2025년 1월 13일 월요일

Beat processors - 5th

filebeat를 이용한 웹로그 전처리.
processors:
  - include_fields:
      fields: "message"
  - if.contains:
      message: "?"
    then:
      - dissect:
          tokenizer: '%{clientip} %{} %{} [%{timestamp} %{}] "%{method} %{url}?%{param} %{}" %{status} %{}'
          field: "message"
          target_prefix: "" 
    else:
      - dissect:
          tokenizer: '%{clientip} %{} %{} [%{timestamp} %{}] "%{method} %{url} %{}" %{status} %{}'
          field: "message"
          target_prefix: "" 

2025년 1월 4일 토요일

Thick data

맥킨지, 구글 등 쟁쟁한 이력을 자랑하는 백영재 문화인류학 박사의 2023년작. thick data라는 낯선 용어가 시선을 끈다. 두꺼워? 데이터가? 

뭔 말인가 했더니 인류학에서 뭔가를 관찰할 때 고유 맥락과 상황을 포함시켜 연구 대상을 더 구체적이고 풍부하게 묘사하는 thick description에서 따온 말이라고.

빅데이터는 표면상으로 드러난 데이터, thick data는 표면에서는 보이지 않는 배경과 맥락을 포함한 데이터라는게 저자의 설명.
빅데이터는 '무엇을 얼마나 '에 관해서만 설명할 수 있다면, thick data는 '어떤 맥락에서 왜 '에 관해 말해 준다...
오직 thick data만이 빅데이터가 매끈하게 정규화, 표준화하느라 의도적으로 외면한 인간의 실제 경험, 진짜 얼굴을 보여준다 (14페이지)

크리에이티브 커먼즈 라이선스