Ceilometer meter-list is empty (Kilo, CentOS7)

asked 2015-05-17 00:15:30 -0500

Kris gravatar image

updated 2015-05-17 16:22:59 -0500

Trying to setup Ceilometer. Following standard install guide.


  ceilometer meter-list
    The service catalog is empty.

What does this mean? (There should be something listed for glance, manual says). Where should I start looking when troubleshooting this?

I have checked my mongodb. It does have data inside. Does this DB look ok? On the internet I also saw a 'project' and 'user' collection...

> show dbs
admin       0.031GB
ceilometer  0.250GB
local       0.031GB
> show profile 
db.system.profile is empty
Use db.setProfilingLevel(2) will enable profiling
Use db.system.profile.find() to show raw profile entries
> show collections
> db.meter.find()
{ "_id" : ObjectId("555635aae189ba21573a1f17"), "counter_name" : "image", "user_id" : null, "resource_id" : "363f4e0e-6d43-4cca-86c4-e067bfcdf316", "timestamp" : ISODate("2015-05-15T18:06:34Z"), "message_signature" : "d87c2a3f43558b91e8410c1490c52a7a6c7d783c928a74efdf68e4cd627abe3d", "message_id" : "1f53a178-fb2d-11e4-8863-001a64c23dc4", "source" : "openstack", "counter_unit" : "image", "counter_volume" : 1, "recorded_at" : ISODate("2015-05-15T18:06:34.595Z"), "project_id" : "3f5a9878c2b1493083d86627ef28e0ba", "resource_metadata" : { "status" : "active", "name" : "Windows Server 2012 R2 Std Eval", "deleted" : false, "container_format" : "bare", "created_at" : "2015-05-14T14:27:53.000000", "disk_format" : "qcow2", "updated_at" : "2015-05-14T16:59:36.000000", "protected" : false, "min_ram" : 4096, "checksum" : "0d35e3cd283df48a033675adc6f93975", "min_disk" : 35, "is_public" : true, "deleted_at" : null, "properties" : { "hypervisor_type" : "qemu", "description" : null }, "size" : NumberLong("17182752768") }, "counter_type" : "gauge" }
{ "_id" : ObjectId("555635aae189ba21573a1f18"), "counter_name" : "image", "user_id" : null, "resource_id" : "5d3d35d4-6ac6-4447-ab3a-c83408c8a6b7", "timestamp" : ISODate("2015-05-15T18:06:34Z"), "message_signature" : "c4fe10593ed864bb2a77d81e10fc58873d04fb9758c6cf4084f4b5de74d3917a", "message_id" : "1f53a54c-fb2d-11e4-8863-001a64c23dc4", "source" : "openstack", "counter_unit" : "image", "counter_volume" : 1, "recorded_at" : ISODate("2015-05-15T18:06:34.598Z"), "project_id" : "3f5a9878c2b1493083d86627ef28e0ba", "resource_metadata" : { "status" : "active", "name" : "cirros-0.3.3-x86_64", "deleted" : false, "container_format" : "bare", "created_at" : "2015-05-14T09:33:20.000000", "disk_format" : "qcow2", "updated_at" : "2015-05-14T09:33:20.000000", "protected" : false, "min_ram" : 0, "checksum" : "133eae9fb1c98f45894a4e60d8736619", "min_disk" : 0, "is_public" : true, "deleted_at" : null, "properties" : {  },   "size" : 13200896 }, "counter_type" : "gauge" }

Now I started digging in the python code. This problem has something to do with keystone too it seems. I double checked my work, but probably am overlooking a typo in the object definitions. ..

[root@oscon01 ceilometer]# ceilometer -d meter-list
DEBUG (session) REQ: curl -g -i -X GET http://oscon01:35357 -H "Accept: application/json" -H "User-Agent: python-keystoneclient"
INFO (connectionpool) Starting new HTTP connection (1): oscon01
DEBUG (connectionpool) "GET / HTTP/1.1" 300 585
DEBUG (session) RESP: [300] date: Sun, 17 May 2015 21:13:17 GMT vary: X-Auth-Token content-length: 585 content-type: application/json connection: keep-alive
RESP BODY: {"versions": {"values": [{"status": "stable", "updated": "2015-03-30T00:00:00Z", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v3+json"}], "id": "v3.4", "links": [{"href": "http://oscon01:35357/v3/", "rel": "self"}]}, {"status": "stable", "updated": "2014-04-17T00:00:00Z", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v2.0+json"}], "id": "v2.0", "links": [{"href": "http://oscon01:35357/v2.0/", "rel": "self"}, {"href": "http://docs.openstack.org/", "type": "text/html", "rel": "describedby"}]}]}}

DEBUG (base) Making authentication request to http://oscon01:35357/v3/auth/tokens
DEBUG (connectionpool) "POST /v3/auth/tokens HTTP/1.1" 201 297
Traceback (most recent call last):
File "/usr/bin/ceilometer", line 10, in <module>
File "/usr/lib/python2.7/site-packages/ceilometerclient/shell.py", line 297, in main
File "/usr/lib/python2.7/site-packages/ceilometerclient/shell.py", line 246, in main
args.func(client, args ...
edit retag flag offensive close merge delete

4 answers

Sort by ยป oldest newest most voted

answered 2015-05-18 01:59:55 -0500

Kris gravatar image

updated 2015-05-18 02:02:45 -0500

I have solved this one myself. Be sure to:


To get:

#set | grep OS_

After this ceilometer works. Apparantly it can not deal with V3 API or something..

edit flag offensive delete link more


I was getting the same output "The service catalog is empty." and tried "unset OS_USER_DOMAIN_ID; unset OS_PROJECT_DOMAIN_ID;". Now I get another error stating 'Expecting to find domain in the user - the server could not comply with the request since it is either malformed or otherwise incorrect.

abhishek-talwar gravatar imageabhishek-talwar ( 2015-08-13 05:56:27 -0500 )edit

Remove "v3" from your OS_AUTH_URL=http://controller:35357/v3 and it should work.

Milos Zdravkovic gravatar imageMilos Zdravkovic ( 2015-09-15 09:12:09 -0500 )edit

Great, that worked for me. Thanks

herrsergio gravatar imageherrsergio ( 2017-03-06 12:09:47 -0500 )edit

answered 2015-06-04 13:41:35 -0500

capsali gravatar image

what version of ceilometer do you have? do ceilometer --version

A certain version of python ceilometer (i belive something with 3, but can't remeber exactly) has a bug that doesn't work with v3 auth.

To install a newer version of ceilometerclient do like in this link link text

This solved it for me. I am on ubuntu 14.04 though. I installed pip and the issued pip install --upgrade python-ceilometerclient

edit flag offensive delete link more



Hi Capsali,

I am having the same issue "The service catalog is empty." Upgraded the ceilometerclient and now the version is 1.4.0 Running the command gives another error "('Connection aborted.' , error(111,'connection refused'))" Kindly suggest on what should be done to solve this issue.

abhishek-talwar gravatar imageabhishek-talwar ( 2015-08-18 01:44:20 -0500 )edit

Hi, it seems you have an authentification issue. Please provide logs!

capsali gravatar imagecapsali ( 2015-09-22 08:41:23 -0500 )edit

Hi @capsali , I followed your answer and also got the same error that @abhishek-talwar found, didn't find anything special in /var/log/keystone/admin.log and /var/log/keystone/main.log but found this line in debug mode: DEBUG (client) REQ: curl -g -i -X 'GET' 'http://ospoc-ctrl-node:8777/v2/..

weeix gravatar imageweeix ( 2015-09-28 00:04:09 -0500 )edit

answered 2016-09-09 23:27:45 -0500

Anirudh gravatar image


With some debugging and digging into the python code...I have successfully resolved the Kilo Telemetery issue. The Problem with Kilo Release that the session token doesn't get authorized in the code as a result of which no parameters are displayed.

Follow the steps to resolve the issue :- 1. Go to cd /usr/lib/python2.7/dist-packages/ceilometerclient, and there would be a client.py file. Thereare some authentication functions missing in the python code. 2. Replace the content of file with the content below and restart the Ceillometer services.

The alarms would start coming :)

You can download the client.py

https://drive.google.com/open?id=0B4UDDnV66P27TlhyUUpiaTZJekU (https://drive.google.com/open?id=0B4U...)

edit flag offensive delete link more

answered 2015-12-11 17:39:39 -0500

tgehrke gravatar image

I'm having the same problem. "The service catalog is empty." and have followed the suggestions above. OS_PROJECT_DOMAIN_ID=default OS_IMAGE_API_VERSION=2 OS_USER_DOMAIN_ID=default OS_PROJECT_NAME=admin OS_PASSWORD=xxxxxxx OS_AUTH_URL=http://vctrl01:35357 OS_USERNAME=admin OS_TENANT_NAME=admin OS_VOLUME_API_VERSION=2

ceilometer --version 2.1.0

It appears I am not getting a token when I monitor keystone.log doing 'nova list' vs 'ceilometer meter-list' nova list: GET /? POST /auth/tokens? GET /tokens/77c66441c89c4612bb74978b77db2753?

ceilometer meter-list: GET /? POST /auth/tokens? GET /? POST /auth/tokens?

edit flag offensive delete link more

Get to know Ask OpenStack

Resources for moderators

Question Tools



Asked: 2015-05-17 00:15:30 -0500

Seen: 4,348 times

Last updated: Sep 09 '16