Logstash (UI로 Kibana 사용)를 사용 중입니다. 내 로그에서 일부 필드를 추출하여 UI의 LHS에서 필터링 할 수 있습니다.Logstash에서 필드 추출
내 로그에서 샘플 라인은 다음과 같습니다 : 내 logstash의 conf 파일에서
2013-07-04 00:27:16.341 -0700 [Comp40_db40_3720_18_25] client_login=C-316fff97-5a19-44f1-9d87-003ae0e36ac9 ip_address=192.168.4.1
, 나는이 넣어 : 이상적으로
filter {
grok {
type => "mylog"
pattern => "(?<CLIENT_NAME>Comp\d+_db\d+_\d+_\d+_\d+)"
}
}
을, 나는 Comp40_db40_3720_18_25 (의 수를 추출하고 싶습니다 숫자는 다양 할 수 있지만 _로 구분 된 각 섹션에서 항상 1 개 이상이고 client_login (client_logout 일 수도 있음)입니다. 그런 다음 CLIENT_NAME = Comp40 ... CLIENT_NAME = Comp55 등을 검색 할 수 있습니다.
키바나에서 사용할 수있는 필드를 만들기 위해 구성에 누락 된 것이 있습니까?
감사합니다.
정규식이 좋아 보인다 ( 경화제 [_A-Z의 \ d 개] +). 작동하지 않는 것을 제발 공유 할 수 있습니까? 그런데 나는 당신이 또한 당신의 conf 파일에 elasticsearch 출력을 정의했다고 가정하고있다. –
예, Logstash에서 ES의 임베디드 인스턴스를 사용하고 있습니다. 나는 내가 기대했던 것이 같았습니다. LHS (열 아래)에서 @ fields.client_name을 클릭하면 추출한 모든 필드의 수 또는 심지어 Comp40의 목록이 표시됩니다. , Comp55 등등 말이 맞습니까? – user2406467
내가 원하는 것이 Logstash/Kibana 데모 (http://demo.logstash.net/)에서 가장 좋은 예라고 생각합니다. @message를 클릭하면 해당 유형의 상위 "카테고리"중 5 개가 분류됩니다. – user2406467