blob: 8ed186a69c800c37bf1709286ab1589359888a4f [file] [log] [blame]
Filip Pytlouna87b4712015-10-06 16:28:31 +02001
2==========
3Ceilometer
4==========
5
Jakub Pavlikf1514c62016-05-20 11:04:39 +02006The ceilometer project aims to deliver a unique point of contact for billing
7systems to acquire all of the measurements they need to establish customer
8billing, across all current OpenStack core components with work underway to
9support future OpenStack components.
Filip Pytlouna87b4712015-10-06 16:28:31 +020010
11Sample pillars
12==============
13
14Ceilometer API/controller node
15
16.. code-block:: yaml
17
18 ceilometer:
19 server:
20 enabled: true
21 version: havana
22 cluster: true
23 secret: pwd
24 bind:
25 host: 127.0.0.1
26 port: 8777
27 identity:
28 engine: keystone
29 host: 127.0.0.1
30 port: 35357
31 tenant: service
32 user: ceilometer
33 password: pwd
34 message_queue:
35 engine: rabbitmq
36 host: 127.0.0.1
37 port: 5672
38 user: openstack
39 password: pwd
40 virtual_host: '/openstack'
Filip Pytlouna87b4712015-10-06 16:28:31 +020041 database:
42 engine: mongodb
43 host: 127.0.0.1
44 port: 27017
45 name: ceilometer
46 user: ceilometer
47 password: pwd
48
smolaond0d14d22016-05-31 10:30:15 +020049Client-side RabbitMQ HA setup
50
51.. code-block:: yaml
52
53 ceilometer:
54 server:
55 ....
56 message_queue:
57 engine: rabbitmq
58 members:
59 - host: 127.0.0.1
60 - host: 127.0.0.1
61 - host: 127.0.0.1
62 user: openstack
63 password: pwd
64 virtual_host: '/openstack'
65 ....
66
67
Filip Pytlouna87b4712015-10-06 16:28:31 +020068Ceilometer Graphite publisher
69
70.. code-block:: yaml
71
72 ceilometer:
73 server:
74 enabled: true
75 publisher:
76 graphite:
77 enabled: true
78 host: 10.0.0.1
79 port: 2003
80
81Ceilometer compute agent
82
83.. code-block:: yaml
84
85 ceilometer:
86 agent:
87 enabled: true
88 version: havana
89 secret: pwd
90 identity:
91 engine: keystone
92 host: 127.0.0.1
93 port: 35357
94 tenant: service
95 user: ceilometer
96 password: pwd
97 message_queue:
98 engine: rabbitmq
99 host: 127.0.0.1
100 port: 5672
101 user: openstack
102 password: pwd
103 virtual_host: '/openstack'
104 rabbit_ha_queues: true
105
106Read more
107=========
108
109* https://wiki.openstack.org/wiki/Ceilometer
110* http://docs.openstack.org/developer/ceilometer/install/manual.html
111* http://docs.openstack.org/developer/ceilometer/
112* https://fedoraproject.org/wiki/QA:Testcase_OpenStack_ceilometer_install
113* https://github.com/spilgames/ceilometer_graphite_publisher
114* http://engineering.spilgames.com/using-ceilometer-graphite/
115
116Things to improve/consider
117==========================
118
119* Graphite publisher http://engineering.spilgames.com/using-ceilometer-graphite/
Jakub Pavlikf1514c62016-05-20 11:04:39 +0200120* Juno additions - Split Events/Meters and Alarms databases, Polling angets are
121HA now, active/Activr Workload partitioning to central agents
122* Kilo additions - Splint Events - Meters - Agents, notification agents are HA
123now (everything is HA now), events - elastic search
Filip Pytlouna87b4712015-10-06 16:28:31 +0200124* User notifier publisher vs rpc publisher (Juno+)
125* Enable jittering (rendom delay) to polling. (Kilo+)
126* Collect what you need - pipeline.yaml, tweak polling interval (Icehouse+)
127* add more agents as load inceases (Juno+)
128* Avoid open-ended queries - query on a time range
129* Install api behind mod_wsgi, tweak wsgi daemon - threads and processes
130* Set TTL - expire data to minimise database size
131* Run Mongodb on separate node - use sharding and replica-sets
132
133Deployment scenarios
134--------------------
135
136* Lambda design - use short term and long term databases in the same time
137* Data segragation - separatem
138* JSON files - Apache spark
139* Fraud detection - proprietary alarming system
140* Custom consumers - kafka - Apache Storm (kilo+)
141* Debugging - Collecttions - Elastic serach - Kibana
142* Noisy services - Multiple notification buses
Jakub Pavlikf1514c62016-05-20 11:04:39 +0200143
144Documentation and Bugs
145============================
146
147To learn how to deploy OpenStack Salt, consult the documentation available
148online at:
149
150 https://wiki.openstack.org/wiki/OpenStackSalt
151
152In the unfortunate event that bugs are discovered, they should be reported to
153the appropriate bug tracker. If you obtained the software from a 3rd party
154operating system vendor, it is often wise to use their own bug tracker for
155reporting problems. In all other cases use the master OpenStack bug tracker,
156available at:
157
158 http://bugs.launchpad.net/openstack-salt
159
160Developers wishing to work on the OpenStack Salt project should always base
161their work on the latest formulas code, available from the master GIT
162repository at:
163
164 https://git.openstack.org/cgit/openstack/salt-formula-ceilometer
165
166Developers should also join the discussion on the IRC list, at:
167
168 https://wiki.openstack.org/wiki/Meetings/openstack-salt