2014-09-01 3 views
2

우리는 로그 이벤트를 (Logstash를 통해) Elasticsearch로 가져올 수 있도록 여러 관련 응용 프로그램의 로그를 설정하고 있습니다. Kibana 대시 보드를 사용하여 각 응용 프로그램의 로그 색인을 시각화하는 것이 간단했지만 응용 프로그램이 관련되어 있고 해당 활동이 동일한 파이프 라인에 속해 있기 때문에 여러 응용 프로그램에서 수집 된 집계 된 정보를 표시하는 대시 보드를 만드는 것이 좋습니다. 이러한 대시 보드는 실패 및 성능 문제를 추적하는 데 특히 유용합니다.여러 Elasticsearch 색인에서 키바나 정보를 집계하는 방법은 무엇입니까?

  1. 별도의 응용 프로그램 로그를 유지하고 다른 응용 프로그램에서 정보를 소비 할 키바 대시 보드를 구성합니다

    지금은 통합 된 대시 보드를 구현하는 세 가지 방법을 볼 수 있습니다. 나는 이것이 어려운 일이 될 수 있다고 생각합니다. 나는 키 바나가 그것을 완벽하게 지원하는지조차 확신하지 못합니다.

  2. 응용 프로그램 로깅을 수정하여 모두 동일한 인덱스에 로깅합니다. 내가 싫어하는 점은 로그 이벤트 구조가 응용 프로그램간에 통합되어야하며 서로 다른 언어로 다른 사람들이 구성해야한다는 것입니다. 로깅과 같은 낮은 수준의 세부 사항에 대한 중앙 집중식 통제에 대한 믿음을 잃었습니다.
  3. 응용 프로그램 로그와 해당 Elastichsearch 인덱스를 그대로 유지하고 집계 정보가 포함될 새 인덱스를 설정합니다. This article은 로그를 Logstash에 덤프하여 Elasticsearch에서 검색을 위해 Elasticsearch를 다시 삽입하도록 구성하는 방법을 설명합니다. 언뜻보기에이 접근법은 놀라운 것처럼 보일 수 있습니다. 왜 다시 로그 데이터를 동일한 데이터베이스에 다시 삽입해야합니까? 오버 헤드를 추가하고 더 많은 공간을 사용하는 또 다른 인덱스이지만 집계 된 키바나 대시 보드에 적합한 방식으로 인덱스를 설정할 수있는 기회를 제공합니다.

누군가가 비슷한 딜레마를 경험하고 경험을 공유하는지 궁금합니다.

+0

나는 이것을 시도하지 않고 작동하는지 모르겠다. 그래서 가치가있는 것을 가져 가라. 당신이보기를 원하는 별개의 인덱스를 가리키는 앨리어스를 설정할 수있다. 색인을 작성한 다음 kibana에 색인으로 사용하라고 지시하십시오. – Alcanzar

+0

@ Alcanzar, 팁 주셔서 감사합니다. 흥미로운 점은 데이터를 집계 할 필요가 있다고 생각 되더라도 살펴 보겠습니다. –

+0

부족이란 무엇입니까? –

답변

3

timestamped 인덱스를 사용하지 않으려는 경우 기본 인덱스를 _all으로 설정할 수 있습니다.

메뉴를 사용하여 구성으로 이동하여 색인 탭을 클릭하고 시간 소인을 "없음"으로 설정하고 기본 색인을 _all으로 설정하십시오. JSON 스키마는 다음과 같이 뭔가를 포함 끝낼 것입니다 : 당신이 타임 스탬프 인덱스가 필요한 경우

"index": { 
    "interval": "none", 
    "pattern": "[logstash-]YYYY.MM.DD", 
    "default": "_all", 
    "warm_fields": false 
    }, 

, 당신은 생성하라 간격을 선택하고 인덱스의 쉼표로 구분 된 목록, 적절한 형식에 지정된 각을 입력해야합니다.

+0

예, 모든 인덱스의 데이터를 집계 할 수 있습니다. 그러나 문제는 서로 다른 응용 프로그램에서 생성 된 색인이 서로 다른 방식으로 특정 작업을 참조하므로 모든 응용 프로그램에 공통된 규칙을 사용하거나 다른 응용 프로그램에서 다른 인덱스를 작성해야한다는 것입니다. 나는 무엇이 최선인지 알아 내려고 노력하고있다. –

+0

아, 알겠습니다. 나는 새로운 색인으로 물건을 이식하는 것보다 앞으로 협약을 세울 것입니다. – bpeirce

1

우리는 같은 문제에 직면했지만 다른 시각으로 보았습니다.

키바 나의 2 개 색인에서 데이터를 가져와야했습니다. 우리의 데이터 구조는 두 지표에서 동일합니다.

{ 
    "index": [ 
    "index_one", 
    "index_two" 
    ], 
... 
} 

그것은 내가 필요로하는 인덱스에서 데이터를 가져 오기 위해 나에게 도움이 :

그래서, 수동으로 두 번째 인덱스 (섹션 설정 -> 개체) 추가.