<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif; ">
<div>If you wanted to use Yagi, it would be trivial to add a JSON only notifier to Yagi. If you're interested and need a hand, feel free to hit Dragon or I for assistance.</div>
<div><br>
</div>
<span id="OLK_SRC_BODY_SECTION">
<div style="font-family:Calibri; font-size:11pt; text-align:left; color:black; BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt">
<span style="font-weight:bold">From: </span>Monsyne Dragon <<a href="mailto:mdragon@RACKSPACE.COM">mdragon@RACKSPACE.COM</a>><br>
<span style="font-weight:bold">Date: </span>Mon, 23 Apr 2012 16:39:08 +0000<br>
<span style="font-weight:bold">To: </span>Luis Gervaso <<a href="mailto:luis@woorea.es">luis@woorea.es</a>><br>
<span style="font-weight:bold">Cc: </span>"<<a href="mailto:openstack@lists.launchpad.net">openstack@lists.launchpad.net</a>>" <<a href="mailto:openstack@lists.launchpad.net">openstack@lists.launchpad.net</a>><br>
<span style="font-weight:bold">Subject: </span>Re: [Openstack] Monitoring / Billing Architecture proposed<br>
</div>
<div><br>
</div>
<div>
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
<div>This already exists in trunk.  The Notification system was designed specifically to feed billing and monitoring systems. </div>
<div><br>
</div>
<div>Basically, we don't want Nova/Glance/etc to be in the business of trying to determine billing logic, since it is different for pretty much everyone,  so we just emit notifications to a queue and the interested pull what they want, and aggregate according
 to their own rules. </div>
<br>
<div>
<div>On Apr 22, 2012, at 1:50 PM, Luis Gervaso wrote:</div>
<br class="Apple-interchange-newline">
<blockquote type="cite">Hi,
<div><br>
</div>
<div>I want to share the architecture i am developing in order to perform the monitorig / billing OpenStack support:</div>
<div><br>
</div>
<div>1. AMQP Client which listen to RabbitMQ / QPid (this should be interchangeable) (Own Stuff or ServiceMix / Camel)</div>
</blockquote>
<div> </div>
<blockquote type="cite">
<div>2. Events should be stored on a NoSQL document oriented database (I think mongodb is perfect, since we can query in a super easy fashion)</div>
</blockquote>
<div><br>
</div>
<div>We have an existing system called Yagi (<a href="https://github.com/Cerberus98/yagi/">https://github.com/Cerberus98/yagi/</a>) that listens to the notification queues and persists events to a Redis database.  It then provides feeds as ATOM formatted documents
 that a billing system can pull to aggregate data, It also can support PubSub notification of clients thru the pubsubhubub protocol, and push events to a long-term archiving store thru the AtomPub protocol. </div>
<div><br>
</div>
<div>That said, the notification system outputs its events as JSON, so it should be easy to pipe into a json document-oriented db if that's what you need. (we only use ATOM because we have a atom-based archiving/search/aggregation engine (it's open source: <a href="http://atomhopper.org/">http://atomhopper.org/</a>
 ) our in-house systems already plug into. )</div>
<div><br>
</div>
<div><br>
</div>
<br>
<blockquote type="cite">
<div><br>
</div>
<div>3a. The monitoring system can pull/push MongoDB</div>
<div><br>
</div>
<div>3b. The billing system can pull to create invoices </div>
<div><br>
</div>
<div>4. A mediation EIP should be necessary to integrate a billing/monitoring product. (ServiceMix / Camel)</div>
<div><br>
</div>
<div>This is to receive your feedback. So please, critics are welcome!</div>
<div><br>
</div>
<div>Cheers!<br clear="all">
<div><br>
</div>
-- <br>
-------------------------------------------<br>
Luis Alberto Gervaso Martin
<div>Woorea Solutions, S.L<br>
CEO & CTO<br>
mobile: (+34) 627983344<br>
<a href="mailto:luis.gervaso@gmail.com" target="_blank">luis@</a><a href="http://woorea.es/" target="_blank">woorea.es</a></div>
<br>
</div>
<br>
_______________________________________________<br>
Mailing list: <a href="https://launchpad.net/~openstack">https://launchpad.net/~openstack</a><br>
Post to     : <a href="mailto:openstack@lists.launchpad.net">openstack@lists.launchpad.net</a><br>
Unsubscribe : <a href="https://launchpad.net/~openstack">https://launchpad.net/~openstack</a><br>
More help   : <a href="https://help.launchpad.net/ListHelp">https://help.launchpad.net/ListHelp</a><br>
</blockquote>
</div>
<br>
<div><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; ">
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
<div>
<div>--</div>
<div><span class="Apple-tab-span" style="white-space: pre; "></span>Monsyne M. Dragon</div>
<div><span class="Apple-tab-span" style="white-space: pre; "></span>OpenStack/Nova </div>
<div><span class="Apple-tab-span" style="white-space: pre; "></span>cell 210-441-0965</div>
<div><span class="Apple-tab-span" style="white-space: pre; "></span>work x 5014190</div>
</div>
</div>
</span></span></div>
<br>
</div>
</div>
_______________________________________________ Mailing list: <a href="https://launchpad.net/~openstack">
https://launchpad.net/~openstack</a> Post to : <a href="mailto:openstack@lists.launchpad.net">
openstack@lists.launchpad.net</a> Unsubscribe : <a href="https://launchpad.net/~openstack">
https://launchpad.net/~openstack</a> More help : <a href="https://help.launchpad.net/ListHelp">
https://help.launchpad.net/ListHelp</a> </span>
</body>
</html>