<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:Tahoma;
panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
{font-family:Verdana;
panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
{font-family:Consolas;
panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman","serif";
color:black;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
pre
{mso-style-priority:99;
mso-style-link:"HTML Preformatted Char";
margin:0in;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Courier New";
color:black;}
span.HTMLPreformattedChar
{mso-style-name:"HTML Preformatted Char";
mso-style-priority:99;
mso-style-link:"HTML Preformatted";
font-family:Consolas;
color:black;}
span.EmailStyle19
{mso-style-type:personal-reply;
font-family:"Calibri","sans-serif";
color:#1F497D;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body bgcolor="white" lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Hi Gord<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">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. <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">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.
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">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.
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">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.
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Plz let us know your inputs…
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Thanks<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Srikanth<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext"> gord chung [mailto:gord@live.ca]
<br>
<b>Sent:</b> Thursday, November 05, 2015 2:59 PM<br>
<b>To:</b> openstack-dev@lists.openstack.org<br>
<b>Subject:</b> Re: [openstack-dev] [Ceilometer]:Subscribe and Publish Notification frame work in Ceilometer !<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-bottom:12.0pt"><o:p> </o:p></p>
<div>
<p class="MsoNormal">On 05/11/2015 5:11 AM, Raghunath D wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span style="font-family:"Verdana","sans-serif"">Hi Pradeep,<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Verdana","sans-serif""><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.5pt;font-family:"Verdana","sans-serif"">Presently we are looking for a monitoring service.Using monitoring service u</span><span style="font-family:"Verdana","sans-serif"">ser's/application's <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Verdana","sans-serif"">will subscribe for few notification's/events from openstack infrastructure and monitoring service<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Verdana","sans-serif"">will publish these notification to user's/application's.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Verdana","sans-serif""><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Verdana","sans-serif"">We are exploring Ceilometer for this purpose.We came across below blue print which is similar to our requirement.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Verdana","sans-serif""><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.5pt;font-family:"Verdana","sans-serif""> <a href="https://blueprints.launchpad.net/ceilometer/+spec/declarative-notifications">https://blueprints.launchpad.net/ceilometer/+spec/declarative-notifications</a>.</span><span style="font-family:"Verdana","sans-serif""><o:p></o:p></span></p>
</div>
</div>
</blockquote>
<p class="MsoNormal"><br>
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].<br>
<br>
<br>
<o:p></o:p></p>
<div>
<div>
<p class="MsoNormal"><span style="font-family:"Verdana","sans-serif""><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.5pt;font-family:"Verdana","sans-serif"">We have few queries on declarative-notifications frame work,could you please help us in addressing them:</span><span style="font-family:"Verdana","sans-serif""><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Verdana","sans-serif""><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.5pt;font-family:"Verdana","sans-serif"">1.We are looking for an API for Subcribing/Publishing notification.Do this frame work exposes any such API,if yes could you </span><span style="font-family:"Verdana","sans-serif""><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.5pt;font-family:"Verdana","sans-serif""> please provide us API doc or spec how to use it.</span><span style="font-family:"Verdana","sans-serif""><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.5pt;font-family:"Verdana","sans-serif"">2.If the frame work doesn't have such API,does any of the development group is working in this area.</span><span style="font-family:"Verdana","sans-serif""><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.5pt;font-family:"Verdana","sans-serif"">3.Please suggest what would be the best place in ceilometer notification frame work(publisher/dispatcher/..)</span><span style="font-family:"Verdana","sans-serif""><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.5pt;font-family:"Verdana","sans-serif""> to implement the Subscribe and Publish API.</span><span style="font-family:"Verdana","sans-serif""><o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><br>
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.<br>
<br>
[1] <a href="https://github.com/openstack/ceilometer/blob/master/ceilometer/meter/data/meters.yaml">
https://github.com/openstack/ceilometer/blob/master/ceilometer/meter/data/meters.yaml</a><br>
[2] <a href="https://github.com/openstack/ceilometer/blob/master/ceilometer/meter/notifications.py#L31">
https://github.com/openstack/ceilometer/blob/master/ceilometer/meter/notifications.py#L31</a><br>
[3] <a href="https://github.com/openstack/ceilometer/blob/master/etc/ceilometer/event_definitions.yaml">
https://github.com/openstack/ceilometer/blob/master/etc/ceilometer/event_definitions.yaml</a><br>
[4] <a href="http://docs.openstack.org/admin-guide-cloud/telemetry-data-retrieval.html#publishers">
http://docs.openstack.org/admin-guide-cloud/telemetry-data-retrieval.html#publishers</a><br>
[5] <a href="http://atomhopper.org/">http://atomhopper.org/</a><br>
<br>
cheers,<br>
<br>
<o:p></o:p></p>
<pre>-- <o:p></o:p></pre>
<pre>gord<o:p></o:p></pre>
</div>
</body>
</html>