OpenStack Telemetry (Ceilometer)
Go to file
Rafael Weingärtner 7bff46921e Create dynamic pollster feature
The dynamic pollster feature allows system administrators to
create/update pollsters on the fly (without changing code). The system
reads YAML configures that are found in ``pollsters_definitions_dirs``,
which has the default at ``/etc/ceilometer/pollsters.d``. Each YAML file
in the dynamic pollster feature can use the following attributes to
define a dynamic pollster:

* ``name`` -- mandatory field. It specifies the name/key of the dynamic
pollster. For instance, a pollster for magnum can use the name
``dynamic.magnum.cluster``;
* ``sample_type``: mandatory field; it defines the sample type. It must
be one of the values: ``gauge``, ``delta``, ``cumulative``;
* ``unit``: mandatory field; defines the unit of the metric that is
being collected. For magnum, for instance, one can use ``cluster`` as
the unit or some other meaningful String value;
* ``value_attribute``: mandatory attribute; defines the attribute in the
JSON response from the URL of the component being polled. In our magnum
example, we can use ``status`` as the value attribute;
* ``endpoint_type``: mandatory field; defines the endpoint type that is
used to discover the base URL of the component to be monitored; for
magnum, one can use ``container-infra``. Other values are accepted such
as ``volume`` for cinder endpoints, ``object-store`` for swift, and so
on;
* ``url_path``: mandatory attribute. It defines the path of the request
that we execute on the endpoint to gather data. For example, to gather
data from magnum, one can use ``v1/clusters/detail``;
* ``metadata_fields``: optional field. It is a list of all fields that
the response of the request executed with ``url_path`` that we want to
retrieve. As an example, for magnum, one can use the following values:
```
  metadata_fields:
    - "labels"
    - "updated_at"
    - "keypair"
    - "master_flavor_id"
    - "api_address"
    - "master_addresses"
    - "node_count"
    - "docker_volume_size"
    - "master_count"
    - "node_addresses"
    - "status_reason"
    - "coe_version"
    - "cluster_template_id"
    - "name"
    - "stack_id"
    - "created_at"
    - "discovery_url"
    - "container_version"
```
* ``skip_sample_values``: optional field. It defines the values that
might come in the ``value_attribute`` that we want to ignore. For
magnun, one could for instance, ignore some of the status it has for
clusters. Therefore, data is not gathered for clusters in the defined
status.
```
  skip_sample_values:
    - "CREATE_FAILED"
    - "DELETE_FAILED"
```
* ``value_mapping``: optional attribute. It defines a mapping for the
values that the dynamic pollster is handling. This is the actual value
that is sent to Gnocchi or other backends. If there is no mapping
specified, we will use the raw value that is obtained with the use of
``value_attribute``. An example for magnum, one can use:
```
  value_mapping:
    CREATE_IN_PROGRESS: "0"
    CREATE_FAILED: "1"
    CREATE_COMPLETE: "2"
    UPDATE_IN_PROGRESS: "3"
    UPDATE_FAILED: "4"
    UPDATE_COMPLETE: "5"
    DELETE_IN_PROGRESS: "6"
    DELETE_FAILED: "7"
    DELETE_COMPLETE: "8"
    RESUME_COMPLETE: "9"
    RESUME_FAILED: "10"
    RESTORE_COMPLETE: "11"
    ROLLBACK_IN_PROGRESS: "12"
    ROLLBACK_FAILED: "13"
    ROLLBACK_COMPLETE: "14"
    SNAPSHOT_COMPLETE: "15"
    CHECK_COMPLETE: "16"
    ADOPT_COMPLETE: "17"
```
* ``default_value_mapping``: optional parameter. The default value for
the value mapping in case the variable value receives data that is not
mapped to something in the ``value_mapping`` configuration. This
attribute is only used when ``value_mapping`` is defined. Moreover, it
has a default of ``-1``.

Change-Id: I5f0614518a9e304b86b74aa5bb0f9667d2a3a787
Signed-off-by: Rafael Weingärtner <rafael@apache.org>
2019-10-23 16:01:55 -03:00
ceilometer Create dynamic pollster feature 2019-10-23 16:01:55 -03:00
devstack Merge "Remove _ceilometer_check_for_storage check" 2019-04-25 04:07:47 +00:00
doc Create dynamic pollster feature 2019-10-23 16:01:55 -03:00
etc/ceilometer Switch to oslo privsep 2019-04-28 11:09:05 +08:00
playbooks/legacy/grenade-dsvm-ceilometer OpenDev Migration Patch 2019-04-19 19:31:12 +00:00
releasenotes Create dynamic pollster feature 2019-10-23 16:01:55 -03:00
tools Migrate to stestr for running tests 2018-07-30 10:37:34 +02:00
.coveragerc Change ignore-errors to ignore_errors 2015-09-21 14:24:58 +00:00
.gitignore Create dynamic pollster feature 2019-10-23 16:01:55 -03:00
.gitreview OpenDev Migration Patch 2019-04-19 19:31:12 +00:00
.mailmap add mailmap to avoid dup of authors 2014-10-09 10:31:23 +03:00
.stestr.conf Migrate to stestr for running tests 2018-07-30 10:37:34 +02:00
.zuul.yaml Update Python 3 test runtimes for Train 2019-05-09 17:35:02 +08:00
CONTRIBUTING.rst Optimize the link address 2017-04-08 17:15:28 +08:00
HACKING.rst Update URL home-page in documents according to document migration 2017-07-14 16:15:14 +00:00
LICENSE include a copy of the ASL 2.0 2013-03-15 14:25:48 +00:00
MAINTAINERS Remove liusheng and llu from the maintainers 2018-04-12 10:58:24 +02:00
README.rst modify the mail list address 2019-01-02 19:24:45 +08:00
babel.cfg Ground work for transifex-ify ceilometer. 2012-12-18 10:14:03 +08:00
bindep.txt Add gating on py37 2018-07-26 07:07:39 +02:00
lower-constraints.txt Switch to oslo privsep 2019-04-28 11:09:05 +08:00
requirements.txt Add framework for ceilometer-status upgrade check 2019-05-16 11:13:43 +08:00
setup.cfg Add framework for ceilometer-status upgrade check 2019-05-16 11:13:43 +08:00
setup.py Updated from global requirements 2015-09-17 16:37:39 +00:00
test-requirements.txt Add lower-constraints job 2019-04-25 10:09:04 +08:00
tox.ini Add lower-constraints job 2019-04-25 10:09:04 +08:00

README.rst

Ceilometer

Overview

Ceilometer is a data collection service that collects event and metering data by monitoring notifications sent from OpenStack services. It publishes collected data to various targets including data stores and message queues.

Ceilometer is distributed under the terms of the Apache License, Version 2.0. The full terms and conditions of this license are detailed in the LICENSE file.

Documentation

Release notes are available at https://releases.openstack.org/teams/telemetry.html

Developer documentation is available at https://docs.openstack.org/ceilometer/latest/

Launchpad Projects

Code Repository

Bug Tracking

IRC

IRC Channel: #openstack-telemetry on Freenode.

Mailinglist

Project use http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-discuss as the mailinglist. Please use tag [Ceilometer] in the subject for new threads.