Hi - although I have created an index manually called metricbeat, when I try to bring up any visualizations associated with metricbeat or perform a discovery on metricbeat-* I received the following error in Kibana (4.4.1)
[index_not_found_exception] no such index, with: {"index":"[metricbeat-*]"}
I have metricbeat logging to logstash which in turn is piping the data over to elasticsearch. Has anyone ran into this issue and do you have a resolution. I have also successfully uploaded the beats-dashboards-5.0.0/ metricbeats json.
An index called metricbeat will not be matched by the pattern metricbeat-*.
I recommend following the Getting Started guide for Metricbeat. There is a section in the docs that describes how to use Metricbeat with Logstash and what the LS config should be. When using Metricbeat with LS you also need to manually install the Metricbeat index template (this is the getting started guide).
Looks like it did create the index metricbeat-*. I can see it in kibana but when I try to view or build a visual against it it throws that error back at me that I listed in the thread. If I execute http://:9200/_cat/indices?pretty it show "metricbeat" but it shows no file count, it has a zero beside it. I was able to run the curl XPUT command and load the templete, I was able to successfully upload the beats/metricbeats dashboards, index patterns, search, and visualization(s) via the import script. It's just not populating any information into logstash that I can tell and then of course, the error I listed pops up say the index is not found. I seems like up until that point I had pressed all the right buttons but it's not populating the index with anything and/or kibana just want recognize it even though it shows everything listed correctly.
So, as you can see, I may have left out the fact that logstash is pushing to two REDIS servers and from the REDIS servers there is a central standalone logstash server pulling everything from REDIS and pushing to elasticsearch. That can be a little complicated to try and visualize, i know. This was in place when I came on board and I really do not understand the importance of REDIS in the mix. But that is a different Topic of discussion I suppose.
It looks like the data is being ack'ed by that Logstash. What's the config look like on the Logstash that pulls from Redis? (if you surround the config with three backticks at the start and end it will format nicely).
Cool - You're going to love the simplicity of the centralized logstash standalone server that pull from the REDIS servers:
input {
redis {
host => "<ServerIp>"
type => "redis-input"
port => "6379"
data_type => "list"
key => "logstash"
}
redis {
host => "<ServerIp>"
type => "redis-input"
port => "6379"
data_type => "list"
key => "logstash"
}
# syslog {
# type => syslog
# port => 5514
# }
}
output {
stdout { }
elasticsearch {
hosts => ["<ServerIp>:9200"]
user => "<username>"
password => "<password>"
}
}
So it is basically pulling All the info from REDIS and finally piping it over to our ElasticSearch server.
Im not sure if I know what you mean by (if you surround the config with three backticks at the start and end it will format nicely). But it sounds promising.
Based on the elasticsearch output config you posted, the events are not being routed to the proper index. The default index is "logstash-%{+YYYY.MM.dd}".
Can you print out one of the Metricbeat events coming from redis with:
Awesome. Would I add that entry into the Centralized Logstash config - or where would be the best place to have that execute. Im not 100% sure if that would replace the current "output" entry in the shipper.conf file for logstash and/or what server it needs to execute on
I think this should work. It basically routes all Metricbeat events to the metricbeat-YYYY.MM.dd index based on the fact that the type is metricsets. I don't think the events in Redis will have @metadata so we can't use that to route on (that's why I was asking for an event to be output).
ok it's in there now and I restarted logstash. How can I view the event that comes through? It did however give me a different error when I tried to view the metricbeat-* index:
Courier Fetch: [index_not_found_exception] no such index, with: {"index":"[metricbeat-*]"}
Also, I will try your suggested config change with the if condition and let you know.
I'll have to revisit this in the morning Andrew, I locked up the logstash system id with the new config settings. (I think) . I may have already locked it out before and didnt know it from an eariler run. I'll touch base tomorrow. Thank you for you help so far on this. W
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.