RETIRED, Ceilometer salt formula
Go to file
Ilya Tyaptin 7765651f4e [WIP] Add installation of python-influxdb package from source
Change-Id: Iedb95e7e8c4bc7a366b527dba05d7b793ed33ab8
2016-12-06 19:51:46 +04:00
ceilometer [WIP] Add installation of python-influxdb package from source 2016-12-06 19:51:46 +04:00
doc/source Add doc dir 2016-01-26 11:58:53 +01:00
metadata/service [RabbitMQ] Parameterized message queue hosts to enable client-side HA. 2016-05-31 10:38:09 +02:00
tests Add support of Mitaka Ceilometer 2016-12-01 18:32:14 +03:00
.gitignore add tests 2016-01-25 22:43:45 +01:00
.gitreview License and links fixes 2016-02-04 14:27:54 +01:00
bindep.txt Move other-requirements.txt to bindep.txt 2016-08-12 21:15:21 +02:00
CHANGELOG.rst New release, debian packaging moved 2016-04-15 16:20:40 +02:00
FORMULA SPM packaging metadata 2016-06-15 18:44:17 +02:00
LICENSE License and links fixes 2016-02-04 14:27:54 +01:00
Makefile Add makefile, run tests during package build 2016-04-14 16:43:03 +02:00
metadata.yml Fix version in metadata.yml 2016-04-19 09:12:52 +02:00
README.rst [RabbitMQ] Parameterized message queue hosts to enable client-side HA. 2016-05-31 10:38:09 +02:00
VERSION New release, debian packaging moved 2016-04-15 16:20:40 +02:00

Ceilometer

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 support future OpenStack components.

Sample pillars

Ceilometer API/controller node

ceilometer:
  server:
    enabled: true
    version: havana
    cluster: true
    secret: pwd
    bind:
      host: 127.0.0.1
      port: 8777
    identity:
      engine: keystone
      host: 127.0.0.1
      port: 35357
      tenant: service
      user: ceilometer
      password: pwd
    message_queue:
      engine: rabbitmq
      host: 127.0.0.1
      port: 5672
      user: openstack
      password: pwd
      virtual_host: '/openstack'
    database:
      engine: mongodb
      host: 127.0.0.1
      port: 27017
      name: ceilometer
      user: ceilometer
      password: pwd

Client-side RabbitMQ HA setup

ceilometer:
  server:
    ....
    message_queue:
      engine: rabbitmq
      members:
      - host: 127.0.0.1
      - host: 127.0.0.1
      - host: 127.0.0.1
      user: openstack
      password: pwd
      virtual_host: '/openstack'
   ....

Ceilometer Graphite publisher

ceilometer:
  server:
    enabled: true
    publisher:
      graphite:
        enabled: true
        host: 10.0.0.1
        port: 2003

Ceilometer compute agent

ceilometer:
  agent:
    enabled: true
    version: havana
    secret: pwd
    identity:
      engine: keystone
      host: 127.0.0.1
      port: 35357
      tenant: service
      user: ceilometer
      password: pwd
    message_queue:
      engine: rabbitmq
      host: 127.0.0.1
      port: 5672
      user: openstack
      password: pwd
      virtual_host: '/openstack'
      rabbit_ha_queues: true

Read more

Things to improve/consider

* Juno additions - Split Events/Meters and Alarms databases, Polling angets are HA now, active/Activr Workload partitioning to central agents * Kilo additions - Splint Events - Meters - Agents, notification agents are HA now (everything is HA now), events - elastic search * User notifier publisher vs rpc publisher (Juno+) * Enable jittering (rendom delay) to polling. (Kilo+) * Collect what you need - pipeline.yaml, tweak polling interval (Icehouse+) * add more agents as load inceases (Juno+) * Avoid open-ended queries - query on a time range * Install api behind mod_wsgi, tweak wsgi daemon - threads and processes * Set TTL - expire data to minimise database size * Run Mongodb on separate node - use sharding and replica-sets

Deployment scenarios

  • Lambda design - use short term and long term databases in the same time
  • Data segragation - separatem
  • JSON files - Apache spark
  • Fraud detection - proprietary alarming system
  • Custom consumers - kafka - Apache Storm (kilo+)
  • Debugging - Collecttions - Elastic serach - Kibana
  • Noisy services - Multiple notification buses

Documentation and Bugs

To learn how to deploy OpenStack Salt, consult the documentation available online at:

https://wiki.openstack.org/wiki/OpenStackSalt

In the unfortunate event that bugs are discovered, they should be reported to the appropriate bug tracker. If you obtained the software from a 3rd party operating system vendor, it is often wise to use their own bug tracker for reporting problems. In all other cases use the master OpenStack bug tracker, available at:

http://bugs.launchpad.net/openstack-salt

Developers wishing to work on the OpenStack Salt project should always base their work on the latest formulas code, available from the master GIT repository at:

https://git.openstack.org/cgit/openstack/salt-formula-ceilometer

Developers should also join the discussion on the IRC list, at:

https://wiki.openstack.org/wiki/Meetings/openstack-salt