add time field to kibana index results in No data found - elasticsearch

I am new to elasticsearch and Kibana. I have just downloaded the latest versions and trying to work on logstash example. As described in this link
https://www.elastic.co/guide/en/kibana/current/tutorial-define-index.html I added the logstash* index with "Index contains time-based events" checked and choose #timestamp as the time field name. When I go to discover your data I do not see anything and I get No results found. If I create the index in Kibana without checking the time-based checkbox I can see the data. Any idea why? I have java 1.8.0_111

So actually there is data, its just that the data is old and the time-stamps in the data are around May 2015. When you create a new index the default time range that is selected is I think last 15 minutes which couldn't find that data as the data in that tutorial is old.
So try these steps.
when you go to discover, Click Time Picker in the Kibana toolbar
Now click on Absolute and select a date range from Jan 2015 or something
this should load your results.

Related

Time picker missing in Kibana Discover

Just learning elastic search and Kibana. It seems on my index the time picker is missing.
However I do have a date field in my index
This is ES7. I see references to #timestamp on google for previous versions but Im not sure what I should be doing in ES7
Updated Nov. 14
Below is a portion of my document. The save_date is what I want the time index to use. The document has over 800 fields so I didnt put in the whole thing.
This is also a portion of the mapping that Im interested in
Yes I was missing something basic. You set the timestamp when you create the index pattern
I had created the index pattern in kibana and as time went on I kept rebuild the indexes trying different fields. I totally missed the timestamp dropdown.

Ways to only process new(index after last run) data in Elasticsearch?

Is there a way to get the date and time that an elastic search document was written?
I am running es queries via spark and would prefer NOT to look through all documents that I have already processed. Instead I would like read the only documents that were ingested between the last time the program ran and now.
What is the best most efficient way to do this?
I have looked at;
updating to add a field with an array with booleans for if its been looked at by which analytic. The negative is waiting for the update to occur.
index per time frame method, which would be to break down the current indexes into smaller ones so by hour.The negative I see is the number of open file descriptors.
??
Elasticsearch version 5.6
I posted the question on the elasticsearch discussion board and it appears using the ingest pipeline is the best option.
I am running es queries via spark and would prefer NOT to look through
all documents that I have already processed. Instead I would like read
the only documents that were ingested between the last time the
program ran and now.
A workaround could be :
While inserting data using Logstash to Elasticsearch, Logstash appends a #timestamp key to the document which represents the time (in UTC) at which the document is created or we can use an ingest pipline
After that we can query based on the timestamp.
For more on this please have a look at :
Mapping changes
There is no way to ask ES to insert a timestamp at index time
Elasticsearch doesn't have such functionality.
You need manually save with each document date. In this case you will be able to search by date range.

Visualization & Dashboard return no results found, while discover tab successfully displays results?

I have a problem with Kibana: Dashboard and visualizations don't show any results!
As you can see in this screenshot, in the discover tab I get some results! Which means data exists in my index "as-*". right? But I used a trick in order to display this data :
1) I changed the range to "Today" ==> it shows no result found !
2) I clicked "New" button ==> then i get my data displayed!
Is there an other way "more proper" to get data displayed?
Then in the my dashboard (or visualization) I can't get any results!! even if the range is the same as discover tab!
I restarted Kibana ==> no changes!
I deleted as-* then I created it => no changes!
I'm using Curator to create daily index and logstash to index the data into ES!
I'm stuck here ! I ll be glad if you can help me figure it out !
Thank you very much!
I am fairly new to elasticsearch and Kibana, but here are three mistakes that I made in the past:
Are you using the correct index? Make sure that the index you have chosen for the logs that are displayed on the visualise page and for the actual visualisations is the same.
Correct timeperiod: does the time period you have chosen contain the data you are looking for? Or did you happen to have zero logs during that time?
Correct filters and aggregations: when you were making the visualisations, did they show any results? Or were they empty from the beginning? Maybe one of your filters or aggregations is wrong and it's excluding the results you're expecting to see.
Not sure if this is any help, hope you've sold the problem by now :)
If you can see information in "discover", it means that kibana has connected to the database, and that the database has information. You shouldn't have to click the "New" button to see information in the discover view. I believe the "New" button in the "discover" page is used to create a new search.
Maybe try zooming on the time period of the data on the "discover" page, or
try checking the systems logs to see if logstash is successfully pushing information to Elasticsearch.
With Kibana, dashboards are made up of visualisations, and visulations are made up of searches.
The "No results found" on the dashboard page, shown in your second page is due to the visualisation having no results. I guess you imported visulations into Kibana.
I hope that helps.

Simple Kibana table refresh data not changing

I am very new to Elasticsearch and Kibana. I have setup an index with a number of documents that I want to monitor as a table on the dashboard.
The JSON documents stored in elastic search simply have four fields.
I created/saved a search on the discover tab with all four fields and then added that search to my dashboard.
I then set the auto refresh to every 5 seconds.
If I update an existing document the table does NOT change on the next refresh.
If I add/remove new documents to elasticsearch they appear/disappear in the table on the next refresh.
Table flickers every 5s so it is clearly re-rendering.
Examining the network traffic shows that the response to the query contains the new data.
Pressing the arrow drop-down next to the row in the table shows the correct data
Refreshing the entire page shows the new data
Am I missing something?
With Kibana 4.4.2 adding a Search to the Dashboard does not seem to update dynamically. This may or may not be by-design or a bug.
But thanks to the elasticsearch forums I did get this response.
Summary: Creating a table visualization and splitting the rows and adding each individual term as updates when the data changes.

New Fields Not Visible in Kibana

I have Kibana 4.0.1 running on top of elasticsearch 1.4.4. It was very smooth and virtually had no setup time. Suddenly I have run into a problem.
If I add a new field in my elasticsearch index, it's not visible in fields section. I can still query on that field in discover section. But, I can't make a graph based on the new field as it's not visible in fields list.
Kibana apparently fetches _mapping at the time of setup and stores it in elasticsearch index named .kibana. Once done, it never changes that. Deleting this index should load fresh _mapping from elasticsearch. But I don't want to lose all the saved dashboards and visualizations.
Is there a was to force Kibana to load fresh mapping at regular interval?
Yes in the settings tab you can refresh the index. Check the yellow refresh botton in the image below.

Resources