CommunityBeat - JMXProxyBeat Issue

Hi,
I am trying to configure the JMXProxyBeat from the community beats for monitoring the Tomcat parameters through the ELK stack. The configuration settings are as follows,
ElasticSerach -
Logstash -
Kibana -

JMXProxybeat is configured in such a way to push the JMX details directly to the elasticsearch server. But when Iam pushing the data, the elastic search gives an error as follows,

2018/03/20 10:59:26.631978 data.go:144: INFO Event: {"@timestamp":"2018-03-20T10:59:26.631Z","bean":{"attribute":"TotalCompilationTime","hostname":"10.10.114.155:8085","name":"java.lang:type=Compilation","value":23685},"beat":{"hostname""DEVVL03","name":"DEVVL03"},"type":"jmx"}
2018/03/20 10:59:26.632037 output.go:108: DBG output worker: publish 50 events
2018/03/20 10:59:26.632071 client.go:452: DBG ES Ping(url=http://10.10.114.149:9200, timeout=1m30s)
2018/03/20 10:59:26.637560 client.go:461: DBG Ping status code: 200
2018/03/20 10:59:26.637651 output.go:158: INFO Trying to load template for client: &{{http://10.10.114.149:9200 %!s(*http.Client=&{0xc4201e80f0 90000000000}) %!s(bool=true) %!s(func() error=0x72da70)} jmxproxybeat map[] {{ %!s(bool=false) %!s(int=0) %!s(int=0) %!s(int=0)} %!s(elasticsearch.state=0) }}
2018/03/20 10:59:26.637684 client.go:480: DBG HEAD http://10.10.114.149:9200/_template/jmxproxybeat
2018/03/20 10:59:26.647322 single.go:128: INFO Connecting error publishing events (retrying): Connection marked as failed because the onConnect callback failed: Could not load template: Template could not be loaded. Error: 406 Not Acceptable

Its getting connected to the elasticsearch,but the details are not loaded.
Tried using connecting throgh the logstash,throgh the JMX plugin. But that also ended up with issues.
Why the elastic search not recieving the JMX details!!!!

Thanks in advance

Vishnu

What do the Elasticsearch logs show, it should have something that aligns with the 406.

@warkolm Thanks for the reply!
Actually after trying a while , I have manually uploaded the template using the 'curl XPUT ' .So that worked for me ! So when it tries again to push the template when I run the jmxproxybeat, it prompts as the template is already existing. I think that has solved. But after that , while the data is pushed to the ES, the follwing error is coming!
2018/03/22 06:25:45.461945 output.go:174: INFO Template already exists and will not be overwritten.
_2018/03/22 06:25:45.462596 bulkapi.go:131: DBG Sending bulk request to http://10.10.114.149:9200/bulk
2018/03/22 06:25:45.510602 client.go:147: ERR Failed to perform any bulk index operations: 406 Not Acceptable
2018/03/22 06:25:45.510647 single.go:79: INFO Error publishing events (retrying): 406 Not Acceptable

Tried by modifying the elasticsearch.yml with following parameters, but was of no use!
thread_pool:
_ search:_
_ size: 30_
_ queue_size: 500_
_ min_queue_size: 10_
_ max_queue_size: 1000_
_ auto_queue_frame_size: 2000_
_ target_response_time: 1s_

Thanks in advance!
Vishnu

Ok, so it looks like this is related to https://www.elastic.co/guide/en/elasticsearch/reference/6.2/common-options.html#_content_type_requirements, perhaps the beat doesn't set that?

@warkolm Thanks for the response!
:frowning: Really I am stuck! Understood the thing that its related with the content-type. While manually inserting the template I remember I have added the "Content-Type: application/json" with the curl. So what should I do with the jmxproxybeat, whether I need to change the elasticsearch conf or its related with the beat!
Request to advice!

Thanks in advance!
Vishnu!

It's probably related to the beat. The best I can suggest would be to open an issue against their repo.

Thank you! I have raised a support request in the repo! They replied that the beat I using was old and the new version is under development!

Thanks
Vishnu

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.