Metadata-Version: 2.0
Name: python-watcher-metering
Version: 0.19.4.0b0
Summary: Metering library for Watcher
Home-page: http://factory.b-com.com/www/watcher/watcher/doc/build/html/
Author: Vincent FRANCOISE
Author-email: Vincent.FRANCOISE@b-com.com
License: UNKNOWN
Platform: UNKNOWN
Classifier: Environment :: OpenStack
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Requires-Dist: pbr
Requires-Dist: oslo.config
Requires-Dist: oslo.i18n
Requires-Dist: oslo.log
Requires-Dist: requests
Requires-Dist: python-keystoneclient
Requires-Dist: python-ceilometerclient
Requires-Dist: six
Requires-Dist: msgpack-python
Requires-Dist: nanomsg
Requires-Dist: stevedore
Requires-Dist: riemann-client
Requires-Dist: python-dateutil

================
Watcher Metering
================

Introduction
============

Watcher Metering collects system metrics and publishes them to a store.
To do so, it is composed of two elements:

- The ``Agent`` who collects the desired metrics and sends it to a publisher.
  The ``Agent`` is meant to run on each monitored host (container, VM, ...)
- The ``Publisher`` who gathers measurements from one or more agent and pushes
  them to the desired store. The currently supported stores are Riemann
  (for CEP) and Ceilometer.

This project is part of the Watcher_ project.

For more information on Watcher_, you can also refer to its OpenStack wiki_
page.

.. _Watcher: http://factory.b-com.com/www/watcher/watcher/doc/build/html/
.. _wiki: https://wiki.openstack.org/wiki/Watcher


Getting started
===============

**Installing Requirements Linux Ubuntu**

Linux Debian Procedure should work on Ubuntu and similar distributions:

You need to install the following packages:

.. code:: shell

    $ sudo apt-get update
    $ sudo apt-get install build-essential python-dev autoconf libtool unzip wget


Moreover, this package uses nanomsg_ and nanoconfig_ as socket library.
As no official ``Debian`` nor ``RedHat`` package has been released yet, these
two have to be compiled from the sources.

.. _nanomsg: https://github.com/nanomsg/nanomsg
.. _nanoconfig: https://github.com/nanomsg/nanoconfig


**Installing nanomsg**

.. code:: shell

    $ wget https://github.com/nanomsg/nanomsg/archive/0.6-beta.zip
    $ unzip 0.6-beta.zip
    $ cd nanomsg-0.6-beta
    $ ./autogen.sh
    $ ./configure
    $ make -j8
    $ sudo make install
    $ sudo ldconfig /usr/local/lib

Please also refer the instructions available on their ``README`` files.


**Installing nanoconfig**

.. code:: shell

    $ wget https://github.com/nanomsg/nanoconfig/archive/master.zip
    $ unzip master.zip
    $ cd nanomsg-master
    $ cmake .
    $ make
    $ sudo make install
    $ sudo ldconfig /usr/local/lib

Please also refer the instructions available on their ``README`` files.


Configuration
=============

**Agent**

The ``Agent`` configuration file sample, which is located at
``$(PROJECT_DIR)/etc/watcher-metering/agent.conf`` (where ``PROJECT_DIR`` is
the root folder of this project) contains all the explanations for each of its
field. Please refer to these notes to fully understand the role of each one of
them.

To run the agent you can use the following command:

.. code-block:: shell

    $ watcher-metering-agent --config-file=/etc/watcher-metering/agent.conf

Or even:

.. code-block:: shell

    $ watcher-metering-agent --config-dir=/etc/watcher-metering

This alternative will automatically take into account any other file containing
some configuration related to the agent (useful for dynamically including
third-party driver configuration).

But if you want to learn more about all the options this command provides you
can still use the following to access its documentation:

.. code-block:: shell

    $ watcher-metering-agent --help

**Publisher**

The ``Publisher`` configuration file (located at
``/etc/watcher-metering/publisher.conf``) contains all the explanations for
each of its field. Please refer to these notes to fully understand the role
of each one of them.

To run the publisher you can use the following command:

.. code-block:: shell

    $ watcher-metering-publisher \
        --config-file=/etc/watcher-metering/publisher.conf

Or even:

.. code-block:: shell

    $ watcher-metering-publisher --config-dir=/etc/watcher-metering

This alternative will automatically take into account any other file containing
some configuration related to the publisher (useful for dynamically including
third-party driver configuration).

But if you want to learn more about all the options this command provides you
can still use the following to access its documentation:

.. code-block:: shell

    $ watcher-metering-publisher --help



