반응형

출처: https://blog.naver.com/monoris30/221313548867

Splunk 검색에서 eval 과 stats 명령어는 매우 빈번하게 사용한다. 그러므로 사용자들은 두 명령어에서 사용하는 내장 함수에 익숙해야 한다.
    
eval 함수
 
eval 명령어에 사용하는 함수들은 변수에 대한 각종 조작, 검증을 수행하며, 함수 실행 결과값을 반환하는 형식이다. 그러므로 항상 다음과 같이 사용해야 한다.   [반환값_저장변수] = 함수(인자1, 인자2.. )
대부분의 eval 함수는 문자열을 인자로 취하고 이를 계산한 결과를 반환한다. 문자열은 ""로 감싸서 표시하고, 문자열을 반환하는 함수는 그 자체가 문자열이 될 수 있다.
 
case(X,"Y",...)
여러 개의 조건을 검증할 때 사용한다. 두 개의 인자가 한 그룹으로 동작하고,  첫 번째 인자가 참인 경우 두 번째 인자의 내용이 반환된다. 아래 예제는 HTTP 상태코드와 연결하는 설명을 반환하는 예제코드다. 

... | eval description=case(error == 404, "Not found", error == 500, "Internal Server Error", error == 200, "OK")

--> error가 404 이랑 같을 경우 "Not found 반환, error가 500이랑 같을 경우 "Internal Server Error" 반환 


cidrmatch("X",Y)
IP 주소 Y가 네트워크 X에 포함되는지 확인한다. 반환 값은 참 또는 거짓이다. 그러므로 if문과 같은 함수의 인자로 사용될 수 있다. 아래 예제 코드에서는 참을 반환한다. 두 개의 인자가 사용되고, 첫 번째는 CIDR 형식의 네트워크, 두 번째는 검사를 위한 IP 주소가 입력된다.

 

…| eval local = cidrmatch(“10.0.0.0/8”, "10.10.0.100”)


cidrmatch 함수는 검색 필터로 사용할 수 있다. 

| where cidrmatch(“172.16.0.0/16”, ip)


 
if(X,Y,Z)
만일 X가 참이면 두 번째 인자인 Y가 반환되고 X가 거짓이면 세 번째 인자인 Z가 반환된다. 앞에서 살펴본 cidrmatch 함수를 사용하여 if함수를 아래와 같이 이해할 수 있다. 예제코드를 실행하면 test 변수에는 "OK"라는 문자열이 저장된다.

eval network=if(cidrmatch("10.10.0.0/24", "10.10.0.100"), “local”, “non_local”)


이 예제 코드에서는 network 변수에 local 문자열이 저장된다.
 
like(X,"Y")
두 개의 인자를 사용하며, 첫 번째 인자는 탐색 대상 문자열, 두 번째 인자는 탐색 패턴을 의미한다. X에서 Y를 찾을 수 있으면 참을 반환한다.  SQL의 Like문과 동일한 효과를 가진다.

like(field, "addr%")


이 함수 역시 검색 필터로 사용할 수 있다.

… | where like(field, "foo%")

 

반응형

'IT기술 관련 > 정보보안 관련' 카테고리의 다른 글

SMTP의 보안 시스템 :: SPF, DKIM, DMARC 란?  (0) 2024.01.16
Splunk stats 함수  (0) 2023.09.13
Splunk 자주 사용하는 명령어  (0) 2023.09.13
Splunk 란?  (0) 2023.09.13
반응형

출처: https://peemangit.tistory.com/365

1. 데이터 나열 변환

1) table

필드명과 결합해 검색 결과를 테이블 형식으로 보여준다.

 

 
index="book" sourcetype="access_combiend_wcooke"
 
| table clientipm method, productId, status

 

 

원하는 결과에서 내가 원하는 필드를 테이블 형태로 만들어서 출력할 수 있다.

 

2) rename

필드명을 다른 이름으로 변경한다.

로그에서 필요한 필드명에 의미를 부여하거나 필드에 한글을 쓰고 싶을 경우 사용할 수 있다.

변환하고자 하는 필드명을 띄어쓰기도 포함하고 싶다명 따옴표(")를 붙여주면 된다.

 
index="book" sourcetype="access_combined_wcookie"
 
| table clientip, method, productId, status
 
| rename clientip AS SourceIP, method AS "Get Or Post", productId AS ProductID, status AS "Web Status"

 

 

테이블에 있는 필드명이 기존의 필드명이 아닌 rename을 통해 변경된 이름으로 바뀐것을 확인할 수 있다.

 

3) fields

검색 결과에서 특정 필드를 포함시키거나 제거할 경우 사용한다.

 

 
index=book sourcetype="access_combined_wcookie" status="200"
 
|fields clientip

검색 결과에서 원하는 필드만 추출할 수 있다.

이벤트의 개수는 필드를 적지 않아도 같지만 불필요한 필드를 사용하지 않음으로써 검색 시간을 줄일 수 있다.

 

 

- 옵션을 이용해서 원하는 필드만 제거도 가능하다.

 
index=book sourcetype="access_combined_wcookie" status="200"
 
|fields - clientip

4) dedup

검색결과에서 중복제거를 할 때 사용한다.

지정한 필드의 중복을 제거하면 다른 필드의 값은 중복이 아닌데도 앞의 중복된 결과를 제거하면석 역시 사라지니 주의해야 한다.

 

 
index=book sourcetype="access_combined_wcookie" status="200"
 
| dedup clientip

 

출력된 Client IP가 중복되지 않았음을 확인할 수 있다.

 

5) sort

검색 결과를 정렬한다.

+(default) 옵션은 오름차순이고 -옵션은 내림차순이다.

 
index=book sourcetype="access_combined_wcookie" status="200"
 
| table date_hour, clientip, productId, method, status
 
| sort date_hour, -method

 

테이블을 생성한 후 시간을 오름차순 methiod를 내림차순으로 정렬하였다.

시간은 00시부터, method는 POST방식이 먼저 출력된것을 확인할 수 있다.

 

6) 데이터 나열 변환 명령어 정리

명령어 옵션 설명
table   결과를 테이블 형태로 출력
rename   필드명을 다른 이름으로 재정의
fields +(default) 추가 , - 제거 원하는 필드만 추출, 원하는 필드만 제거
dedup   중복제거
sort +(default) 올림차순 , - 내림차순 검색 결과 정렬

2. 통계 계산

1) stats

각종 통계 함수를 이용해 통계를 계산한다.

stats [count|dc|sum|avg|list|value] by [Field name]

 

stats 옵션 설명
count 개수
dc 중복을 제거한 개수
sum 합계
avg 평균
list 목록
values 중복제거 목록
max 최대 값
median 중간 값
min 최소 값

 

clientip 기준으로 전송한 bytes의 합계, 평균, 최대 값, 중간 값, 최소 값의 통계를 구할 수 있다.

중간 값은 데이터가 홀수개일 경우 (n-n/2) 짝수개일 경우(n/2번째 값 +(n/2) +1번째값)/2 이다

 
index=book sourcetype="access_combined_wcookie"
 
| stats sum(bytes), avg(bytes), max(bytes), median(bytes), min(bytes) by clientip

 

각각의 통계 값의 결과가 출력된것을 확인할 수 있다.

 

 

stats 명령어와 sort 명령어를 이용하여 해당 시간대의 가장 많은 패킷을 보낸 사람을 내림차순으로 확인할 수 있다.

 
index=book sourcetype="access_combined_wcookie"
 
| stats sum(bytes) by clientip
 
| sort -sum(bytes)

 

특정 시간대의 이상징후를 파악할 때 유용하다.

 

2) top

지정한 필드에서 가장 많이 나오는 값을 보여준다.

 

<검색어> | top limit=<숫자> [showperc=T/F] [showcount=T/F] [useother=T/F] Field1, field2, by field
top 옵션 설명 기본 값
limit 반환되는 결과 지정 10
showperc 해당 값이 차지하는 비율 출력 T
showcount 해당 값의 개수 출력 T
userother Top 10 이외의 다른 숫자 확인  

 

 

상태 값이 200인 로그 중 클라이언트 IP가 91.205.189.15를 출력하는데 시간 기준으로 접근한 클라이언트의 Top10을 Count로 표시하지 않고 비율로 표시하는 명령어이다.

 

 
index=book sourcetype="access_combined_wcookie" status="200" clientip="91.205.189.15"
 
| top limit=10 showperc=T showcount=F date_hour by clientip

 

1시, 13시, 17시 순으로 해당 사용자가 많이 접근한것을 확인할 수 있고 각각 접속 비율을 16, 12, 9퍼센트인것을 확인할 수 있다.

 

 

상태 값이 200인 로그 중에 클라이언트 IP가 접근 한 횟수의 Top5를 출력한다.

rename 명령어를 추가로 사용하여 테이블 가독성을 높혔다.

 

 
index=book sourcetype="access_combined_wcookie" status="200"
 
| top limit=5 showcount=T showperc=F clientip
 
| rename clientip AS "출발지 주소", count AS "접근 횟수"

 

접근 횟수의 Top5가 출력된는것을 확인할 수 있다.

 

 

접속 실패를 가장 많이 한 사용자 Top10 출력

 
index=book sourcetype="access_combined_wcookie" status="40*"
 
| top limit=10 clientip

3) rare

top 명령어의 정반대 결과인 빈도가 적은 값의 순서를 보여준다.

필수 프로그램을 설치하지 않은 PC를 확인하거나, 허가받지 않은 프로그램을 찾아내기 유용하다.

 

<검색어> | rare limit=<숫자> [showperc=T/F] [showcount=T/F] [useother=T/F] Field1, field2, by field

 

반응형

'IT기술 관련 > 정보보안 관련' 카테고리의 다른 글

SMTP의 보안 시스템 :: SPF, DKIM, DMARC 란?  (0) 2024.01.16
Splunk stats 함수  (0) 2023.09.13
Splunk - eval 함수  (0) 2023.09.13
Splunk 란?  (0) 2023.09.13
반응형

출처: https://velog.io/@euisuk-chung/Splunk-SPL-language

 

Splunk & SPL(Splunk Processing Language)

Splunk는 실시간 데이터 처리 및 분석 솔루션입니다. 이를 통해 기업은 기계 데이터를 수집, 검색, 모니터링, 분석 및 시각화하여 보다 효율적인 의사 결정을 내릴 수 있습니다.

Splunk의 검색 언어인 Splunk Processing Language(SPL)은 이러한 데이터를 검색하고 분석하기 위한 강력한 도구입니다.

Splunk란 무엇인가?

Splunk는 대규모 데이터 처리를 위해 설계된 솔루션으로, 실시간으로 데이터를 수집, 분석, 모니터링, 검색, 시각화할 수 있습니다. Splunk는 기업의 IT 인프라, 보안 및 비즈니스 분야에서 사용됩니다.

Splunk는 기계 데이터(Machine Data)를 수집하여 사용자가 쉽게 검색하고 분석할 수 있도록 제공합니다. 기계 데이터란 컴퓨터 시스템, 서버, 애플리케이션, 네트워크 등에서 생성되는 모든 데이터를 말합니다.


출처: Splunk.com

Splunk는 다양한 데이터 소스에서 데이터를 수집할 수 있습니다. 이를 통해 IT 인프라, 보안 및 비즈니스 분야에서 필요한 데이터를 수집하고 검색할 수 있습니다. Splunk는 빠르게 데이터를 검색하고 분석할 수 있는 검색 엔진을 제공합니다.

SPL이란 무엇인가?

Splunk Processing Language(SPL)은 Splunk에서 제공하는 검색 언어입니다. SPL은 기계 데이터를 검색하고 분석하기 위한 강력한 도구입니다. SPL을 사용하여 기계 데이터를 필터링, 검색, 분석 및 시각화할 수 있습니다.

SPL은 SQL과 유사한 문법을 사용합니다. 따라서 SQL에 익숙한 사용자라면 SPL을 쉽게 배울 수 있습니다. SPL은 검색 엔진을 사용하여 검색을 실행합니다. 검색 엔진은 데이터를 빠르게 검색하고 분석할 수 있는 기능을 제공합니다.

SPL은 데이터를 필터링하는 데 매우 유용합니다. 필터링은 데이터를 조건에 따라 선택적으로 검색하는 것을 의미합니다. SPL을 사용하면 데이터를 필터링하고 분석하여 보다 효율적인 의사 결정을 내릴 수 있습니다. 뿐만 아니라 데이터 분포를 파악하고 대시보드 구축을 통해서 실시간 데이터 파악에 용이합니다.


출처: Splunk.com

결론

Splunk는 기업의 IT 인프라, 보안 및 비즈니스 분야에서 데이터 수집, 검색 및 분석을 위한 강력한 솔루션입니다. SPL은 이러한 데이터를 검색하고 분석하는 데 매우 유용한 언어입니다. SPL을 사용하면 기계 데이터를 필터링, 검색, 분석 및 시각화하여 보다 효율적인 의사 결정을 내릴 수 있습니다.

이를 통해 기업은 비즈니스 성과를 향상시키고 문제를 더 빠르게 해결할 수 있습니다. Splunk와 SPL은 다양한 산업과 기업에서 사용되고 있으며, 데이터 분석 분야에서 중요한 역할을 담당하고 있습니다.

반응형

'IT기술 관련 > 정보보안 관련' 카테고리의 다른 글

SMTP의 보안 시스템 :: SPF, DKIM, DMARC 란?  (0) 2024.01.16
Splunk stats 함수  (0) 2023.09.13
Splunk - eval 함수  (0) 2023.09.13
Splunk 자주 사용하는 명령어  (0) 2023.09.13
반응형

안녕하세요 오늘의 주제는

인공지능이 바꾸는 미래의 삶


입니다.

 


 

인공지능이 바꾸는 미래의 삶

인공지능(AI)은 우리의 삶에 점점 더 깊숙히 들어오고 있습니다. 스마트폰, 자동차, 가전제품, 의료, 교육 등 다양한 분야에서 인공지능이 우리의 편리함과 효율성을 높여주고 있습니다. 그러나 인공지능이 우리의 삶을 어떻게 바꿀 것인지는 아직 잘 알려져 있지 않습니다. 이 글에서는 인공지능이 미래의 삶에 미칠 영향에 대해 알아보겠습니다.


인공지능이 바꾸는 일과 취업

인공지능은 우리의 일과 취업에 큰 변화를 가져올 것입니다. 인공지능은 단순하고 반복적인 업무를 대신해줄 수 있기 때문에 많은 직업이 사라질 수 있습니다. 예를 들어, 고객 서비스, 번역, 회계, 법률 등의 분야에서 인공지능이 인간의 역할을 대체할 수 있습니다. 반면에 인공지능은 새로운 직업과 기회도 창출할 수 있습니다. 예를 들어, 인공지능 개발자, 데이터 과학자, 인공지능 윤리가, 인공지능 교육가 등의 분야에서 인간의 창의성과 전문성이 필요합니다. 따라서 우리는 인공지능 시대에 적응하고 경쟁력을 갖추기 위해 지속적으로 학습하고 스킬을 갱신해야 합니다.

 

인공지능이 바꾸는 건강과 의료

인공지능은 우리의 건강과 의료에도 큰 변화를 가져올 것입니다. 인공지능은 의료 데이터를 분석하고 진단하고 치료하는 데 도움을 줄 수 있습니다. 예를 들어, 인공지능은 의료 영상을 해석하고 암이나 심장병 등의 질병을 발견하고 예측할 수 있습니다. 또한 인공지능은 개인화된 의료 서비스를 제공할 수 있습니다. 예를 들어, 인공지능은 개인의 유전자, 생활 습관, 건강 상태 등을 고려하여 최적의 약물이나 치료법을 추천할 수 있습니다. 더불어 인공지능은 원격 의료나 가상 현실 의료와 같은 새로운 의료 방식을 가능하게 할 수 있습니다.

인공지능이 바꾸는 문화와 예술

인공지능은 우리의 문화와 예술에도 큰 변화를 가져올 것입니다. 인공지능은 음악, 그림, 시, 영화 등 다양한 예술 작품을 창작하고 분석하고 평가하는 데 도움을 줄 수 있습니다. 예를 들어, 인공지능은 유명한 작곡가나 화가의 스타일을 모방하거나 새로운 스타일을 만들어낼 수 있습니다. 또한 인공지능은 개인의 취향과 감성에 맞추어 맞춤형 예술 컨텐츠를 제공할 수 있습니다. 더불어 인공지능은 증강 현실이나 가상 현실과 같은 새로운 예술 형식을 가능하게 할 수 있습니다.

인공지능이 바꾸는 윤리와 사회

인공지능은 우리의 윤리와 사회에도 큰 변화를 가져올 것입니다. 인공지능은 인간의 권리와 책임과 가치와 도덕에 관한 새로운 질문과 과제를 제기할 수 있습니다. 예를 들어, 인공지능은 인간과 동등한 지성과 자율성을 가질 수 있는가? 인공지능은 인간과 같은 권리와 책임을 부여받아야 하는가? 인공지능은 인간의 가치와 도덕에 따라 행동해야 하는가? 등의 문제를 sou합니다. 또한 인공지능은 사회적 불평등이나 차별이나 갈등과 같은 사회적 문제를 해결하거나 악화시킬 수 있습니다. 예를 들어, 인공지능은 일자리를 빼앗거나 부의 집중을 촉진하거나 개인 정보를 침해하거나 편견을 갖거나 폭력을 유발할 수 있습니다.

 

 

결론

인공지능은 우리의 삶에 많은 장점과 단점을 가져올 것입니다. 우리는 인공지능의 발전과 활용에 대해 잘 알고 준비하고 대응해야 합니다. 우리는 인공지능을 우리의 동반자로 삼고 협력하고 공존할 수 있는 방법을 찾아야 합니다. 우리는 인공지능이 우리의 삶을 더 나아지게 하고 우리의 가치와 도덕을 존중하고 보호하게 할 수 있는 방법을 찾아야 합니다.

 

 

 

 

반응형

+ Recent posts