[openstack-dev] [Ceilometer] Scale deployment

Srikanth Vavilapalli srikanth.vavilapalli at ericsson.com
Tue Jan 10 00:21:34 UTC 2017


Thanks Gordon for your inputs, Quick follow-up question: I see few new alternatives existing in place of ceilometer mongo storage: Gnocchi and Panko. Are these recommended data storage options from now on for Ceilometer? Also, I suppose Gnocchi and Panko needs to be deployed on a separate node in a cluster mode to support scale and performance. Plz let me know if otherwise.

Thanks
Srikanth


-----Original Message-----
From: gordon chung [mailto:gord at live.ca] 
Sent: Monday, January 09, 2017 6:58 AM
To: openstack-dev at lists.openstack.org
Subject: Re: [openstack-dev] [Ceilometer] Scale deployment



On 08/01/17 07:28 PM, Srikanth Vavilapalli wrote:
>
> -          Deploying database cluster on separate nodes with sharding
> and replica-sets enabled
>

we don't recommend you use ceilometer storage since it's deprecated and hasn't been worked on for over a year.

>
>
> My questions are:
>
> 1.       How to determine the number of ceilometer-agent-notification
> that I should deploy? For example I have 3 node environment to deploy 
> ceilometer where a 3-node RabbitMq cluster is running. Should I deploy 
> three ceilometer-agent-notification each of them pointing to 3-node 
> rabbitmq cluster or can I deploy 1 or 2 notification agents that can 
> fetch the messages from rabbitmq nodes? Is there any guidline for this?

i don't think there is a guide line. a single agent for 3 nodes is suffice. i would probably just suggest you monitor notifications.* queues and if they start lagging, add more notification agents as required. i believe a single agent can handle hundreds of notifications per second.


>
> 2.       How do the ceilometer-agent-notification distribute the
> received messages from rabbitmq among themselves? Is it round robin 
> among all messages or share the load at rabbitmq exchange levels? For 
> example if rabbitmq cluster is deployed with N number of exchanges 
> where telemetry data is sent equally among all these exchanges, can I 
> partition the rabbitmq exchanges such that each notification agents 
> process a subset of exchanges?

notification agents just greedily grab from queues it's subscribed to when it can. it'll then requeue them (if you have multiple agents and
workload_partitioning) enabled.

>
> 3.       Do I need to deploy "ceilometer-collector" daemon also in
> multiples in order to handle the load coming from
> ceilometer-agent-notifications and to write to database replicas?
>

ceilometer collector is not a required service and probably just adds 
more load to your rabbitmq. you can send data directly from notification 
agent using direct:// publisher (or one of the aliases if you're master.)

only suggestion i have off top of head is to enabled batching (set 
batch_size, batch_timeout in notification agent)

cheers,

-- 
gord

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev



More information about the OpenStack-dev mailing list