Add coordination for a central agent
Change-Id: I91a8e74431e246ec5450d7eafd2ff995b8d955b5
diff --git a/README.rst b/README.rst
index 5cb7ba3..86c8b78 100644
--- a/README.rst
+++ b/README.rst
@@ -5,8 +5,12 @@
The ceilometer project aims to deliver a unique point of contact for billing
systems to acquire all of the measurements they need to establish customer
-billing, across all current OpenStack core components with work underway to
+billing, across all current OpenStack components with work underway to
support future OpenStack components.
+This formula provides different backends for Ceilometer data: MongoDB, InfluxDB. Also,
+Graphite and direct (to Elasticsearch) publishers are available. If InfluxDB is used
+as a backend, heka is configured to consume messages from RabbitMQ and write in to
+InfluxDB, i.e. ceilometer collector service is not used in this configuration.
Sample Pillars
==============
@@ -18,7 +22,7 @@
ceilometer:
server:
enabled: true
- version: havana
+ version: mitaka
cluster: true
secret: pwd
bind:
@@ -38,13 +42,45 @@
user: openstack
password: pwd
virtual_host: '/openstack'
+
+Databases configuration
+
+MongoDB example:
+
+.. code-block:: yaml
+
+ ceilometer:
+ server:
database:
engine: mongodb
- host: 127.0.0.1
- port: 27017
+ members:
+ - host: 10.0.106.10
+ port: 27017
+ - host: 10.0.106.20
+ port: 27017
+ - host: 10.0.106.30
+ port: 27017
name: ceilometer
user: ceilometer
- password: pwd
+ password: password
+
+InfluxDB/Elasticsearch example:
+
+.. code-block:: yaml
+
+ ceilometer:
+ server:
+ database:
+ influxdb:
+ host: 10.0.106.10
+ port: 8086
+ user: ceilometer
+ password: password
+ database: ceilometer
+ elasticsearch:
+ enabled: true
+ host: 10.0.106.10
+ port: 9200
Client-side RabbitMQ HA setup
@@ -56,9 +92,9 @@
message_queue:
engine: rabbitmq
members:
- - host: 127.0.0.1
- - host: 127.0.0.1
- - host: 127.0.0.1
+ - host: 10.0.106.10
+ - host: 10.0.106.20
+ - host: 10.0.106.30
user: openstack
password: pwd
virtual_host: '/openstack'
@@ -85,7 +121,7 @@
ceilometer:
agent:
enabled: true
- version: havana
+ version: mitaka
secret: pwd
identity:
engine: keystone
diff --git a/ceilometer/files/mitaka/ceilometer-server.conf.Debian b/ceilometer/files/mitaka/ceilometer-server.conf.Debian
index 95c0a9d..2d8f6e0 100644
--- a/ceilometer/files/mitaka/ceilometer-server.conf.Debian
+++ b/ceilometer/files/mitaka/ceilometer-server.conf.Debian
@@ -166,6 +166,28 @@
# (boolean value)
#enable_reverse_dns_lookup=false
+[coordination]
+
+#
+# From ceilometer
+#
+
+# The backend URL to use for distributed coordination. If left empty, per-
+# deployment central agent and per-host compute agent won't do workload
+# partitioning and will only function correctly if a single instance of that
+# service is running. (string value)
+{%- if server.coordination_backend is defined %}
+backend_url = {{ server.coordination_backend.url }}
+{%- endif %}
+
+# Number of seconds between heartbeats for distributed coordination. (floating
+# point value)
+#heartbeat = 1.0
+
+# Number of seconds between checks to see if group membership has changed
+# (floating point value)
+#check_watchers = 10.0
+
[database]
metering_time_to_live = {{ server.ttl }}
diff --git a/ceilometer/map.jinja b/ceilometer/map.jinja
index 34bd97f..b340c78 100644
--- a/ceilometer/map.jinja
+++ b/ceilometer/map.jinja
@@ -51,4 +51,4 @@
{%- else %}
{%- do server.update({'pkgs': pkgs.basic + pkgs.db_drivers}) %}
{%- do server.update({'services': services.basic}) %}
-{%- endif %}
\ No newline at end of file
+{%- endif %}