
Update the instructions for installing ceilometer by hand instead of using devstack. bug 1070404 bug 1071494 Change-Id: I617e0467b40f218e5811da7b39db76c6eb466da6 Signed-off-by: Doug Hellmann <doug.hellmann@dreamhost.com>
12 KiB
Install
Installing and Running the Development Version
Ceilometer has four daemons. The compute agent
runs on the Nova compute node(s) while
the central agent
and
collector
run on the
cloud's management node(s). In a development environment created by devstack, these two are typically
the same server. They do not have to be, though, so some of the
instructions below are duplicated. Skip the steps you have already
done.
Configuring Devstack
double: installing; devstack
- Create a
localrc
file as input to devstack. - Ceilometer makes extensive use of the messaging bus, but has not yet been tested with ZeroMQ. We recommend using Rabbit or qpid for now.
- Nova does not generate the periodic notifications for all known
instances by default. To enable these auditing events, set
instance_usage_audit
to true in the nova configuration file. - The ceilometer services are not enabled by default, so they must be
enabled in
localrc
before runningstack.sh
.
This example localrc
file shows all of the settings
required for ceilometer:
# Enable the ceilometer services
enable_service ceilometer-acompute,ceilometer-acentral,ceilometer-collector,ceilometer-api
Installing Manually
Installing the Collector
double: installing; collector
If you want to be able to retrieve image counters, you need to instruct Glance to send notifications to the bus by changing
notifier_strategy
torabbit
orqpid
inglance-api.conf
and restarting the service.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
:$ keystone role-create --name=ResellerAdmin +----------+----------------------------------+ | Property | Value | +----------+----------------------------------+ | id | 462fa46c13fd4798a95a3bfbe27b5e54 | | name | ResellerAdmin | +----------+----------------------------------+ $ keystone user-role-add --tenant_id $SERVICE_TENANT \ --user_id $CEILOMETER_USER \ --role_id 462fa46c13fd4798a95a3bfbe27b5e54
You'll also need to add the Ceilometer middleware to Swift to account for incoming and outgoing traffic, adding this lines to
/etc/swift/proxy-server.conf
:[filter:ceilometer] use = egg:ceilometer#swift
And adding
ceilometer
in thepipeline
of that same file.Install MongoDB.
Follow the instructions to install the MongoDB package for your operating system, then start the service.
Clone the ceilometer git repository to the management server:
$ cd /opt/stack $ git clone https://github.com/openstack/ceilometer.git
As a user with
root
permissions orsudo
privileges, run the ceilometer installer:$ cd ceilometer $ sudo python setup.py install
Copy the sample configuration files from the source tree to their final location.
$ mkdir -p /etc/ceilometer $ cp etc/ceilometer/*.json /etc/ceilometer $ cp etc/ceilometer/*.yaml /etc/ceilometer $ cp etc/ceilometer/ceilometer.conf.sample /etc/ceilometer/ceilometer.conf
Edit
/etc/ceilometer/ceilometer.conf
Configure RPC
Set the RPC-related options correctly so ceilometer's daemons can communicate with each other and receive notifications from the other projects.
In particular, look for the
*_control_exchange
options and make sure the names are correct. If you did not change thecontrol_exchange
settings for the other components, the defaults should be correct.Note
Ceilometer makes extensive use of the messaging bus, but has not yet been tested with ZeroMQ. We recommend using Rabbit or qpid for now.
Set the
metering_secret
value.Set the
metering_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.
Refer to
configuration
for details about any other options you might want to modify before starting the service.Start the collector.
$ ./bin/ceilometer-collector
Note
The default development configuration of the collector 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 Compute Agent
double: installing; compute agent
Note
The compute agent must be installed on each nova compute node.
Configure nova.
The
nova
compute service needs the following configuration to be set innova.conf
:# nova-compute configuration for ceilometer instance_usage_audit=True instance_usage_audit_period=hour notification_driver=nova.openstack.common.notifier.rpc_notifier notification_driver=ceilometer.compute.nova_notifier
Clone the ceilometer git repository to the server:
$ cd /opt/stack $ git clone https://github.com/openstack/ceilometer.git
As a user with
root
permissions orsudo
privileges, run the ceilometer installer:$ cd ceilometer $ sudo python setup.py install
Copy the sample configuration files from the source tree to their final location.
$ mkdir -p /etc/ceilometer $ cp etc/ceilometer/*.json /etc/ceilometer $ cp etc/ceilometer/*.yaml /etc/ceilometer $ cp etc/ceilometer/ceilometer.conf.sample /etc/ceilometer/ceilometer.conf
Edit
/etc/ceilometer/ceilometer.conf
Configure RPC
Set the RPC-related options correctly so ceilometer's daemons can communicate with each other and receive notifications from the other projects.
In particular, look for the
*_control_exchange
options and make sure the names are correct. If you did not change thecontrol_exchange
settings for the other components, the defaults should be correct.Note
Ceilometer makes extensive use of the messaging bus, but has not yet been tested with ZeroMQ. We recommend using Rabbit or qpid for now.
Set the
metering_secret
value.Set the
metering_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.
Refer to
configuration
for details about any other options you might want to modify before starting the service.Start the agent.
$ ./bin/ceilometer-agent-compute
Note
The default development configuration of the agent 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 Central Agent
double: installing; agent
Note
The central agent needs to be able to talk to keystone and any of the services being polled for updates.
Clone the ceilometer git repository to the server:
$ cd /opt/stack $ git clone https://github.com/openstack/ceilometer.git
As a user with
root
permissions orsudo
privileges, run the ceilometer installer:$ cd ceilometer $ sudo python setup.py install
Copy the sample configuration files from the source tree to their final location.
$ mkdir -p /etc/ceilometer $ cp etc/ceilometer/*.json /etc/ceilometer $ cp etc/ceilometer/*.yaml /etc/ceilometer $ cp etc/ceilometer/ceilometer.conf.sample /etc/ceilometer/ceilometer.conf
Edit
/etc/ceilometer/ceilometer.conf
Configure RPC
Set the RPC-related options correctly so ceilometer's daemons can communicate with each other and receive notifications from the other projects.
In particular, look for the
*_control_exchange
options and make sure the names are correct. If you did not change thecontrol_exchange
settings for the other components, the defaults should be correct.Note
Ceilometer makes extensive use of the messaging bus, but has not yet been tested with ZeroMQ. We recommend using Rabbit or qpid for now.
Set the
metering_secret
value.Set the
metering_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.
Refer to
configuration
for details about any other options you might want to modify before starting the service.Start the agent
$ ./bin/ceilometer-agent-central
Installing the API Server
double: installing; API
Note
The API server needs to be able to talk to keystone and ceilometer's database.
Clone the ceilometer git repository to the server:
$ cd /opt/stack $ git clone https://github.com/openstack/ceilometer.git
As a user with
root
permissions orsudo
privileges, run the ceilometer installer:$ cd ceilometer $ sudo python setup.py install
Copy the sample configuration files from the source tree to their final location.
$ mkdir -p /etc/ceilometer $ cp etc/ceilometer/*.json /etc/ceilometer $ cp etc/ceilometer/*.yaml /etc/ceilometer $ cp etc/ceilometer/ceilometer.conf.sample /etc/ceilometer/ceilometer.conf
Edit
/etc/ceilometer/ceilometer.conf
Configure RPC
Set the RPC-related options correctly so ceilometer's daemons can communicate with each other and receive notifications from the other projects.
In particular, look for the
*_control_exchange
options and make sure the names are correct. If you did not change thecontrol_exchange
settings for the other components, the defaults should be correct.Note
Ceilometer makes extensive use of the messaging bus, but has not yet been tested with ZeroMQ. We recommend using Rabbit or qpid for now.
Refer to
configuration
for details about any other options you might want to modify before starting the service.Start the API server.
$ ./bin/ceilometer-api
Note
The development version of the API server 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.