An "endpoint" simply means "the URL at which you contact a service". In OpenStack, the keystone
service maintains a "catalog" of API endpoints. When you create a Ceilometer client object, it asks the service catalog for the URL of the metering
service.
If this service were not listed in your Keystone catalog, you would see this error.
You can see the endpoints currently configured in your catalog by running openstack endpoint list
(if you have the openstack
unified client available):
$ openstack endpoint list
+------...+-----------+--------------+---------------+
| ID ...| Region | Service Name | Service Type |
+------...+-----------+--------------+---------------+
| c700a...| RegionOne | myservice | messagequeue |
| 4bd81...| RegionOne | keystone | identity |
| a2e5f...| RegionOne | nova | compute |
| 30483...| RegionOne | heat | orchestration |
| f4ab0...| RegionOne | neutron | network |
| 482d9...| RegionOne | cinder | volume |
| e2615...| RegionOne | myservice | messagequeue |
| e7ef8...| RegionOne | ceilometer | metering |
| 41a1d...| RegionOne | nova_ec2 | ec2 |
| 9a7b8...| RegionOne | glance | image |
| 5bb58...| RegionOne | cinder_v2 | volumev2 |
+------...+-----------+--------------+---------------+
If you don't have the unified client available, you can use a
combination of keystone service-list
and keystone endpoint-list
to
get the same information.
If your environment doesn't list the metering
service, you probably
need to follow these instructions (look for the step labelled " the Telemetry Service with the Identity Service so that other OpenStack services can locate it").