Installing Manually¶
Storage Backend Installation¶
Gnocchi¶
Follow Gnocchi installation instructions
Initialize Gnocchi for Ceilometer:
$ gnocchi-upgrade --create-legacy-resource-types
Note
Prior to Gnocchi 2.1, Ceilometer resource types were included, therefore –create-legacy-resource-types flag is not needed.
Edit /etc/ceilometer/ceilometer.conf for the collector service:
[DEFAULT] meter_dispatchers = gnocchi event_dispatchers = gnocchi [dispatcher_gnocchi] filter_service_activity = False # Enable if using swift backend filter_project = <project name associated with gnocchi user> # if using swift backend [service_credentials] auth_url = <auth_url>:5000 region_name = RegionOne password = password username = ceilometer project_name = service project_domain_id = default user_domain_id = default auth_type = password
Copy gnocchi_resources.yaml to config directory (e.g./etc/ceilometer)
To minimize data requests, caching and batch processing should be enabled:
Enable resource caching (oslo.cache should be installed):
[cache] backend_argument = redis_expiration_time:600 backend_argument = db:0 backend_argument = distributed_lock:True backend_argument = url:redis://localhost:6379 backend = dogpile.cache.redis
Enable batch processing:
[notification] batch_size = 100 batch_timeout = 5
Start notification service
Installing the notification agent¶
Clone the ceilometer git repository to the management server:
$ cd /opt/stack $ git clone https://git.openstack.org/openstack/ceilometer.git
As a user with
root
permissions orsudo
privileges, run the ceilometer installer:$ cd ceilometer $ sudo python setup.py install
Generate configuration file:
$ tox -egenconfig
Copy the sample configuration files from the source tree to their final location:
$ mkdir -p /etc/ceilometer $ cp etc/ceilometer/*.yaml /etc/ceilometer $ cp etc/ceilometer/ceilometer.conf /etc/ceilometer
Edit
/etc/ceilometer/ceilometer.conf
Configure messaging:
[oslo_messaging_notifications] topics = notifications [oslo_messaging_rabbit] rabbit_userid = stackrabbit rabbit_password = openstack1 rabbit_hosts = 10.0.2.15
Set the
telemetry_secret
value.Set the
telemetry_secret
value to a large, random, value. Use the same value in all ceilometer configuration files, on all nodes, so that messages passing between the nodes can be validated. This value can be left empty to disable message signing.Note
Disabling signing will improve message handling performance
Refer to Configuration Options for details about any other options you might want to modify before starting the service.
Edit
/etc/ceilometer/ceilometer.conf
:Change publisher endpoints to expected targets. By default, it pushes to a metering.sample topic on the oslo.messaging queue. Available publishers are listed in Publishers section.
Start the notification daemon:
$ ceilometer-agent-notification
Note
The default development configuration of the notification logs to stderr, so you may want to run this step using a screen session or other tool for maintaining a long-running program in the background.
Installing the Polling Agent¶
Note
The polling agent needs to be able to talk to Keystone and any of the services being polled for updates. It also needs to run on your compute nodes to poll instances.
Clone the ceilometer git repository to the server:
$ cd /opt/stack $ git clone https://git.openstack.org/openstack/ceilometer.git
As a user with
root
permissions orsudo
privileges, run the ceilometer installer:$ cd ceilometer $ sudo python setup.py install
Generate configuration file:
$ tox -egenconfig
Copy the sample configuration files from the source tree to their final location:
$ mkdir -p /etc/ceilometer $ cp etc/ceilometer/*.yaml /etc/ceilometer $ cp etc/ceilometer/ceilometer.conf /etc/ceilometer/ceilometer.conf
Configure messaging by editing
/etc/ceilometer/ceilometer.conf
:[oslo_messaging_rabbit] rabbit_userid = stackrabbit rabbit_password = openstack1 rabbit_hosts = 10.0.2.15
In order to retrieve object store statistics, ceilometer needs access to swift with
ResellerAdmin
role. You should give this role to youros_username
user for tenantos_tenant_name
:$ openstack role create ResellerAdmin +-----------+----------------------------------+ | Field | Value | +-----------+----------------------------------+ | domain_id | None | | id | f5153dae801244e8bb4948f0a6fb73b7 | | name | ResellerAdmin | +-----------+----------------------------------+ $ openstack role add f5153dae801244e8bb4948f0a6fb73b7 \ --project $SERVICE_TENANT \ --user $CEILOMETER_USER
Start the agent:
$ ceilometer-polling
By default, the polling agent polls the compute and central namespaces. You can specify which namespace to poll in the ceilometer.conf configuration file or on the command line:
$ ceilometer-polling --polling-namespaces central,ipmi
Installing the API Server¶
Note
The Ceilometer’s API service is no longer supported. Data storage should be handled by a separate service such as Gnocchi.
Enabling Service Notifications¶
See the install guide for instructions on how to enable meters for specific OpenStack services.