blob: 44e91500014d8bb2eddcc70cd9c53c3ccb85db26 [file] [log] [blame]
Aleš Komárek59ee0a82017-04-11 13:49:58 +02001==================
2Ceilometer Formula
3==================
Filip Pytlouna87b4712015-10-06 16:28:31 +02004
Jakub Pavlikf1514c62016-05-20 11:04:39 +02005The ceilometer project aims to deliver a unique point of contact for billing
6systems to acquire all of the measurements they need to establish customer
Nadya Shakhat3c3ed672017-05-02 13:58:17 +04007billing, across all current OpenStack components with work underway to
Jakub Pavlikf1514c62016-05-20 11:04:39 +02008support future OpenStack components.
Nadya Shakhat3c3ed672017-05-02 13:58:17 +04009This formula provides different backends for Ceilometer data: MongoDB, InfluxDB. Also,
10Graphite and direct (to Elasticsearch) publishers are available. If InfluxDB is used
11as a backend, heka is configured to consume messages from RabbitMQ and write in to
12InfluxDB, i.e. ceilometer collector service is not used in this configuration.
Filip Pytlouna87b4712015-10-06 16:28:31 +020013
Aleš Komárek59ee0a82017-04-11 13:49:58 +020014Sample Pillars
Filip Pytlouna87b4712015-10-06 16:28:31 +020015==============
16
17Ceilometer API/controller node
Petr Jediný1c34abb2017-06-07 14:34:13 +020018------------------------------
Filip Pytlouna87b4712015-10-06 16:28:31 +020019
20.. code-block:: yaml
21
22 ceilometer:
23 server:
24 enabled: true
Nadya Shakhat3c3ed672017-05-02 13:58:17 +040025 version: mitaka
Filip Pytlouna87b4712015-10-06 16:28:31 +020026 cluster: true
27 secret: pwd
28 bind:
29 host: 127.0.0.1
30 port: 8777
31 identity:
32 engine: keystone
33 host: 127.0.0.1
34 port: 35357
35 tenant: service
36 user: ceilometer
37 password: pwd
38 message_queue:
39 engine: rabbitmq
40 host: 127.0.0.1
41 port: 5672
42 user: openstack
43 password: pwd
44 virtual_host: '/openstack'
Nadya Shakhat3c3ed672017-05-02 13:58:17 +040045
Ondrej Smolaa4235472017-08-03 11:05:45 +020046Enable CORS parameters
47------------------------------
48
49.. code-block:: yaml
50
51 ceilometer:
52 server:
53 cors:
54 allowed_origin: https:localhost.local,http:localhost.local
55 expose_headers: X-Auth-Token,X-Openstack-Request-Id,X-Subject-Token
56 allow_methods: GET,PUT,POST,DELETE,PATCH
57 allow_headers: X-Auth-Token,X-Openstack-Request-Id,X-Subject-Token
58 allow_credentials: True
59 max_age: 86400
60
61
Dmitry Ukov2bb7cac2017-05-15 14:04:03 +040062Configuration of policy.json file
Petr Jediný1c34abb2017-06-07 14:34:13 +020063---------------------------------
Dmitry Ukov2bb7cac2017-05-15 14:04:03 +040064
65.. code-block:: yaml
66
67 ceilometer:
68 server:
69 ....
70 policy:
71 segregation: 'rule:context_is_admin'
72 # Add key without value to remove line from policy.json
73 'telemetry:get_resource':
74
Nadya Shakhat3c3ed672017-05-02 13:58:17 +040075Databases configuration
Petr Jediný1c34abb2017-06-07 14:34:13 +020076-----------------------
Nadya Shakhat3c3ed672017-05-02 13:58:17 +040077
78MongoDB example:
Petr Jediný1c34abb2017-06-07 14:34:13 +020079~~~~~~~~~~~~~~~~
Nadya Shakhat3c3ed672017-05-02 13:58:17 +040080
81.. code-block:: yaml
82
83 ceilometer:
84 server:
Filip Pytlouna87b4712015-10-06 16:28:31 +020085 database:
86 engine: mongodb
Nadya Shakhat3c3ed672017-05-02 13:58:17 +040087 members:
88 - host: 10.0.106.10
89 port: 27017
90 - host: 10.0.106.20
91 port: 27017
92 - host: 10.0.106.30
93 port: 27017
Filip Pytlouna87b4712015-10-06 16:28:31 +020094 name: ceilometer
95 user: ceilometer
Nadya Shakhat3c3ed672017-05-02 13:58:17 +040096 password: password
97
98InfluxDB/Elasticsearch example:
Petr Jediný1c34abb2017-06-07 14:34:13 +020099~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Nadya Shakhat3c3ed672017-05-02 13:58:17 +0400100
101.. code-block:: yaml
102
103 ceilometer:
104 server:
105 database:
106 influxdb:
107 host: 10.0.106.10
108 port: 8086
109 user: ceilometer
110 password: password
111 database: ceilometer
112 elasticsearch:
113 enabled: true
114 host: 10.0.106.10
115 port: 9200
Filip Pytlouna87b4712015-10-06 16:28:31 +0200116
smolaond0d14d22016-05-31 10:30:15 +0200117Client-side RabbitMQ HA setup
Petr Jediný1c34abb2017-06-07 14:34:13 +0200118-----------------------------
smolaond0d14d22016-05-31 10:30:15 +0200119
120.. code-block:: yaml
121
122 ceilometer:
123 server:
124 ....
125 message_queue:
126 engine: rabbitmq
127 members:
Nadya Shakhat3c3ed672017-05-02 13:58:17 +0400128 - host: 10.0.106.10
129 - host: 10.0.106.20
130 - host: 10.0.106.30
smolaond0d14d22016-05-31 10:30:15 +0200131 user: openstack
132 password: pwd
133 virtual_host: '/openstack'
134 ....
135
136
Filip Pytlouna87b4712015-10-06 16:28:31 +0200137Ceilometer Graphite publisher
Petr Jediný1c34abb2017-06-07 14:34:13 +0200138-----------------------------
Filip Pytlouna87b4712015-10-06 16:28:31 +0200139
140.. code-block:: yaml
141
142 ceilometer:
143 server:
144 enabled: true
145 publisher:
146 graphite:
147 enabled: true
148 host: 10.0.0.1
149 port: 2003
150
151Ceilometer compute agent
Petr Jediný1c34abb2017-06-07 14:34:13 +0200152------------------------
Filip Pytlouna87b4712015-10-06 16:28:31 +0200153
154.. code-block:: yaml
155
156 ceilometer:
157 agent:
158 enabled: true
Nadya Shakhat3c3ed672017-05-02 13:58:17 +0400159 version: mitaka
Filip Pytlouna87b4712015-10-06 16:28:31 +0200160 secret: pwd
161 identity:
162 engine: keystone
163 host: 127.0.0.1
164 port: 35357
165 tenant: service
166 user: ceilometer
167 password: pwd
168 message_queue:
169 engine: rabbitmq
170 host: 127.0.0.1
171 port: 5672
172 user: openstack
173 password: pwd
174 virtual_host: '/openstack'
175 rabbit_ha_queues: true
176
Petr Jediný1c34abb2017-06-07 14:34:13 +0200177
178Ceilometer instance discovery method
179------------------------------------
180
181.. code-block:: yaml
182
183 ceilometer:
184 agent:
185 ...
186 discovery_method: naive
187
188
189Keystone auth caching
190---------------------
191
192.. code-block:: yaml
193
194 ceilometer:
195 server:
196 cache:
197 members:
198 - host: 10.10.10.10
199 port: 11211
200 - host: 10.10.10.11
201 port: 11211
202 - host: 10.10.10.12
203 port: 11211
204 agent:
205 cache:
206 members:
207 - host: 10.10.10.10
208 port: 11211
209 - host: 10.10.10.11
210 port: 11211
211 - host: 10.10.10.12
212 port: 11211
213
214
215
216
Aleš Komárek59ee0a82017-04-11 13:49:58 +0200217More Information
218================
Filip Pytlouna87b4712015-10-06 16:28:31 +0200219
220* https://wiki.openstack.org/wiki/Ceilometer
221* http://docs.openstack.org/developer/ceilometer/install/manual.html
222* http://docs.openstack.org/developer/ceilometer/
223* https://fedoraproject.org/wiki/QA:Testcase_OpenStack_ceilometer_install
224* https://github.com/spilgames/ceilometer_graphite_publisher
225* http://engineering.spilgames.com/using-ceilometer-graphite/
226
Filip Pytloun23f63e12017-02-02 13:02:03 +0100227
228Documentation and Bugs
229======================
230
231To learn how to install and update salt-formulas, consult the documentation
232available online at:
233
234 http://salt-formulas.readthedocs.io/
235
236In the unfortunate event that bugs are discovered, they should be reported to
237the appropriate issue tracker. Use Github issue tracker for specific salt
238formula:
239
240 https://github.com/salt-formulas/salt-formula-ceilometer/issues
241
242For feature requests, bug reports or blueprints affecting entire ecosystem,
243use Launchpad salt-formulas project:
244
245 https://launchpad.net/salt-formulas
246
247You can also join salt-formulas-users team and subscribe to mailing list:
248
249 https://launchpad.net/~salt-formulas-users
250
251Developers wishing to work on the salt-formulas projects should always base
252their work on master branch and submit pull request against specific formula.
253
254 https://github.com/salt-formulas/salt-formula-ceilometer
255
256Any questions or feedback is always welcome so feel free to join our IRC
257channel:
258
259 #salt-formulas @ irc.freenode.net