Re: [openstack-dev] [Ceilometer]:Subscribe and Publish Notification frame work in Ceilometer !

2015-11-23 Thread gord chung



On 22/11/2015 10:04 PM, Srikanth Vavilapalli wrote:


We have found a related blueprint *[1],* which is exactly addressing 
this dynamic provisioning of pipelines via an API and making use of a 
new data store to store this configuration. But seems like that 
blueprint was abandoned due its limited usage. We agree that it may 
not be that frequent operation to change the pipeline configuration in 
all deployments, but in certain deployments, where applications desire 
to turn ON/OFF receiving these notifications based on some other 
trigger (like anomaly detection, where application might have sensed 
an anomaly based on some set of meters and wanted to turn ON few 
additional set of event/meters to confirm that and turn OFF once the 
anomaly is confirmed).


you're right, we abandoned that because of lack of usage and the idea 
was that generally you'd probably be some type of admin if you were 
editing pipeline file(s).


also, the scope was a big reason for dropping. i think modification of 
configuration via API is not just a Ceilometer requirement but a global 
OpenStack requirement. that said, it's suggested to support this level 
of functionality, it should probably be done in a way that is useful to 
all OpenStack


this cross-project item might be of interest: 
http://lists.openstack.org/pipermail/openstack-dev/2015-November/078400.html


cheers,

--
gord

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [Ceilometer]:Subscribe and Publish Notification frame work in Ceilometer !

2015-11-22 Thread Srikanth Vavilapalli
Thanks very much Gord for the pointers.

I have looked at this file reload feature and it addresses some part of my 
problem description (avoiding the restart of the ceilometer services to reflect 
the pipeline changes). However, this still requires users to directly access 
the internal ceilometer file (pipeline.yaml) to make any updates to pipeline. 
There are no APIs introduced as part of this feature to allow user to 
configure/unconfigure these pipeline. In one of the deployment that we are 
currently looking for, we wanted to expose only ceilometer API service to the 
users and block access to any internal modules of ceilometer. In the same 
deployment, we are also thinking of allowing users to configure/unconfigure a 
pipeline for a set of meters for only a subset of resources instead of getting 
notified about events/meters of all the resources as shown below.

sources:
- name: user1_meter_source
  meters:
  - "cpu_util"
  query/filter:
  - {{field:"project_id",op:"eq",value:"11"}}
  sinks:
  - user1_meter_sink
sinks:
- name: user1_meter_sink
  transformers:
  publishers:
  - udp://:


We have found a related blueprint [1], which is exactly addressing this dynamic 
provisioning of pipelines via an API and making use of a new data store to 
store this configuration. But seems like that blueprint was abandoned due its 
limited usage. We agree that it may not be that frequent operation to change 
the pipeline configuration in all deployments, but in certain deployments, 
where applications desire to turn ON/OFF receiving these notifications based on 
some other trigger (like anomaly detection, where application might have sensed 
an anomaly based on some set of meters and wanted to turn ON few additional set 
of event/meters to confirm that and turn OFF once the anomaly is confirmed).

Thanks
Srikanth

[1] 
https://wiki.openstack.org/wiki/Ceilometer/blueprints/Configuration-via-data-store



From: gord chung [mailto:g...@live.ca]
Sent: Thursday, November 19, 2015 9:08 PM
To: openstack-dev@lists.openstack.org
Subject: Re: [openstack-dev] [Ceilometer]:Subscribe and Publish Notification 
frame work in Ceilometer !


On 19/11/15 10:26 PM, Srikanth Vavilapalli wrote:
Hi Gord

On your second point, Yes, Ceilometer does provide a framework to capture a 
notification and republish to multiple "publish targets" in addition to the 
collector service using udp/kafka/notification as the transport mechanisms... 
We believe this is how "Event Alarm Evaluator" module in Aodh project get 
notified directly from Notification Agents.

However seems like the configuration of these additional "publish targets" is 
supported only through updating the pipeline_cfg_file and restarting the 
corresponding ceilometer services. i.e. the users need to manually update the 
pipeline config files to insert their "publish targets" in the sink-publisher 
configuration for a set of event filters of their interest. This type of 
provisioning is very static.

As per our understanding, ceilometer currently does not provide means for users 
to dynamically register/unregister their "publish targets" with ceilometer 
framework for a subset events of their interest? i.e User invokes a ceilometer 
API with a set of event filters and associated publish targets, that can be 
stored in a data store, which will eventually be used by the ceilometer 
Publisher to dispatch the notification to those configured destinations in 
addition to the statically configured "publish targets". Plz let us know if our 
understanding is wrong or if there are any other means to achieve the above 
functionality. We believe this as a very key functionality needed to build 
latency sensitive (sub-second) analytics application on-top of ceilometer 
framework. We are seeking the feedback from community on having this kind of 
functionality inside ceilometer before proceeding with blueprint submission.
actually, in Liberty you can configure a reload[1][2] to refresh pipeline when 
a change happens. based on survey results, most operators don't need this 
functionality so it's off by default but it seems you do. :)

[1] 
https://specs.openstack.org/openstack/ceilometer-specs/specs/liberty/reload-file-based-pipeline-configuration.html
[2] 
https://github.com/openstack/ceilometer/blob/master/ceilometer/pipeline.py#L50-L58

cheers,



--

gord
__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [Ceilometer]:Subscribe and Publish Notification frame work in Ceilometer !

2015-11-19 Thread gord chung



On 19/11/15 10:26 PM, Srikanth Vavilapalli wrote:


Hi Gord

On your second point, Yes, Ceilometer does provide a framework to 
capture a notification and republish to multiple “publish targets” in 
addition to the collector service using udp/kafka/notification as the 
transport mechanisms… We believe this is how “Event Alarm Evaluator” 
module in Aodh project get notified directly from Notification Agents.


However seems like the configuration of these additional “publish 
targets” is supported only through updating the pipeline_cfg_file and 
restarting the corresponding ceilometer services. i.e. the users need 
to manually update the pipeline config files to insert their “publish 
targets” in the sink-publisher configuration for a set of event 
filters of their interest. This type of provisioning is very static.


As per our understanding, ceilometer currently does not provide means 
for users to dynamically register/unregister their “publish targets” 
with ceilometer framework for a subset events of their interest? i.e 
User invokes a ceilometer API with a set of event filters and 
associated publish targets, that can be stored in a data store, which 
will eventually be used by the ceilometer Publisher to dispatch the 
notification to those configured destinations in addition to the 
statically configured “publish targets”. Plz let us know if our 
understanding is wrong or if there are any other means to achieve the 
above functionality. We believe this as a very key functionality 
needed to build latency sensitive (sub-second) analytics application 
on-top of ceilometer framework. We are seeking the feedback from 
community on having this kind of functionality inside ceilometer 
before proceeding with blueprint submission.


actually, in Liberty you can configure a reload[1][2] to refresh 
pipeline when a change happens. based on survey results, most operators 
don't need this functionality so it's off by default but it seems you do. :)


[1] 
https://specs.openstack.org/openstack/ceilometer-specs/specs/liberty/reload-file-based-pipeline-configuration.html
[2] 
https://github.com/openstack/ceilometer/blob/master/ceilometer/pipeline.py#L50-L58


cheers,

--
gord

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [Ceilometer]:Subscribe and Publish Notification frame work in Ceilometer !

2015-11-19 Thread Srikanth Vavilapalli
Hi Gord

On your second point, Yes, Ceilometer does provide a framework to capture a 
notification and republish to multiple "publish targets" in addition to the 
collector service using udp/kafka/notification as the transport mechanisms... 
We believe this is how "Event Alarm Evaluator" module in Aodh project get 
notified directly from Notification Agents.

However seems like the configuration of these additional "publish targets" is 
supported only through updating the pipeline_cfg_file and restarting the 
corresponding ceilometer services. i.e. the users need to manually update the 
pipeline config files to insert their "publish targets" in the sink-publisher 
configuration for a set of event filters of their interest. This type of 
provisioning is very static.

As per our understanding, ceilometer currently does not provide means for users 
to dynamically register/unregister their "publish targets" with ceilometer 
framework for a subset events of their interest? i.e User invokes a ceilometer 
API with a set of event filters and associated publish targets, that can be 
stored in a data store, which will eventually be used by the ceilometer 
Publisher to dispatch the notification to those configured destinations in 
addition to the statically configured "publish targets". Plz let us know if our 
understanding is wrong or if there are any other means to achieve the above 
functionality. We believe this as a very key functionality needed to build 
latency sensitive (sub-second) analytics application on-top of ceilometer 
framework. We are seeking the feedback from community on having this kind of 
functionality inside ceilometer before proceeding with blueprint submission.

One alternative approach could be to republishing all the notifications from 
Notification Agents to a centralized common module, which in turn provides a 
Subscribe-Publish type of interface to user. But the downside of this two level 
approach is additional latencies introduced at each layer before the event gets 
delivered to the user/application.

Plz let us know your inputs...

Thanks
Srikanth

From: gord chung [mailto:g...@live.ca]
Sent: Thursday, November 05, 2015 2:59 PM
To: openstack-dev@lists.openstack.org
Subject: Re: [openstack-dev] [Ceilometer]:Subscribe and Publish Notification 
frame work in Ceilometer !


On 05/11/2015 5:11 AM, Raghunath D wrote:
Hi Pradeep,

Presently we are looking for a monitoring service.Using monitoring service 
user's/application's
will subscribe for few notification's/events from openstack infrastructure and 
monitoring service
will publish these notification to user's/application's.

We are exploring Ceilometer for this purpose.We came across below blue print 
which is similar to our requirement.

 https://blueprints.launchpad.net/ceilometer/+spec/declarative-notifications.

i'm not exactly clear on what you are trying to achieve. that said, the basic 
premise of the above blueprint is that if serviceX (nova, neutron, etc...) 
starts publishing a new notification with a metric of interest, Ceilometer can 
be easily configured to capture said metric by adding a metric definition to a 
definition file[1] or a custom definition file[2]. the same can be done for 
events[3].



We have few queries on declarative-notifications frame work,could you please 
help us in addressing them:

1.We are looking for an API for Subcribing/Publishing notification.Do this 
frame work exposes any such API,if yes could you
   please provide us API doc or spec how to use it.
2.If the frame work doesn't have such API,does any of the development group is 
working in this area.
3.Please suggest what would be the best place in ceilometer notification frame 
work(publisher/dispatcher/..)
   to implement the Subscribe and Publish API.

from what is described, it seems like you'd like Ceilometer to capture a 
notification and republish it rather than stored in a Ceilometer supported 
storage driver (ie Gnocchi, ElasticSearch, SQL, etc...). currently, the only 
way to do this is to not enable a collector service. doing so, the Event/Sample 
will be published to a message queue (default) which you can configure your 
service to pull from. currently, i don't believe oslo.messaging supports 
pub/sub work flow. alternatively, you can use one of the other publishers[4]. 
the kafka publisher should allow you to do a pub/sub type workflow. i know RAX 
has atom hopper[5] which uses atom feeds to support pub/sub functionality. 
there was discussions on adding support for this but no work has been done on 
it. feel free to propose it if you feel it's worthwhile.

[1] 
https://github.com/openstack/ceilometer/blob/master/ceilometer/meter/data/meters.yaml
[2] 
https://github.com/openstack/ceilometer/blob/master/ceilometer/meter/notifications.py#L31
[3] 
https://github.com/openstack/ceilometer/blob/master/etc/ceilometer/event_definitions.yaml
[4] 
http://docs.openstack.org/a

Re: [openstack-dev] [Ceilometer]:Subscribe and Publish Notification frame work in Ceilometer !

2015-11-05 Thread gord chung



On 05/11/2015 5:11 AM, Raghunath D wrote:

Hi Pradeep,

Presently we are looking for a monitoring service.Using monitoring 
service user's/application's
will subscribe for few notification's/events from openstack 
infrastructure and monitoring service

will publish these notification to user's/application's.

We are exploring Ceilometer for this purpose.We came across below blue 
print which is similar to our requirement.


 https://blueprints.launchpad.net/ceilometer/+spec/declarative-notifications.


i'm not exactly clear on what you are trying to achieve. that said, the 
basic premise of the above blueprint is that if serviceX (nova, neutron, 
etc...) starts publishing a new notification with a metric of interest, 
Ceilometer can be easily configured to capture said metric by adding a 
metric definition to a definition file[1] or a custom definition 
file[2]. the same can be done for events[3].




We have few queries on declarative-notifications frame work,could you 
please help us in addressing them:


1.We are looking for an API for Subcribing/Publishing notification.Do 
this frame work exposes any such API,if yes could you

   please provide us API doc or spec how to use it.
2.If the frame work doesn't have such API,does any of the development 
group is working in this area.
3.Please suggest what would be the best place in ceilometer 
notification frame work(publisher/dispatcher/..)

   to implement the Subscribe and Publish API.


from what is described, it seems like you'd like Ceilometer to capture a 
notification and republish it rather than stored in a Ceilometer 
supported storage driver (ie Gnocchi, ElasticSearch, SQL, etc...). 
currently, the only way to do this is to not enable a collector service. 
doing so, the Event/Sample will be published to a message queue 
(default) which you can configure your service to pull from. currently, 
i don't believe oslo.messaging supports pub/sub work flow. 
alternatively, you can use one of the other publishers[4]. the kafka 
publisher should allow you to do a pub/sub type workflow. i know RAX has 
atom hopper[5] which uses atom feeds to support pub/sub functionality. 
there was discussions on adding support for this but no work has been 
done on it. feel free to propose it if you feel it's worthwhile.


[1] 
https://github.com/openstack/ceilometer/blob/master/ceilometer/meter/data/meters.yaml
[2] 
https://github.com/openstack/ceilometer/blob/master/ceilometer/meter/notifications.py#L31
[3] 
https://github.com/openstack/ceilometer/blob/master/etc/ceilometer/event_definitions.yaml
[4] 
http://docs.openstack.org/admin-guide-cloud/telemetry-data-retrieval.html#publishers

[5] http://atomhopper.org/

cheers,

--
gord

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev