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
applogs
indeks ujawniony przez Elasticsearch - Kibana pokazuje również prawidłowe właściwości i typ danych
applogs
dokumentów - Zakładka „Odkryj” nie pokazuje żadnych wyników ... nawet jeśli ustawisz okres na kilka lat ...
Jakieś pomysły??
Oto jak Kibana widzi applogs
indeks :
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 :
elasticsearch
kibana-4
Juri
źródło
źródło
Index contains time-based events
podczas tworzenia wzoru indeksu.Odpowiedzi:
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 .
źródło
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: . 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
źródło
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ć:
następnie powinieneś zaktualizować swoje mapowanie indeksu w następujący sposób:
Zobacz to pytanie i odpowiedź
AKTUALIZACJA
Jeśli używasz ES 2.x można ustawić
"format"
się"epoch_millis"
podoba:źródło
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
źródło
Miałem ten sam problem i to działało dla mnie:
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.
źródło
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.
źródło
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.
źródło
Miałem ten sam problem, ale teraz działa dobrze. Problem dotyczył @timestamp. Właściwie przesłałem plik do
elasticsearch
korzystania,logstash
więc automatycznie generuje pole @timestamp.Kibana
poró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.0kibana
Nawet jeśli odznaczę automatycznie uwzględni pole @ znacznik czasu. Więc przełącz z włączoną ramką czasowąkibana
na 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
źródło
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.
źródło
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, żeDD
jest on interpretowany jako dzień roku i chciałem wybrać dzień miesiąca, który jestdd
. Zmiana mapowania i ponowne indeksowanie rozwiązało problem.źródło
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.
źródło