[openstack-dev] [Ceilometer] Scale deployment

gordon chung gord at live.ca
Mon Jan 9 14:57:31 UTC 2017



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



More information about the OpenStack-dev mailing list