Logstash 에서 grok 플러그 인의 정규 표현 식 예

5834 단어 ELKlogstashgrok
머리말
내 가 말 하고 자 하 는 것 은 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 표현 식 맵 정규 로 일치 합 니 다
  • 내 가 보기에 매번 정칙 을 다시 쓰 는 것 은 매우 고통스러운 일이 다. 왜 표현 식 으로 영일 을 하지 않 습 니까?
    특별 알림: Grok 표현 식 은 C 언어의 매크로 정의 와 같 습 니 다.
    Grok 의 기본 표현 식 을 배 우려 면 구체 적 인 설정 경 로 를 찾 아야 합 니 다. 경 로 는 다음 과 같 습 니 다.
    # Windows   
    [  logstash    ]\vendor\bundle\jruby\x.x\gems\logstash-patterns-core-x.x.x\patterns\grok-patterns

    현재 자주 사용 하 는 표현 식 에 대해 설명 합 니 다:
    상용 표현 식
  • USERNAME 또는 USER 사용자 이름, 숫자, 대소 문자 및 특수 문자 (. -) 로 구 성 된 문자열
    예 를 들 어 1234, Bob, Alex.Wong 등 이다.
  • EMAILLOCALPART 이메일 사용자 이름 부분 은 첫 번 째 는 대소 문자 로 구성 되 고 다른 위 치 는 숫자, 대소 문자 및 특수 문자 (. + - =:) 로 구 성 된 문자열 입 니 다.주의, 국내 QQ 순수 디지털 메 일 계 정 은 일치 하지 않 습 니 다, 정규 수정 이 필요 합 니 다
    예 를 들 어 stone, Gary_Lu, abc-123 등 이다.
  • EMAILADDRESS 이메일
    예 를 들 어 [email protected], [email protected], [email protected] 등 이다.
  • HTTPDUSERApache 서버 의 사용 자 는 EMAILADDRESS 또는 USERNAME
  • 일 수 있 습 니 다.
  • INT 정 수 는 0 과 양음 정 수 를 포함한다.
    예 를 들 어 0, -123, 43987 등 이다.
  • BASE10NUM 또는 NUMBER 10 진수, 정수 와 소 수 를 포함 합 니 다.
    예 를 들 어 0, 18, 5.23 등 이다.
  • BASE 16NUM 16 진수, 정수
    예 를 들 어 0x0045fa2d, -0x3F8709 등 이다.
  • BASE 16 FLOAT 16 진수, 정수 와 소수
  • WORD 문자열, 숫자 와 대소 문자 포함
    예 를 들 어 String, 3529345, ILoveYou 등 이다.
  • NOTSPACE 에 빈 칸 이 없 는 문자열
  • SPACE 빈 칸 문자열
  • QUOTEDSTRING 또는 QS 따옴표 가 있 는 문자열
    예 를 들 어 "This is an apple", 'What is your name?' 등 이다.
  • UUID 표준 UUID
    예 를 들 어 550E8400-E29B-11D4-A716-446655440000
  • MACMAC 주 소 는 Cisco 장치 의 MAC 주소 일 수도 있 고 통용 되 거나 Windows 시스템 의 MAC 주소 일 수도 있 습 니 다
  • IPIP 주소, IPv 4 또는 IPv 6 주소
    예 를 들 어 127.0.0.1, FE80:0000:0000:0000:AAAA:0000:00C2:0002 등 이다.
  • 호스트 이름
  • IPO 또는 호스트 이름
  • 호스트 이름 (IP) + 포트
    예 를 들 어 127.0.0.1:3306, api.stozen.net:8000 등 이다.
  • PATH 경로, 유 닉 스 시스템 또는 Windows 시스템 의 경로 형식
    예 를 들 어 /usr/local/nginx/sbin/nginx, c:\windows\system32\clr.exe 등 이다.
  • URIPROTOURI 프로 토 콜
    예 를 들 어 http, ftp 등 이다.
  • URIHostURI 호스트
    예 를 들 어 www.stozen.net, 10.0.0.1:22 등 이다.
  • URIPATHURI 경로
    예 를 들 어 //www.stozen.net/abc/, /api.php 등 이다.
  • URIPARAMURI 의 GET 인자
    예 를 들 어 ?a=1&b=2&c=3
  • URIPATHPARAMURI 경로 + GET 매개 변수
    예 를 들 어 //www.stozen.net/abc/api.php?a=1&b=2&c=3
  • URI 완전한 URI
    예 를 들 어 http://www.stozen.net/abc/api.php?a=1&b=2&c=3

  • 날짜 시간 표현 식
  • MONTH 월호
    예 를 들 어 Jan, January 등 이다.
  • MONTHNUM 월 숫자
    예 를 들 어 03, 9, 12 등 이다.
  • MONTHDAY 날짜 숫자
    예 를 들 어 03, 9, 31 등 이다.

  • 요일
    예 를 들 어 Mon, Monday 등 이다.
  • YEAR 년도 숫자
  • 시간의 숫자
  • MINUTE 분 숫자
  • SECOND 초 숫자
  • TIME time
    예 를 들 어 00:01:23
  • DATE_US 미국 날짜 형식
    예 를 들 어 10-15-1982, 10/15/1982 등 이다.
  • DATE_EU 유럽 날짜 형식
    예 를 들 어 15-10-1982, 15/10/1982, 15.10.1982 등 이다.
  • ISO8601_TIMEZONEISO 8601 시간 형식
    예 를 들 어 +10:23, -1023 등 이다.
  • TIMESTAMP_ISO 8601 ISO 8601 타임 스탬프 형식
    예 를 들 어 2016-07-03T00:34:06+08:00
  • DATE 날짜, 미국 날짜 %{DATE_US} 또는 유럽 날짜 %{DATE_EU}
  • DATESTAMP 전체 날짜 + 시간
    예 를 들 어 07-03-2016 00:34:06
  • HTTPDATEhttp 기본 날짜 형식
    예 를 들 어 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 자리 알파벳, 숫자, 밑줄 로 구성 되 어 있 습 니 다.
    아직 많 습 니 다. 당신 이 업무 에서 유연 하 게 운용 해 야 합 니 다!

    좋은 웹페이지 즐겨찾기