INFO, WARN, ERROR, DEBUG 로그 수준으로 구성된 애플리케이션 로그 파일이 있습니다. 다음 필터는 Logstash 구성 파일에서 잘 작동합니다.
filter {
grok {
match => { "message" => "%{TIMESTAMP_ISO8601:timestamp} %{LOGLEVEL:log-level} \[%{DATA:thread_name}\]?-\[%{DATA:class}\] %{GREEDYDATA:message}" }
}
date {
match => ["timestamp", "yyyy-MM-dd HH:mm:ss,SSS"]
target => "@timestamp"
}
}
output {
elasticsearch { hosts => ["localhost:9200"] }
stdout { codec => rubydebug }
}
Kibana의 Discovery 보기에서 로그 수준 필드를 볼 수 있습니다. 그러나 특정 순간에 ERROR 로그 수, INFO 로그 수 등을 표시하기 위해 특정 순간에 수직 막대를 분할하여 애플리케이션 로그를 시각화하고 싶습니다. "시각화" 탭으로 이동하여 X축 "분할 막대"에서 "하위 버킷 추가"를 수행하려고 하면 하위 집계 = "용어"가 선택적 "필드" 아래에 표시되지 않습니다. 옵션 필드: "로그 수준". 로그 수준에 따라 막대를 분할하는 데 도움을 줄 수 있나요? 감사해요.
답변1
필드 목록을 새로 고친 후 작동했습니다. Kibana UI: 관리 -> 인덱스 모드 -> "필드 목록 새로 고침" 버튼 클릭