==================
Ceilometer Formula
==================

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 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
==============

Ceilometer API/controller node
------------------------------

.. code-block:: yaml

    ceilometer:
      server:
        enabled: true
        version: mitaka
        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'

Enable CORS parameters
------------------------------

.. code-block:: yaml

    ceilometer:
      server:
        cors:
          allowed_origin: https:localhost.local,http:localhost.local
          expose_headers: X-Auth-Token,X-Openstack-Request-Id,X-Subject-Token
          allow_methods: GET,PUT,POST,DELETE,PATCH
          allow_headers: X-Auth-Token,X-Openstack-Request-Id,X-Subject-Token
          allow_credentials: True
          max_age: 86400


Configuration of policy.json file
---------------------------------

.. code-block:: yaml

    ceilometer:
      server:
        ....
        policy:
          segregation: 'rule:context_is_admin'
          # Add key without value to remove line from policy.json
          'telemetry:get_resource':

Databases configuration
-----------------------

MongoDB example:
~~~~~~~~~~~~~~~~

.. code-block:: yaml

    ceilometer:
      server:
        database:
          engine: mongodb
          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: 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
-----------------------------

.. code-block:: yaml

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


Ceilometer Graphite publisher
-----------------------------

.. code-block:: yaml

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

Ceilometer compute agent
------------------------

.. code-block:: yaml

    ceilometer:
      agent:
        enabled: true
        version: mitaka
        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


Ceilometer instance discovery method
------------------------------------

.. code-block:: yaml

    ceilometer:
      agent:
        ...
        discovery_method: naive


Keystone auth caching
---------------------

.. code-block:: yaml

    ceilometer:
      server:
        cache:
          members:
            - host: 10.10.10.10
              port: 11211
            - host: 10.10.10.11
              port: 11211
            - host: 10.10.10.12
              port: 11211
      agent:
        cache:
          members:
            - host: 10.10.10.10
              port: 11211
            - host: 10.10.10.11
              port: 11211
            - host: 10.10.10.12
              port: 11211

Enhanced logging with logging.conf
----------------------------------

By default logging.conf is disabled.

That is possible to enable per-binary logging.conf with new variables:
  * openstack_log_appender - set it to true to enable log_config_append for all OpenStack services;
  * openstack_fluentd_handler_enabled - set to true to enable FluentHandler for all Openstack services.
  * openstack_ossyslog_handler_enabled - set to true to enable OSSysLogHandler for all Openstack services.

Only WatchedFileHandler, OSSysLogHandler and FluentHandler are available.

Also it is possible to configure this with pillar:

.. code-block:: yaml

  ceilometer:
    server:
      logging:
        log_appender: true
        log_handlers:
          watchedfile:
            enabled: true
          fluentd:
            enabled: true
          ossyslog:
            enabled: true

    agent:
      logging:
        log_appender: true
        log_handlers:
          watchedfile:
            enabled: true
          fluentd:
            enabled: true
          ossyslog:
            enabled: true


More Information
================

* https://wiki.openstack.org/wiki/Ceilometer
* http://docs.openstack.org/developer/ceilometer/install/manual.html
* http://docs.openstack.org/developer/ceilometer/
* https://fedoraproject.org/wiki/QA:Testcase_OpenStack_ceilometer_install
* https://github.com/spilgames/ceilometer_graphite_publisher
* http://engineering.spilgames.com/using-ceilometer-graphite/


Documentation and Bugs
======================

To learn how to install and update salt-formulas, consult the documentation
available online at:

    http://salt-formulas.readthedocs.io/

In the unfortunate event that bugs are discovered, they should be reported to
the appropriate issue tracker. Use Github issue tracker for specific salt
formula:

    https://github.com/salt-formulas/salt-formula-ceilometer/issues

For feature requests, bug reports or blueprints affecting entire ecosystem,
use Launchpad salt-formulas project:

    https://launchpad.net/salt-formulas

You can also join salt-formulas-users team and subscribe to mailing list:

    https://launchpad.net/~salt-formulas-users

Developers wishing to work on the salt-formulas projects should always base
their work on master branch and submit pull request against specific formula.

    https://github.com/salt-formulas/salt-formula-ceilometer

Any questions or feedback is always welcome so feel free to join our IRC
channel:

    #salt-formulas @ irc.freenode.net
