ceilometer meter-list is empty [已关闭]

提问于 2014-10-24 04:27:04 -0600

sowrdking 图像

updated 2014-10-29 22:37:40 -0600

Hi All,

I installed ceilometer, and other installed are nova, keystone, glance, cinder. After I install it at controller and compute side, like the steps in openstack. I used "ceilometer meter-list", it always return empty and just the tables column.

After I used " ceilometer-agent-central", it will show

 2014-10-24 17:22:52.035 21907 TRACE ceilometer.pipeline   File "/usr/lib/python2.7/dist-paes/stevedore/driver.py", line 91, in _init_plugins
2014-10-24 17:22:52.035 21907 TRACE ceilometer.pipeline     (self.namespace, name))
2014-10-24 17:22:5ckag2.035 21907 TRACE ceilometer.pipeline RuntimeError: No 'ceilometer.publisher' driver found, looking for 'notifier'
2014-10-24 17:22:52.035 21907 TRACE ceilometer.pipeline

At the compute side I used "ceilometer-agent-compute", it will show

2014-10-24 17:13:32.078 6834 TRACE ceilometer.pipeline   File "/usr/lib/python2.7/dist-packages/stevedore/driver.py", line 91, in _init_plugins
2014-10-24 17:13:32.078 6834 TRACE ceilometer.pipeline     (self.namespace, name))
2014-10-24 17:13:32.078 6834 TRACE ceilometer.pipeline RuntimeError: No 'ceilometer.publisher' driver found, looking for 'notifier'
2014-10-24 17:13:32.078 6834 TRACE ceilometer.pipeline

Now, I search the issue about No ceilometer.publisher driver found, but no answer was be found. Do anyone have any idea about what's going on.

======================2014/10/29 update=======================================

Hello,

My version is Icehouse and below is my pipeline.yaml

---
sources:
    - name: meter_source
      interval: 600
      meters:
          - "*"
      sinks:
          - meter_sink
    - name: cpu_source
      interval: 600
      meters:
          - "cpu"
      sinks:
          - cpu_sink
    - name: disk_source
      interval: 600
      meters:
          - "disk.read.bytes"
          - "disk.read.requests"
          - "disk.write.bytes"
          - "disk.write.requests"
      sinks:
          - disk_sink
    - name: network_source
      interval: 600
      meters:
          - "network.incoming.bytes"
          - "network.incoming.packets"
          - "network.outgoing.bytes"
          - "network.outgoing.packets"
      sinks:
          - network_sink
sinks:
    - name: meter_sink
      transformers:
      publishers:
          - notifier://
    - name: cpu_sink
      transformers:
          - name: "rate_of_change"
            parameters:
                target:
                    name: "cpu_util"
                    unit: "%"
                    type: "gauge"
                    scale: "100.0 / (10**9 * (resource_metadata.cpu_number or 1))"
      publishers:
          - notifier://
    - name: disk_sink
      transformers:
          - name: "rate_of_change"
            parameters:
                source:
                    map_from:
                        name: "disk\\.(read|write)\\.(bytes|requests)"
                        unit: "(B|request)"
                target:
                    map_to:
                        name: "disk.\\1.\\2.rate"
                        unit: "\\1/s"
                    type: "gauge"
      publishers:
          - notifier://
    - name: network_sink
      transformers:
          - name: "rate_of_change"
            parameters:
                source:
                   map_from:
                       name: "network\\.(incoming|outgoing)\\.(bytes|packets)"
                       unit: "(B|packet)"
                target:
                    map_to:
                        name: "network.\\1.\\2.rate"
                        unit: "\\1/s"
                    type: "gauge"
      publishers:
          - notifier://

======================2014/10/30 add ceilometer.confi======================================

[DEFAULT]

#
# Options defined in ceilometer.middleware
#

# Exchanges name to listen for notifications. (multi valued)
http_control_exchanges=nova
http_control_exchanges=glance
http_control_exchanges=neutron
http_control_exchanges=cinder


#
# Options defined in ceilometer.pipeline
#

# Configuration file for pipeline definition. (string value)
#pipeline_cfg_file=pipeline.yaml


#
# Options defined in ceilometer.sample
auth_strategy=keystone
sqlite_db=ceilometer.sqlite
log_dir=/var/log/ceilometer
rpc_backend=ceilometer.openstack.common.rpc.impl_kombu
rabbit_host=x.x.x.x
rabbit_userid=guest
rabbit_password = guest

[api]

#
# Options defined in ceilometer.api
#

# The port for the ceilometer API server. (integer value)
# Deprecated group/name - [DEFAULT]/metering_api_port
port=8777

[database]

#
# Options defined in ceilometer.openstack.common.db.api
#

# The backend to use for db (string value)
# Deprecated group/name - [DEFAULT]/db_backend
backend=sqlalchemy

connection=mongodb://ceilometer:password@controller:27017/ceilometer

[notification]

#
# Options defined in ceilometer.notification
#

# Acknowledge message when ...
(更多)
edit retag flag offensive reopen merge delete

Closed for the following reason 问题已经解决,已得到正确答案 by sowrdking
close date 2014-10-30 01:33:35.577542

Comments

Which version of OpenStack, Juno? Paste your pipeline.yaml in /etc/ceilometer/ for us to take a look.

9lives 图像9lives ( 2014-10-27 21:31:56 -0600 )edit
1

回答 2014-10-29 07:06:15 -0600

9lives 图像

updated 2014-10-29 07:08:39 -0600

Ok, from pipeline.yaml you might use notifier as the publisher, please check if the notifier publisher in entry_point.txt file or not. Typically it is in the /usr/local/lib/python2.7/dist-packages/ceilometer/ceilometer.egg-info/, should check the following item surround by ** exists or not.

...
[ceilometer.publisher]
file = ceilometer.publisher.file:FilePublisher
meter = ceilometer.publisher.messaging:RPCPublisher
meter_publisher = ceilometer.publisher.messaging:RPCPublisher
**notifier = ceilometer.publisher.messaging:NotifierPublisher**
rpc = ceilometer.publisher.messaging:RPCPublisher
test = ceilometer.publisher.test:TestPublisher
udp = ceilometer.publisher.udp:UDPPublisher
...

Hope that helps!

edit flag offensive delete link 更多

Comments

Hello, I only have /usr/local/lib/python2.7/dist-packages/ and there is no ceilometer folder. My python version is 2.7.6.

sowrdking 图像sowrdking ( 2014-10-29 22:26:31 -0600 )edit

ok, just search the ceilometer as keyword in your controller box and you will find it.:)

9lives 图像9lives ( 2014-10-30 00:47:49 -0600 )edit
0

回答 2014-10-30 01:27:36 -0600

sowrdking 图像

updated 2014-10-30 01:32:10 -0600

Hello, I found entry_point.txt in /usr/lib/python2.7/dist-packages/ceilometer-2014.1.3.egg-info/ and I add notifier into it. But the result is still the same, it still a empty list.

After I change .messaging:NotifierPublisher to rpc:RPCPublisher, and it works. Thanks.

edit flag offensive delete link 更多

提问工具

1 follower

统计

已提问: 2014-10-24 04:27:04 -0600

已查看: 1,433 次

最后更新: Oct 29 '14