2017-12-15 4 views
1

ELK 스택을 처음 실행했습니다. 내 웹 응용 프로그램 로그를 Elasticsearch에 공급하도록 Logstash를 구성했습니다. 특정 로그 라인에서 구문 분석되는 user_email 필드에 의해 주어진 고유 사용자의 수를 표시하는 가시화를 Kibana에서 설정하려고합니다.Kibana에서 사용자 정의 필드를 집계 할 수 있도록 구성하려면 어떻게해야합니까?

고유 수 집계를 사용하고 싶지만 집계 할 수있는 입력란 목록에 user_email을 포함시키지 못했습니다. 여기

filter { 
    if [type] == "wl-proxy-log" { 
    grok { 
     match => { 
     "message" => [ 
      "(?<syslog_datetime>%{SYSLOGTIMESTAMP}\s+%{YEAR})\s+<%{INT:session_id}>\s+%{DATA:log_message}\s+license=%{WORD:license}\&user=(?<user_email>%{USERNAME}\@%{URIHOST})\&files=%{WORD:files}", 
     ] 
     } 
     break_on_match => true 
    } 
    date { 
     match => [ "syslog_datetime", "MMM dd HH:mm:ss yyyy", "MMM d HH:mm:ss yyyy" ] 
     target => "@timestamp" 
     locale => "en_US" 
     timezone => "America/Los_Angeles" 
    } 
    kv { 
     source => "uri_params" 
     field_split => "&?" 
    } 
    } 
} 

output { 
    elasticsearch { 
    ssl => false 
    index => "wl-proxy" 
    manage_template => false 
    } 
} 

Elasticsearch의 관련 매핑 : 여기

내 Logstash 구성입니다

{ 
    "wl-proxy" : { 
    "mappings" : { 
     "wl-proxy-log" : { 
     "user_email" : { 
      "full_name" : "user_email", 
      "mapping" : { 
      "user_email" : { 
       "type" : "text", 
       "fields" : { 
       "keyword" : { 
        "type" : "keyword", 
        "ignore_above" : 256 
       } 
       } 
      } 
      } 
     } 
     } 
    } 
    } 
} 

사람이 내가 놓친 거지 무엇을 말해 줄 수 있습니까?

BTW, 나는 다음 버전에 CentOS를 실행하고 있습니다 :

  • Elasticsearch 버전 : 6.0.0, 빌드 : 8f0685b/2017-11-10T18 : 41 : 22.859Z를, JVM : 1.8.0_151
  • Logstash v.6.0.0
  • 키바의 v.6.0.0

감사합니다!

답변

0

나는 그것을 알아 냈다. 구성이 정확했습니다, AFAICT. 문제는 키바나 UI에서 색인의 필드 목록을 새로 고치지 않았기 때문입니다.

관리 -> 인덱스 패턴 ->

새로 고침 필드 목록 (새로 고침 아이콘)은 그 일을 한 후, 필드는 집계 용어 목록에 등장하기 시작했다, 나는 필요한 시각화를 만들 수 있었다.

관련 문제