Highly available Telemetry central agentTelemetry (ceilometer) is the metering and monitoring service in
OpenStack. The Central agent polls for resource utilization
statistics for resources not tied to instances or compute nodes.Due to limitations of a polling model, a single instance of this agent
can be polling a given list of meters. In this setup, we install this service
on the API nodes also in the active / passive mode.Making the Telemetry central agent service highly available in active / passive mode involves
managing its daemon with the Pacemaker cluster manager.You will find at this page
the process to install the Telemetry central agent.Add the Telemetry central agent resource to PacemakerFirst of all, you need to download the resource agent to your system:#cd /usr/lib/ocf/resource.d/openstack#wget https://raw.github.com/madkiss/openstack-resource-agents/master/ocf/ceilometer-agent-central#chmod a+rx *You may then proceed with adding the Pacemaker configuration for
the Telemetry central agent resource. Connect to the Pacemaker cluster with crm
configure, and add the following cluster resources:primitive p_ceilometer-agent-central ocf:openstack:ceilometer-agent-central \
params config="/etc/ceilometer/ceilometer.conf" \
op monitor interval="30s" timeout="30s"This configuration createsp_ceilometer-agent-central, a resource for manage Ceilometer Central Agent service
crm configure supports batch input, so you may copy and paste the
above into your live pacemaker configuration, and then make changes as
required.Once completed, commit your configuration changes by entering commit
from the crm configure menu. Pacemaker will then start the Ceilometer Central Agent
service, and its dependent resources, on one of your nodes.Configure Telemetry central agent serviceEdit /etc/ceilometer/ceilometer.conf:# We use API VIP for Identity Service connection:
os_auth_url=http://192.168.42.103:5000/v2.0
# We send notifications to High Available RabbitMQ:
notifier_strategy = rabbit
rabbit_host = 192.168.42.102
[database]
# We have to use MySQL connection to store data:
sql_connection=mysql://ceilometer:password@192.168.42.101/ceilometer