Hello

Any help please??

Le lun. 24 sept. 2018 à 09:31, rabii lamriq <lam...@gmail.com> a écrit :

> Hi,
>
> thanks every One, for your feedbacks,
>
> Yes, ES accept both application/json and application/x-ndjson, there is no
> problem in ES ni in Grafana, when i test my query with curl to send POST to
> ES, it work well ether json or x-ndjson.
>
> However, through Knox Gateway, it work only for x-ndjson, I don't know
> why. so, since Grafana send their POST with only json and not x-ndjson, the
> scenario of Grafana -> Knox -> ES with multi search doesn't work.
>
> I think we have two solution:
>
> 1- make some thing to force Grafana change header of POST and put x-ndjson
> instead of json, or
> 2- rewrite Header by Knox to forwarded with x-ndjson to ES.
>
> If some one have any idea of how to make this or other solution.
>
>
> Regards
> Rabii
>
> Le ven. 21 sept. 2018 à 19:21, Kevin Risden <kris...@apache.org> a écrit :
>
>> https://github.com/elastic/elasticsearch/issues/25718
>>
>> Elasticsearch endpoints should take both application/json and
>> application/x-ndjson. There might be something else going on here. That is
>> why I asked for the Elasticsearch logs.
>>
>> It might not be necessary to rewrite the content type.
>>
>> Kevin Risden
>>
>>
>> On Fri, Sep 21, 2018 at 1:17 PM rabii lamriq <lam...@gmail.com> wrote:
>>
>>> Hi all,
>>>
>>> My problem is how to change the content-type=application/json to
>>> application/x-ndjson by rewriting the header in the knox.
>>>
>>> Because grafana send their query with content-type=application/json and
>>> knox return status 400,
>>>
>>> Hower when i reproduce the problem by curl comande, I noticed that if i
>>> replace json by x-ndjson through knox it wirk well.
>>>
>>> Sence i can't change the content-type in grafana, is this possible by
>>> rewriting the header in knox to replace json by x-ndjson.
>>>
>>> Regards
>>> Rabii
>>>
>>> Le ven. 21 sept. 2018 à 18:05,
>>> Kevin Risden
>>> <kris...@apache.org> a écrit :
>>>
>>>> Do you have the error from Elasticsearch logs? It might explain if Knox
>>>> or Grafana is sending a bad request.
>>>>
>>>> Kevin Risden
>>>>
>>>>
>>>> On Fri, Sep 21, 2018 at 12:03 PM Sandeep Moré <moresand...@gmail.com>
>>>> wrote:
>>>>
>>>>> I don't see any issues from Knox side, what error do you see in
>>>>> Grafana ?  I think this could be because Grafana is expecting certain
>>>>> content-type.
>>>>>
>>>>> On Fri, Sep 21, 2018 at 11:37 AM rabii lamriq <lam...@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Hi Sandeep
>>>>>>
>>>>>> thanks for your feedback, below is the deboug log for this curl
>>>>>>
>>>>>> 2018-09-18 17:23:23,154 DEBUG hadoop.gateway
>>>>>> (UrlRewriteProcessor.java:rewrite(166)) - Rewrote URL: 
>>>>>> https://<host-knox>:8443/gateway/default/es5/<index_name>/_msearch,
>>>>>> direction: IN via explicit rule: ES5/inbound/query to URL: http://
>>>>>> <host-elast>:9200/<index_name>/_msearch
>>>>>> 2018-09-18 17:23:23,156 DEBUG hadoop.gateway
>>>>>> (ElasticsearchDispatch.java:executeOutboundRequest(79)) - Dispatch 
>>>>>> request:
>>>>>> POST http://<host-elast>:9200/<index_name>/_msearch?doAs=<u_user>
>>>>>> 2018-09-18 17:23:23,193 DEBUG hadoop.gateway
>>>>>> (ElasticsearchDispatch.java:executeOutboundRequest(95)) - Dispatch 
>>>>>> response
>>>>>> status: 400
>>>>>> 2018-09-18 17:23:23,194 DEBUG hadoop.gateway
>>>>>> (DefaultDispatch.java:getInboundResponseContentType(202)) - Using 
>>>>>> explicit
>>>>>> character set UTF-8 for entity of type application/json
>>>>>> 2018-09-18 17:23:23,195 DEBUG hadoop.gateway
>>>>>> (DefaultDispatch.java:getInboundResponseContentType(210)) - Inbound
>>>>>> response entity content type: application/json; charset=UTF-8
>>>>>> 2018-09-18 17:23:54,519 DEBUG hadoop.gateway
>>>>>> (GatewayFilter.java:doFilter(116)) - Received request: POST
>>>>>> /es5/<index_name>/_msearch
>>>>>> 2018-09-18 17:23:54,521 INFO  hadoop.gateway
>>>>>> (AclsAuthorizationFilter.java:doFilter(85)) - Access Granted: true
>>>>>>
>>>>>> Regards
>>>>>> Rabii
>>>>>>
>>>>>> Le ven. 21 sept. 2018 à 17:17, Sandeep Moré <moresand...@gmail.com>
>>>>>> a écrit :
>>>>>>
>>>>>>> Hello Rab,
>>>>>>>
>>>>>>> Interesting, do you have the debug logs for this ? they will tell us
>>>>>>> exactly what is happening.
>>>>>>>
>>>>>>> Best,
>>>>>>> Sandeep
>>>>>>>
>>>>>>> On Fri, Sep 21, 2018 at 9:56 AM rabii lamriq <lam...@gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hi All,
>>>>>>>>
>>>>>>>> From Grafana, I Post multisearch query to Elasticsearch using the
>>>>>>>> bulk API with the newline delimited JSON (NDJSON) format.
>>>>>>>> https://www.elastic.co/guide/en/elasticsearch/reference/current/search-multi-search.html
>>>>>>>> like this:
>>>>>>>>
>>>>>>>> curl -u myuser -i -H “Content-Type: application/json” -XPOST "
>>>>>>>> http://host_ES:900/index/_msearch"; --data-binary ’
>>>>>>>> { first json doc}
>>>>>>>>  {second json doc}
>>>>>>>> ’
>>>>>>>> when bypassing Knox, The query work well either we made json or
>>>>>>>> x-ndjson,
>>>>>>>> However, through Knox gateway, if the
>>>>>>>> content-type=application/json, the query retun this error of 400:
>>>>>>>>
>>>>>>>>  HTTP/1.1 400 Bad Request
>>>>>>>>  content-type: application/json
>>>>>>>>
>>>>>>>> But when we replace json by x-ndjson like mentioned in the bulk
>>>>>>>> API, it work well.
>>>>>>>>
>>>>>>>> My problem is that Grafana send their query with the
>>>>>>>> content-type=application/json and not x-ndjson, for this, it is 
>>>>>>>> possible to
>>>>>>>> make any thing on Knox to solve this problem?
>>>>>>>>
>>>>>>>> Regards
>>>>>>>>  Rab
>>>>>>>>
>>>>>>>

Reply via email to