riak-old / www / eventer.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<meta name="author" content="Basho Technologies" />
	<meta name="description" content="riak - a decentralized key value store - basho technologies" />
	<meta name="keywords" content="riak nosql decentralized distributed key value store" />
    <meta http-equiv="content-type" content="text/html;charset=utf-8" />
	<link rel="stylesheet" href="css/style-1c.css" type="text/css" />
	<title>Riak - Setup</title>
	<div id="content">
		<h1><span class="hr"></span><a href="/">riak</a></h1>
		<ul id="top">
			<li><a href="/">Home</a></li>
			<li><a href="http://bitbucket.org/justin/riak/">Source Code</a></li>
                        <li><a href="edoc/index.html">API Docs</a></li>
			<li><a href="faq.html">FAQ</a></li>
			<li><a href="contact.html">Contact</a></li>
		<div id="intro">
			<p>Events in Riak</p>
		<div id="left">
			<h3>Event-Driven (not interrupt-driven) Operations</h3>

<p>One of the most difficult things about operating a distributed system is extracting useful and actionable intelligence from all of the many possible sources of data at hand.  Sometimes it's hard to find all the logs and information you need; at other times you're drowing in log files and still can't figure out what to do.</p>

<p>Riak gives you flexibility and power in gathering the data you need for effective monitoring, debugging, and operations.</p>

<p>Using a simple event-handler API, you can write a very small module declaring exactly what information you want -- pattern-matching by node, code module, or specific event type -- and whatever you want to do with that information -- log to a file, interact with your monitoring dashboard of choice, or arbitrary other activity.  You can then attach that event listener to any node in your cluster and all matching events, no matter where they occur, will be forwarded to the listener so that you can take action.</p>

<p>Riak comes with a simple catch-all event listener that hears every single event in the cluster and logs them out to a named file.  That can be useful, but more importantly it can serve as an example of the simplicity of the event interface.</p>

			<br />
		<div id="right">
		<div id="footer">

<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-10051263-1");
} catch(err) {}</script>
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.