| Filip Pytloun | a87b471 | 2015-10-06 16:28:31 +0200 | [diff] [blame] | 1 |  | 
 | 2 | ========== | 
 | 3 | Ceilometer | 
 | 4 | ========== | 
 | 5 |  | 
| Jakub Pavlik | f1514c6 | 2016-05-20 11:04:39 +0200 | [diff] [blame] | 6 | The ceilometer project aims to deliver a unique point of contact for billing | 
 | 7 | systems to acquire all of the measurements they need to establish customer | 
 | 8 | billing, across all current OpenStack core components with work underway to | 
 | 9 | support future OpenStack components. | 
| Filip Pytloun | a87b471 | 2015-10-06 16:28:31 +0200 | [diff] [blame] | 10 |  | 
 | 11 | Sample pillars | 
 | 12 | ============== | 
 | 13 |  | 
 | 14 | Ceilometer 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 Pytloun | a87b471 | 2015-10-06 16:28:31 +0200 | [diff] [blame] | 41 |         database: | 
 | 42 |           engine: mongodb | 
 | 43 |           host: 127.0.0.1 | 
 | 44 |           port: 27017 | 
 | 45 |           name: ceilometer | 
 | 46 |           user: ceilometer | 
 | 47 |           password: pwd | 
 | 48 |  | 
| smolaon | d0d14d2 | 2016-05-31 10:30:15 +0200 | [diff] [blame] | 49 | Client-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 Pytloun | a87b471 | 2015-10-06 16:28:31 +0200 | [diff] [blame] | 68 | Ceilometer 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 |  | 
 | 81 | Ceilometer 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 |  | 
 | 106 | Read 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 |  | 
 | 116 | Things to improve/consider | 
 | 117 | ========================== | 
 | 118 |  | 
 | 119 | * Graphite publisher http://engineering.spilgames.com/using-ceilometer-graphite/ | 
| Jakub Pavlik | f1514c6 | 2016-05-20 11:04:39 +0200 | [diff] [blame] | 120 | * Juno additions - Split Events/Meters and Alarms databases, Polling angets are | 
 | 121 | HA now, active/Activr Workload partitioning to central agents | 
 | 122 | * Kilo additions - Splint Events - Meters - Agents, notification agents are HA | 
 | 123 | now (everything is HA now), events - elastic search | 
| Filip Pytloun | a87b471 | 2015-10-06 16:28:31 +0200 | [diff] [blame] | 124 | * 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 |  | 
 | 133 | Deployment 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 Pavlik | f1514c6 | 2016-05-20 11:04:39 +0200 | [diff] [blame] | 143 |  | 
 | 144 | Documentation and Bugs | 
 | 145 | ============================ | 
 | 146 |  | 
 | 147 | To learn how to deploy OpenStack Salt, consult the documentation available | 
 | 148 | online at: | 
 | 149 |  | 
 | 150 |     https://wiki.openstack.org/wiki/OpenStackSalt | 
 | 151 |  | 
 | 152 | In the unfortunate event that bugs are discovered, they should be reported to | 
 | 153 | the appropriate bug tracker. If you obtained the software from a 3rd party | 
 | 154 | operating system vendor, it is often wise to use their own bug tracker for | 
 | 155 | reporting problems. In all other cases use the master OpenStack bug tracker, | 
 | 156 | available at: | 
 | 157 |  | 
 | 158 |     http://bugs.launchpad.net/openstack-salt | 
 | 159 |  | 
 | 160 | Developers wishing to work on the OpenStack Salt project should always base | 
 | 161 | their work on the latest formulas code, available from the master GIT | 
 | 162 | repository at: | 
 | 163 |  | 
 | 164 |     https://git.openstack.org/cgit/openstack/salt-formula-ceilometer | 
 | 165 |  | 
 | 166 | Developers should also join the discussion on the IRC list, at: | 
 | 167 |  | 
 | 168 |     https://wiki.openstack.org/wiki/Meetings/openstack-salt |