Logstash 에서 grok 플러그 인의 정규 표현 식 예
내 가 말 하고 자 하 는 것 은
Logstash
콘 솔 표준 입력, 로그 파일, 대기 열 등 여러 채널 에서 데 이 터 를 수집 할 수 있다 는 것 이다. 생각 만 하면 플러그 인 방식 으로 이 루어 질 수 있다.그 중에서 로그 원본 이 제공 하 는 로그 형식 은 저장 매체 에 삽입 하려 는 형식 이 아 닐 수도 있 습 니 다. 그래서 Logstash 에 서 는 로 그 를 변환 할 수 있 도록 일련의 filter 를 제공 합 니 다.
Grok
바로 이 filers 에서 가장 중요 한 플러그 인 입 니 다. 다음은 제 가 말씀 드 리 겠 습 니 다.홈 페이지 주소:https://www.elastic.co/guide/en/logstash/current/plugins-filters-grok.html#_getting_help_116
2. Grok 가 제공 하 는 상용 Patterns 설명 및 예
대부분의 Linux 사용자 들 은 컴퓨터 의 관련 파일 이나 파일 의 내용 을 정규 표현 식 으로 조회 한 경험 이 있 습 니 다. Grok 에서 도 로그 의 관련 데이터 블록 을 정규 표현 식 으로 식별 합 니 다.
grok 모드 는 정규 표현 식 이기 때문에 이 플러그 인의 성능 은 정규 표현 식 엔진 에 심각 한 영향 을 받 습 니 다.grok 모드 가 로그 항목 과 얼마나 빨리 일치 할 수 있 는 지 는 알 지만 언제 일치 하 는 지 알 아 보 는 것 도 중요 합 니 다.일치 성공 과 일치 실패 의 성능 은 큰 차이 가 있 을 수 있 습 니 다. 원본 주소:https://www.elastic.co/blog/do-you-grok-grok 번역 주소:https://segmentfault.com/a/1190000013051254
정규 표현 식 을 사용 하 는 두 가지 방법 이 있 습 니 다.
특별 알림: Grok 표현 식 은 C 언어의 매크로 정의 와 같 습 니 다.
Grok 의 기본 표현 식 을 배 우려 면 구체 적 인 설정 경 로 를 찾 아야 합 니 다. 경 로 는 다음 과 같 습 니 다.
# Windows
[ logstash ]\vendor\bundle\jruby\x.x\gems\logstash-patterns-core-x.x.x\patterns\grok-patterns
현재 자주 사용 하 는 표현 식 에 대해 설명 합 니 다:
상용 표현 식
예 를 들 어
1234
, Bob
, Alex.Wong
등 이다.예 를 들 어
stone
, Gary_Lu
, abc-123
등 이다.예 를 들 어
[email protected]
, [email protected]
, [email protected]
등 이다.EMAILADDRESS
또는 USERNAME
예 를 들 어
0
, -123
, 43987
등 이다.예 를 들 어
0
, 18
, 5.23
등 이다.예 를 들 어
0x0045fa2d
, -0x3F8709
등 이다.예 를 들 어
String
, 3529345
, ILoveYou
등 이다.예 를 들 어
"This is an apple"
, 'What is your name?'
등 이다.예 를 들 어
550E8400-E29B-11D4-A716-446655440000
예 를 들 어
127.0.0.1
, FE80:0000:0000:0000:AAAA:0000:00C2:0002
등 이다.예 를 들 어
127.0.0.1:3306
, api.stozen.net:8000
등 이다.예 를 들 어
/usr/local/nginx/sbin/nginx
, c:\windows\system32\clr.exe
등 이다.예 를 들 어
http
, ftp
등 이다.예 를 들 어
www.stozen.net
, 10.0.0.1:22
등 이다.예 를 들 어
//www.stozen.net/abc/
, /api.php
등 이다.예 를 들 어
?a=1&b=2&c=3
예 를 들 어
//www.stozen.net/abc/api.php?a=1&b=2&c=3
예 를 들 어
http://www.stozen.net/abc/api.php?a=1&b=2&c=3
날짜 시간 표현 식
예 를 들 어
Jan
, January
등 이다.예 를 들 어
03
, 9
, 12
등 이다.예 를 들 어
03
, 9
, 31
등 이다.요일
예 를 들 어
Mon
, Monday
등 이다.예 를 들 어
00:01:23
예 를 들 어
10-15-1982
, 10/15/1982
등 이다.예 를 들 어
15-10-1982
, 15/10/1982
, 15.10.1982
등 이다.예 를 들 어
+10:23
, -1023
등 이다.예 를 들 어
2016-07-03T00:34:06+08:00
%{DATE_US}
또는 유럽 날짜 %{DATE_EU}
예 를 들 어
07-03-2016 00:34:06
예 를 들 어
03/Jul/2016:00:36:53 +0800
로그 표현 식
예 를 들 어
Alert
, alert
, ALERT
, Error
등 이다.3. 자신의 Grok 표현 식 만 들 기
업무 분야 에서 점점 더 많은 로그 형식 이 우리 눈앞 에 나타 날 수 있 습 니 다. Grok 의 기본 표현 식 은 우리 의 수 요 를 만족 시 킬 수 없습니다 (예 를 들 어 사용자 주민등록번호, 핸드폰 번호 등 정보). 그래서 우 리 는 스스로 표현 식 을 추가 해 야 합 니 다.
표현 식
정규 표현 식
설명 하 다.
DATE_CHS
%{YEAR}[./-]%{MONTHNUM}[./-]%{MONTHDAY}
중국인 습관 적 인 날짜 형식
ZIPCODE_CHS
[1-9]\d{5}
국내 우편 번호
GAME_ACCOUNT
[a-zA-Z][a-zA-Z0-9_]{4,15}
게임 계 정, 첫 글 자 는 알파벳, 4 - 15 자리 알파벳, 숫자, 밑줄 로 구성 되 어 있 습 니 다.
아직 많 습 니 다. 당신 이 업무 에서 유연 하 게 운용 해 야 합 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
ELK 스택 구축ElasticSearch, LogStash, Kibana 조합으로 로그 수집 - 로그 저장 및 검색 - 시각화로 쓰이게 된다. Logstash는 실시간 파이프라인 기능을 갖는 데이터 수집 엔지이며, Input을 받아...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.