[collectd] curl_jason plugin is not sending data to rabbitMQ server

Mariano González gonzalez.mariano.gabriel at gmail.com
Thu Feb 13 18:53:21 CET 2014


Marc. Is there anything I could check?


On 10 February 2014 12:59, Mariano González <
gonzalez.mariano.gabriel at gmail.com> wrote:

> Hi Marc!
>
> Here's my request/answer using curl -v:
>
> $ curl -v -H "X-Auth-Token: my_token" https://rackspace_api.url/current |
> python -m json.tool
> * Adding handle: conn: 0xe08fb0
> * Adding handle: send: 0
> * Adding handle: recv: 0
> * Curl_addHandleToPipeline: length: 1
> * - Conn 0 (0xe08fb0) send_pipe: 1, recv_pipe: 0
>   % Total    % Received % Xferd  Average Speed   Time    Time     Time
>  Current
>                                  Dload  Upload   Total   Spent    Left
>  Speed
>   0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--
>   0* About to connect() to rackspace_api.url port 443 (#0)
> *   Trying 174.143.139.141...
> * Connected to rackspace_api.url (ip) port 443 (#0)
> * Initializing NSS with certpath: sql:/etc/pki/nssdb
> *   CAfile: /etc/pki/tls/certs/ca-bundle.crt
>   CApath: none
> * SSL connection using SSL_RSA_WITH_RC4_128_SHA
> * Server certificate:
> *       subject: CN=rackspace_api.url,OU=Domain Validated,OU=Thawte SSL123
> certificate,OU=Go to
> https://www.thawte.com/repository/index.html,O=rackspace_api.url
> *       start date: Nov 18 00:00:00 2010 GMT
> *       expire date: Nov 17 23:59:59 2015 GMT
> *       common name: rackspace_api.url
> *       issuer: CN=Thawte DV SSL CA,OU=Domain Validated SSL,O="Thawte,
> Inc.",C=US
> > GET /v1.0/account_id/loadbalancers/lb_id/usage/current HTTP/1.1
> > User-Agent: curl/7.33.0
> > Host: rackspace_api.url
> > Accept: */*
> > X-Auth-Token: my_token
> >
> < HTTP/1.1 200 OK
> < Content-Type: application/json
> < Via: 1.1 Rackspace Cloud Load Balancer API v1.19.28 (Repose/2.11.0)
> < Content-Length: 7265
> < Date: Mon, 10 Feb 2014 15:47:28 GMT
> * Server Jetty(8.0.y.z-SNAPSHOT) is not blacklisted
> < Server: Jetty(8.0.y.z-SNAPSHOT)
> <
> { [data not shown]
>  53  7265   53  3884    0     0   7158      0  0:00:01 --:--:--  0:00:01
>  7100  7265  100  7265    0     0  12349      0 --:--:-- --:--:-- --:--:--
> 12376
> * Connection #0 to host rackspace_api.url left intact
> {
>     "links": [],
>     "loadBalancerUsageRecords": [
>         {
>             "averageNumConnections": 17.5,
>             "averageNumConnectionsSsl": 0.0,
>             "endTime": "2014-02-09T17:00:00Z",
>             "id": id;
>             "incomingTransfer": 3816105,
>             "incomingTransferSsl": 0,
>             "numPolls": 12,
>             "numVips": 1,
>             "outgoingTransfer": 529684773,
>             "outgoingTransferSsl": 0,
>             "sslMode": "OFF",
>             "startTime": "2014-02-09T16:00:00Z",
>             "vipType": "PUBLIC"
>         },
> ..and so on..
>
> But, I got a doubt in the next item, now I've this set up in collectd.conf
>
> <Plugin curl_json>
>   <URL "https://rackspace_api.url/usage/current">
>    Instance "Load_Balancer"
>     Header "X-Auth-Token: my_token"
>    <Key "LoadBalancerUsageRecords/*/averageNumConnections">
>      Type "connections"
>    </Key>
> ..
>
> I've defined a Header with my token_id to make it work (it was the only
> way I found). So, you suggest I add another Header value? and I'm still not
> sure which would it be, I see a GET header but is it?
>
> Thanks again!
>
>
>
>
> On 10 February 2014 10:22, Marc Fournier <marc.fournier at camptocamp.com>wrote:
>
>> Excerpts from Mariano González's message of 2014-02-06 13:32:56 +0100:
>> > Hi Marc.
>> >
>> > The request I run manually is:
>> >
>> > curl -H "X-Auth-Token: my_token"
>> > https://API_url/1.0/account_id/loadbalancers/lb_id/usage/current |
>> python
>> > -m json.tool
>> >
>> > And collectd uses the curl_json plugin, which I don't know what it
>> requests
>> > (I assume it uses curl, but I'm not sure how).
>> >
>> > Could you guide me on how to tcdump this connections please?
>>
>> Actually, ngrep is a similar tool which output is easier to read when
>> you're only interested in the "application layer". Try:
>>
>> sudo ngrep -d any -W byline port 80
>>
>> I see you're using https though. If you can't switch to plain http, you
>> can
>> probably forget about dumping the network traffic.
>>
>> "curl -v" will show you what headers are sent in the HTTP(s) request. Then
>> try to use collectd's "Header" option to the curl_json plugin and make it
>> match the headers sent by the curl CLI tool.
>>
>> As the curl CLI tool works, I'm pretty sure what you are attempting is
>> feasible. It's just a matter of finding the correct parameters.
>>
>> Marc
>>
>
>
>
> --
> Mariano Gabriel González
>



-- 
Mariano Gabriel González
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.verplant.org/pipermail/collectd/attachments/20140213/e8df0b45/attachment.html>


More information about the collectd mailing list