Ask Your Question
0

ceilometer pipeline.SampleSink never works

asked 2016-02-18 08:09:55 -0500

super250 gravatar image

hi , I have recentlly worked on ceilometer in Liberty.
When i use a ceilometer-compute agent, i'd like to modify pipeline.yaml to change some transformers and publishers. Unfortunately, it seems that : when i update sources.interval, it correctly changes the inverval of the data collection; but when i modify the sinks like below:

sinks:
- 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:
      - udp://127.0.0.1:33333
      - file:///tmp/test2

it takes NO effect to either transformers nor publishers.

I then made a trace in the ceilometer code, just print some logs in pipeline.py and agent/manage.py, i found that each time the poller works, it runs into "class SampleSource " forever, and of course gets the configurations as interval or meters ; but it will NEVER run into "class SampleSink" which will take effects of the configurations as transformers and publisher.I think that is the problem.

Because i am not good at coding, i really don't know why this happens. I followed the http://docs.openstack.org to install the ceilometer component, and it worked well by default, for example, i can use ceilometer-client to get the data. But I just can't make pipeline sink work.

I wander if there's something i missed, I'm glad if anyone could give a hand, and many thanks.

edit retag flag offensive close merge delete

Comments

There's some information. It seems there are many conditions before a pipeline reaches the "Class SampleSink", i logged them and i found that: conditions 1: if mtime > pipeline_mtime (i logged that and it returns false forever because mtime always the same even i modied pipeline.yaml)

super250 gravatar imagesuper250 ( 2016-02-18 08:19:36 -0500 )edit

The same as condictions2: if pipeline_hash(in def refresh_pipeline() of service_base.py): returns false forever even i change the data of pipeline

super250 gravatar imagesuper250 ( 2016-02-18 08:21:31 -0500 )edit

1 answer

Sort by ยป oldest newest most voted
1

answered 2016-02-23 04:16:52 -0500

yprokule gravatar image

If U have a dedicated compute node - than U have to change sinks on controller node(the one where collector/notification agents are running ) pipeline.yaml on compute node just configures interval and list of meters to be polled by polling agent.

edit flag offensive delete link more

Comments

hi,yprokule. Since not focused on this problem thease days, but i confirmed that some all-in-one systems worked well with pipeline.yaml. So i think you have given the right piont, i will try this later. Thank u very much :)

super250 gravatar imagesuper250 ( 2016-03-03 01:55:15 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Get to know Ask OpenStack

Resources for moderators

Question Tools

1 follower

Stats

Asked: 2016-02-18 08:09:55 -0500

Seen: 99 times

Last updated: Feb 23 '16