<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.define-technology.com/mediawiki-1.35.0/index.php?action=history&amp;feed=atom&amp;title=OpenStack%3A_Implementing_the_Ceilometer_Metering_Service</id>
	<title>OpenStack: Implementing the Ceilometer Metering Service - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.define-technology.com/mediawiki-1.35.0/index.php?action=history&amp;feed=atom&amp;title=OpenStack%3A_Implementing_the_Ceilometer_Metering_Service"/>
	<link rel="alternate" type="text/html" href="http://wiki.define-technology.com/mediawiki-1.35.0/index.php?title=OpenStack:_Implementing_the_Ceilometer_Metering_Service&amp;action=history"/>
	<updated>2026-05-04T22:47:25Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.0</generator>
	<entry>
		<id>http://wiki.define-technology.com/mediawiki-1.35.0/index.php?title=OpenStack:_Implementing_the_Ceilometer_Metering_Service&amp;diff=7471&amp;oldid=prev</id>
		<title>Jon: Created page with &quot;* Install &lt;syntaxhighlight&gt; [root@server2-a ~]# yum -y install *ceilometer* mongodb-server mongodb &lt;syntaxhighlight&gt;  * Prepare &#039;&#039;&#039;mongodb-server&#039;&#039;&#039; for use with Ceilometer. Add/edit the following ...&quot;</title>
		<link rel="alternate" type="text/html" href="http://wiki.define-technology.com/mediawiki-1.35.0/index.php?title=OpenStack:_Implementing_the_Ceilometer_Metering_Service&amp;diff=7471&amp;oldid=prev"/>
		<updated>2015-04-30T10:39:01Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;* Install &amp;lt;syntaxhighlight&amp;gt; [root@server2-a ~]# yum -y install *ceilometer* mongodb-server mongodb &amp;lt;syntaxhighlight&amp;gt;  * Prepare &amp;#039;&amp;#039;&amp;#039;mongodb-server&amp;#039;&amp;#039;&amp;#039; for use with Ceilometer. Add/edit the following ...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;* Install&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
[root@server2-a ~]# yum -y install *ceilometer* mongodb-server mongodb&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Prepare &amp;#039;&amp;#039;&amp;#039;mongodb-server&amp;#039;&amp;#039;&amp;#039; for use with Ceilometer. Add/edit the following line in &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;/etc/sysconfig/mongod&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
OPTIONS=&amp;quot;--smallfiles --quiet -f /etc/mongodb.conf&amp;quot;&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Edit &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;/etc/mongodb.conf&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;. Replace &amp;#039;&amp;#039;&amp;#039;bind_ip&amp;#039;&amp;#039;&amp;#039; value with server2-a IP address:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
bind_ip = 172.25.2.10&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Start mongodb:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
[root@server2-a ~]# systemctl start mongod&lt;br /&gt;
[root@server2-a ~]# systemctl enable mongod&lt;br /&gt;
ln -s &amp;#039;/usr/lib/systemd/system/mongod.service&amp;#039; &amp;#039;/etc/systemd/system/multi-user.target.wants/mongod.service&amp;#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Connect to the mongodb database and create the &amp;#039;&amp;#039;&amp;#039;ceilometer&amp;#039;&amp;#039;&amp;#039; database and the &amp;#039;&amp;#039;&amp;#039;ceilometer&amp;#039;&amp;#039;&amp;#039; user:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
[root@server2-a ~]# mongo 172.25.2.10&lt;br /&gt;
MongoDB shell version: 2.4.9&lt;br /&gt;
connecting to: 172.25.2.10/test&lt;br /&gt;
Welcome to the MongoDB shell.&lt;br /&gt;
For interactive help, type &amp;quot;help&amp;quot;.&lt;br /&gt;
&amp;gt; use ceilometer;&lt;br /&gt;
switched to db ceilometer&lt;br /&gt;
&amp;gt; db.addUser({user: &amp;quot;ceilometer&amp;quot;, pwd: &amp;quot;redhat&amp;quot;, roles: [ &amp;quot;readWrite&amp;quot;, &amp;quot;dbAdmin&amp;quot; ]})&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;user&amp;quot; : &amp;quot;ceilometer&amp;quot;,&lt;br /&gt;
	&amp;quot;pwd&amp;quot; : &amp;quot;ded81a60f1f2adc0d4266ed8f1d31709&amp;quot;,&lt;br /&gt;
	&amp;quot;roles&amp;quot; : [&lt;br /&gt;
		&amp;quot;readWrite&amp;quot;,&lt;br /&gt;
		&amp;quot;dbAdmin&amp;quot;&lt;br /&gt;
	],&lt;br /&gt;
	&amp;quot;_id&amp;quot; : ObjectId(&amp;quot;5541ff6f607ca12c91f987d8&amp;quot;)&lt;br /&gt;
}&lt;br /&gt;
&amp;gt; exit&lt;br /&gt;
bye&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Backup files:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
[root@server2-a ~]# cp /etc/ceilometer/ceilometer.conf /etc/ceilometer/ceilometer.conf.orig&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Update the database connection setting in &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;/etc/ceilometer/ceilometer.conf&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
[root@server2-a ~]# crudini --set /etc/ceilometer/ceilometer.conf database connection mongodb://ceilometer:redhat@172.25.2.10:27017/ceilometer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Use &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;openssl&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; to generate a token to use as the &amp;#039;&amp;#039;&amp;#039;metering_secret&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
[root@server2-a ~]# export TOKEN=`openssl rand -hex 10`&lt;br /&gt;
[root@server2-a ~]# crudini --set /etc/ceilometer/ceilometer.conf publisher metering_secret $TOKEN&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Configure Keystone authentication:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
[root@server2-a ~]# crudini --set /etc/ceilometer/ceilometer.conf keystone_authtoken auth_host 172.25.2.10&lt;br /&gt;
[root@server2-a ~]# crudini --set /etc/ceilometer/ceilometer.conf keystone_authtoken auth_port 35357&lt;br /&gt;
[root@server2-a ~]# crudini --set /etc/ceilometer/ceilometer.conf keystone_authtoken auth_protocol http&lt;br /&gt;
[root@server2-a ~]# crudini --set /etc/ceilometer/ceilometer.conf keystone_authtoken admin_tenant_name services&lt;br /&gt;
[root@server2-a ~]# crudini --set /etc/ceilometer/ceilometer.conf keystone_authtoken admin_user ceilometer&lt;br /&gt;
[root@server2-a ~]# crudini --set /etc/ceilometer/ceilometer.conf keystone_authtoken admin_password redhat&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Add the AMQP server so Ceilometer can gather telemetry:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
[root@server2-a ~]# crudini --set /etc/ceilometer/ceilometer.conf DEFAULT rabbit_host 172.25.2.10&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Also set service credentials:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
[root@server2-a ~]# crudini --set /etc/ceilometer/ceilometer.conf service_credentials os_auth_url http://172.25.2.10:35357/v2.0&lt;br /&gt;
[root@server2-a ~]# crudini --set /etc/ceilometer/ceilometer.conf service_credentials os_tenant_name services&lt;br /&gt;
[root@server2-a ~]# crudini --set /etc/ceilometer/ceilometer.conf service_credentials os_username ceilometer&lt;br /&gt;
[root@server2-a ~]# crudini --set /etc/ceilometer/ceilometer.conf service_credentials os_password redhat&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Source &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;keystonerc_admin&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; file:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
[root@server2-a ~]# source /root/keystonerc_admin &lt;br /&gt;
[root@server2-a ~(keystone_admin)]# &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create the &amp;#039;&amp;#039;&amp;#039;ceilometer&amp;#039;&amp;#039;&amp;#039; user in Keystone:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
[root@server2-a ~(keystone_admin)]# keystone user-create --name ceilometer --pass redhat&lt;br /&gt;
+----------+----------------------------------+&lt;br /&gt;
| Property |              Value               |&lt;br /&gt;
+----------+----------------------------------+&lt;br /&gt;
|  email   |                                  |&lt;br /&gt;
| enabled  |               True               |&lt;br /&gt;
|    id    | de3d7d596b0d45b4a89db2ffe122fc89 |&lt;br /&gt;
|   name   |            ceilometer            |&lt;br /&gt;
| username |            ceilometer            |&lt;br /&gt;
+----------+----------------------------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Give the &amp;#039;&amp;#039;&amp;#039;admin&amp;#039;&amp;#039;&amp;#039; role to the &amp;#039;&amp;#039;&amp;#039;ceilometer&amp;#039;&amp;#039;&amp;#039; user within the &amp;#039;&amp;#039;&amp;#039;services&amp;#039;&amp;#039;&amp;#039; tenant:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
[root@server2-a ~(keystone_admin)]# keystone user-role-add --tenant services --user ceilometer --role admin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Add the Ceilometer service catalog and verify it has been created properly by listing all services in the catalog:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
[root@server2-a ~(keystone_admin)]# keystone service-create --name ceilometer --type metering --description &amp;quot;Ceilometer Telemetry Service&amp;quot;&lt;br /&gt;
+-------------+----------------------------------+&lt;br /&gt;
|   Property  |              Value               |&lt;br /&gt;
+-------------+----------------------------------+&lt;br /&gt;
| description |   Ceilometer Telemetry Service   |&lt;br /&gt;
|   enabled   |               True               |&lt;br /&gt;
|      id     | 80256b9bd6f24f42b3a2cb7ca6f93126 |&lt;br /&gt;
|     name    |            ceilometer            |&lt;br /&gt;
|     type    |             metering             |&lt;br /&gt;
+-------------+----------------------------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Create the service endpoint for Ceilometer:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
[root@server2-a ~(keystone_admin)]# keystone endpoint-create --region RegionOne --service-id 80256b9bd6f24f42b3a2cb7ca6f93126 --publicurl &amp;quot;http://172.25.2.10:8777/&amp;quot; --adminurl &amp;quot;http://172.25.2.10:8777/&amp;quot; --internalurl &amp;quot;http://172.25.2.10:8777/&amp;quot;&lt;br /&gt;
+-------------+----------------------------------+&lt;br /&gt;
|   Property  |              Value               |&lt;br /&gt;
+-------------+----------------------------------+&lt;br /&gt;
|   adminurl  |     http://172.25.2.10:8777/     |&lt;br /&gt;
|      id     | adca516d55e24e07ad5c960fe45c2b16 |&lt;br /&gt;
| internalurl |     http://172.25.2.10:8777/     |&lt;br /&gt;
|  publicurl  |     http://172.25.2.10:8777/     |&lt;br /&gt;
|    region   |            RegionOne             |&lt;br /&gt;
|  service_id | 80256b9bd6f24f42b3a2cb7ca6f93126 |&lt;br /&gt;
+-------------+----------------------------------+&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Start the Ceilometer services and check for errors:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
systemctl start openstack-ceilometer-compute&lt;br /&gt;
systemctl start openstack-ceilometer-central&lt;br /&gt;
systemctl start openstack-ceilometer-collector&lt;br /&gt;
systemctl start openstack-ceilometer-api&lt;br /&gt;
grep ERROR /var/log/ceilometer/*&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Enable Ceilometer:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
[root@server2-a ~(keystone_admin)]# systemctl enable openstack-ceilometer-compute&lt;br /&gt;
ln -s &amp;#039;/usr/lib/systemd/system/openstack-ceilometer-compute.service&amp;#039; &amp;#039;/etc/systemd/system/multi-user.target.wants/openstack-ceilometer-compute.service&amp;#039;&lt;br /&gt;
[root@server2-a ~(keystone_admin)]# systemctl enable openstack-ceilometer-central&lt;br /&gt;
ln -s &amp;#039;/usr/lib/systemd/system/openstack-ceilometer-central.service&amp;#039; &amp;#039;/etc/systemd/system/multi-user.target.wants/openstack-ceilometer-central.service&amp;#039;&lt;br /&gt;
[root@server2-a ~(keystone_admin)]# systemctl enable openstack-ceilometer-collector&lt;br /&gt;
ln -s &amp;#039;/usr/lib/systemd/system/openstack-ceilometer-collector.service&amp;#039; &amp;#039;/etc/systemd/system/multi-user.target.wants/openstack-ceilometer-collector.service&amp;#039;&lt;br /&gt;
[root@server2-a ~(keystone_admin)]# systemctl enable openstack-ceilometer-api&lt;br /&gt;
ln -s &amp;#039;/usr/lib/systemd/system/openstack-ceilometer-api.service&amp;#039; &amp;#039;/etc/systemd/system/multi-user.target.wants/openstack-ceilometer-api.service&amp;#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jon</name></author>
	</entry>
</feed>