Kibana nie wyświetla żadnych wyników w zakładce „Odkrywaj”


79

Skonfigurowałem elastyczne wyszukiwanie i Kibana do indeksowania naszych dzienników aplikacji (błędów). Problem polega na tym, że Kibana nie wyświetla żadnych danych na karcie „Odkrywaj”.

Obecna sytuacja

  • Elasticsearch już działa i odpowiada na API
  • wykonanie zapytania bezpośrednio w Elasticsearch, takie jak http://elasticserver.com:9200/applogs/_search?q=*zwraca wiele wyników (zobacz poniżej, jak wygląda pojedynczy znaleziony rekord)
  • Kibana działa i znajduje nawet applogsindeks ujawniony przez Elasticsearch
  • Kibana pokazuje również prawidłowe właściwości i typ danych applogsdokumentów
  • Zakładka „Odkryj” nie pokazuje żadnych wyników ... nawet jeśli ustawisz okres na kilka lat ...

Jakieś pomysły??

Oto jak Kibana widzi applogsindeks :

wprowadź opis obrazu tutaj

Obiekt wyniku elastycznego zapytania wyszukiwania wygląda następująco:

{
_index: "applogs",
_type: "1",
_id: "AUxv8uxX6xaLDVAP5Zud",
_score: 1,
_source: {
   appUid: "esb.Idman_v4.getPerson",
   level: "trace",
   message: "WS stopwatch is at 111ms.",
   detail: "",
   url: "",
   user: "bla bla bla",
   additionalInfo: "some more info",
   timestamp: "2015-03-31T15:08:49"
 }
},

..i co widzę w zakładce Odkrywaj :

wprowadź opis obrazu tutaj


1
czy dodałeś znacznik czasu podczas dodawania indeksu do kibany?
Anish

@Ngeunpo Czy mógłbyś szczegółowo opisać, co masz na myśli?
Juri

9
być może powinieneś przełączyć się z ramami czasowymi z prawego górnego rogu :)
Anish

2
@Ngeunpo Zrobiłem to, jeśli spojrzysz na zrzut ekranu, jest ustawiony na „ostatnie 60 dni”, więc to nie może być problem.
Juri

6
Jeśli mnie lubisz, możesz nie mieć w swoich danych żadnych znaczników czasu . Spróbuj odznaczyćIndex contains time-based events podczas tworzenia wzoru indeksu.
Automatico

Odpowiedzi:


155

Dla ludzi, którzy mają problem , jak to:

Zmień ramy czasowe w prawym górnym rogu.

Domyślnie pokazuje dane tylko z ostatnich 15 minut .


1
Cóż ... jeśli spojrzysz na mój zrzut ekranu, wcale tak nie było. Wizualizuję ostatnie 60 dni. W każdym razie wydaje się, że problem został rozwiązany. Złe jest to, że nie mam pojęcia, dlaczego początkowo nie działało. Jednak usunie to pytanie, ponieważ nie zapewnia żadnego rozwiązania
Juri

1
Ponadto: pamiętaj, aby utworzyć i wybrać właściwy indeks, któremu chcesz się przyjrzeć. Utwórz go na karcie ustawień i wybierz po lewej stronie na karcie wykrywania.
Automatico

11
Właściwie to dość trudne do zauważenia, dobra odpowiedź.
TomSelleck

2
tak, miałem ten sam problem, więc musiałem go zmienić na ten rok i zaczął pokazywać wszystko
ashim888

Mam ten sam problem i mam więcej niż 20 tys. Żądań na minutę, więc ramy czasowe nie są główną przyczyną. Próbowałem również odświeżyć wzorzec indeksu w ustawieniach, zgodnie z zaleceniami poniżej. Też nie pomogło. Ostatnią opcją może być odtworzenie wzorca, ale przypuszczam, że stracę dane wygenerowane przez pola obliczeniowe.
Reddy SK,

29

Chciałem to skomentować, ale niestety nie jestem w stanie podać mojego wadliwego repozytorium, aby to zrobić. Tak jak sugeruje @Ngeunpo ten sposób można dodać pole do indeksu czasu podczas tworzenia go: wprowadź opis obrazu tutaj. Jeśli nie zrobiłeś tego podczas tworzenia swojego indeksu, proponuję usunąć ten indeks i utworzyć go ponownie. Nazwa indeksu logstash- * w gifie jest analogiczna do twoich apletów indeksu . W tym przypadku pole @timestamp jest dodawane jako pole czasu. Daj mi znać, czy to działa.

EDYCJA: Zdjęcie dzięki uprzejmości: Ten wspaniały przewodnik po instalacji ELK


9

Kibana nie rozpoznaje pola znacznika czasu , jeśli jego format jest nieprawidłowy. Sygnatura czasowa , którą wybrałeś klikając Nazwa pola czasu podczas Konfigurowania wzorca indeksu, musi być:

"timestamp":"2015-08-05 07:40:20.123"

następnie powinieneś zaktualizować swoje mapowanie indeksu w następujący sposób:

curl -XPUT 'http://localhost:9200/applogs/1/_mapping' -d'
{
  "1": {
    "timestamp": {
      "enabled": true,
      "type": "date",
      "format": "yyyy-MM-dd HH:mm:ss.SSS",
      "store": true
    }
  }
}'

Zobacz to pytanie i odpowiedź

AKTUALIZACJA

Jeśli używasz ES 2.x można ustawić "format"się "epoch_millis"podoba:

curl -XPUT 'http://localhost:9200/applogs/1/_mapping' -d'
{
  "1": {
    "timestamp": {
      "type": "date",
      "format": "epoch_millis",
      "store": true,
      "doc_values": true
    }
  }
}'

5

przykładowy obraz dla ELK tworzącego indeks lub wzorzec

Spróbuj tego: odznacz pole wyboru „Indeks zawiera zdarzenia oparte na czasie”, a następnie podaj nazwę indeksu, a następnie zaznacz „Odkryj”, czy zawiera on dane, czy nie


4

Miałem ten sam problem i to działało dla mnie:

  1. Usuń indeks z karty Ustawienia.
  2. uruchom ponownie Kibanę
  3. następnie ponownie dodaj w Ustawieniach

Jestem pewien, że problemy z szeregami czasowymi również mogą stanowić problem, ale jeśli na karcie Odkrywaj nie pojawiają się żadne pola, możesz mieć ten sam problem, co oryginalny reporter i ja.


1
Nie ma potrzeby ponownego uruchamiania kibany, po prostu usuń i ponownie dodaj indeks
Bizmate

3

Prawdopodobnie miałem ten sam problem - widzę dane na pulpicie nawigacyjnym, ale 0 powoduje odkrycie. Przejście do Zarządzanie> Wzorzec indeksu> Przycisk Odśwież listę plików (tylko przycisk z ikoną odświeżania) rozwiązało to za mnie.


2

Miałem ten sam problem, a komentarz @ tAn- pomógł mi go rozwiązać. Zmiana pola daty na @timestamp załatwiła sprawę. Dzięki!

Następnym krokiem powinno być ustalenie, że jest źle z moim niestandardowym polem daty.


1

Miałem ten sam problem, ale teraz działa dobrze. Problem dotyczył @timestamp. Właściwie przesłałem plik do elasticsearchkorzystania, logstashwięc automatycznie generuje pole @timestamp. Kibanaporównaj zakres czasu z tym znacznikiem czasowym @, to znaczy, kiedy miało miejsce rzeczywiste zdarzenie. Nawet jeśli odznaczę opcję „Indeks zawiera zdarzenia na podstawie czasu” w dodaniu nowej strony wzorca indeksu, stronie odkrywania i najprawdopodobniej uzyskasz wynik na stronie wykrywania . To wszystko moje spostrzeżenia, nie jestem pewien, to rozwiązanie pasuje do twojego przypadku .. możesz spróbować .. używam ES 1.5x, logstash 1.5.1 i kibana 4.1.0 kibana Nawet jeśli odznaczę automatycznie uwzględni pole @ znacznik czasu. Więc przełącz z włączoną ramką czasową kibanana podstawie pola @timestamp zadziałało dla mnie. Możesz również sprawdzić, dodając wzorzec indeksu bez znacznika czasu i odznaczając opcję „Indeks zawiera zdarzenia oparte na czasie”.kibana


1

Ja też doświadczyłem tego samego błędu. Dzieje się tak głównie z powodu formatu czasu . Zasadniczo upewnij się, że masz prawidłowe ramy czasowe dla swoich danych (filtr w prawym górnym rogu). W każdym razie w moim przypadku użyłem formatu czasu epoki dla znacznika czasu, ale to nie zadziałało. Więc zamiast tego zmieniłem na epoch_millisec i to działało jak urok.

Podsumowując, upewnij się, że Kibana może zrozumieć Twój format daty i godziny. Domyślnie wymagana jest epoch_millisec , a nie tylko epoka.


1

W mojej sytuacji wszystko działało wcześniej i od 1 lutego nie mogłem zobaczyć najnowszych danych (właściwie mógłbym, gdybym spojrzał wstecz na miesiąc). Okazuje się, że format mapowania dla mojego niestandardowego przedziału czasu był nieprawidłowy. Mój format mapowania to YYYY-MM-DD'T'HH:mm:ss.SSSZ. Problem polegał na tym, że DDjest on interpretowany jako dzień roku i chciałem wybrać dzień miesiąca, który jest dd. Zmiana mapowania i ponowne indeksowanie rozwiązało problem.


0

Miałem ten sam problem, więc jak pokazano w jednym z powyższych rozwiązań przeszedłem do ustawień i skasowałem poprzedni indeks i zrobiłem nowy z @timestamp.

Ale to nie rozwiązało problemu. Więc przyjrzałem się problemowi i zobaczyłem, że po wdrożeniu nic nie wchodzi do Kibany.

Więc wszedłem na serwer i zobaczyłem, że indeksy są uszkodzone. Więc po prostu zatrzymałem logstash i Elasticsearch na instancji / serwerze i ponownie uruchomiłem usługę. I Voila, pomyślnie zrestartował usługę i kibana powróciła.

DLACZEGO TO SIĘ STAŁO ?

Ktoś mógł nagle zatrzymać serwer, co spowodowało uszkodzenie indeksów.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.