[Openstack] [Metering] Getting ceilometer-collector to listen on UDP for UDP publishing

David Moreau Simard dmsimard at iweb.com
Mon Jun 2 21:01:02 UTC 2014


Hi,

I’m attempting to have Ceilometer publish by using the UDP publisher instead of rpc/bus message.

Ceilometer is able to publish and send the samples from “host01", example:
===
Jun  2 20:45:39 host01 ceilometer.pipeline: Pipeline meter_sink: Transform sample <ceilometer.sample.Sample object at 0x266c0d0> from 0 transformer
Jun  2 20:45:39 host01 ceilometer.pipeline: Pipeline meter_sink: Publishing samples
Jun  2 20:45:39 host01 ceilometer.publisher.udp: Publishing sample {'counter_name': 'storage.api.request', 'user_id': u'9221e6423eed46ccb0b0e9ef180bc8b5', 'message_signature': 'eb0a35b7f9c79eccfd12a56a677d771901c2919ea775af62964ebb4f734f737c', 'timestamp': '2014-06-02T20:45:39.411582', 'resource_id': 'f9bfc7aaa39d46d48afa4b98463d5d1f', 'message_id': 'db28aeb4-ea96-11e3-9b8b-fa163e0d0627', 'source': 'openstack', 'counter_unit': 'request', 'counter_volume': 1, 'project_id': u'f981d5a374154c3e8504fd9d8e80c724', 'resource_metadata': {'path': '/v1/AUTH_f9bfc7aaa39d46d48afa4b98463d5d1f', 'version': 'v1', 'container': None, 'method': 'head', 'object': None}, 'counter_type': 'delta'} over UDP to ctrl01.cloud.example.org:4952
Jun  2 20:45:39 host01 ceilometer.pipeline: Pipeline meter_sink: Published samples
===

I see the UDP packets leaving “host01” and coming into “ctrl01.cloud.example.org”.
On the collector side (ctrl01.cloud.example.org), I have the following in my ceilometer.conf:
===
udp_address=0.0.0.0
udp_port=4952
===

I can also tell by the logs that it appears to be loaded properly:
===
2014-06-02 20:53:30.938 27742 DEBUG ceilometer.openstack.common.service [-] collector.udp_address          = 0.0.0.0 log_opt_values /usr/lib/python2.7/dist-packages/oslo/config/cfg.py:1949
2014-06-02 20:53:30.939 27742 DEBUG ceilometer.openstack.common.service [-] collector.udp_port             = 4952 log_opt_values /usr/lib/python2.7/dist-packages/oslo/config/cfg.py:1949
===

However, the samples are not entered in the database (mongodb backend). Over RPC it works fine but I am trying to move away from it.
Looking at listening ports on the controller node, I can’t see anything listening on UDP 4952.
A simple netcat from host01 to ctrl01 shows that there is nothing hindering the communication over that port.

There doesn’t seem to be any errors in the logs, either on the client or on the collector side.
I’ve tried various combination of configuration but to no avail. My attempts at finding proper documentation on the UDP publishing have also failed me.

I would appreciate any insight you guys may have on this,

Thanks,
--
David Moreau Simard



More information about the Openstack mailing list