2. IInnttrroodduuccttiioonn
A self service alerting and dashboard frontend for graphite
and ganglia. This tool was first presented at EscConf during
a presentation by D. Rowe from Wayfair.
Graphite is graphing done right.
It lets the user design graphs easily.
It makes adding multiple data series to a graph simple.
It allows for on the fly data set manipulation while graphing.
3. CCoonncceeppttss
Checks
A Check is a graphite or ganglia target in combination with a
user defined Error and Warning threshold.
Subscriptions
A Subscription is a users signing up for to be alerted by a
plugin if the Check reaches the Error or Warning state. A user
can have multiple subscriptions to an alert based on different
threshold and plugins. (Example : SMS for Error, and Email
for Warning)
Alerts
An Alert is the signal that the Check either passed it's defined
Error or Warning threshold, or it's returned to the OK state
from being in a bad state. The frequency of Alerts is defined
by the Repeat Delay (in minutes), which can't be less than the
frequency of the processing cronjob.
Dashboards
A Dashboard is a collection of pre-defined graphs that allows
for self service creation and has a fullscreen option.
Graph
A Graph in Tattle is a combination of "lines" which make up
the graph. A graph can have one or more lines, and can set
the display type of the graphs (Stacked or Not) and has a
5. IInnssttaallllaattiioonn aanndd
CCoonnffiigguurraattiioonn
Import .sql file to create database and tables
Create a session storage folder for flourishlib
Create a file called inc/config.override.php so that
upgrades don't blow away your config
<?
$GLOBALS['DATABASE_HOST'] = '127.0.0.1';
$GLOBALS['DATABASE_NAME'] = 'tattle';
$GLOBALS['DATABASE_USER'] = 'dbuser';
$GLOBALS['DATABASE_PASS'] = 'dbpass';
6. CCoonnttiinnuueedd......
Edit inc/config.php with the correct settings (Examples db
password)
Create a logs folder which is writable by your webserver
user
Setup cronjob to to run processor.php. This file can be run
either as a cli or through the web server. (cli maybe required
depending on your plugins and their required permissions)
Register via the web interface. (The first user registered is
the admin currently prior to us implementing any roles, and
other permissions)
If you are on EL6 or a recent Fedora , make sure your php.ini
has short_open_tag = off commented or you will get bogus
output.
7. DDaasshhbbooaarrdd
CClleeaannuurrllss
If you have apache, with mod_rewrite enabled and allow
.htaccess files you can try the new Clean Dashboard urls.
Initial urls look like this:
http://localhost/dash/1/500/300
The second parameter should be replaced with the
dashboard id you want to see. The third parameter
represents the heigt of the individual graphs. The fourth
parameter represents the width of the individual graphs.
8. HHTTTTPP AAuutthh BBaasseedd
UUsseerr AAccccoouunnttss
If you are already using Web Server based authentication,
then you can tell Tattle to use those credentials instead of
keeping two sets of user accounts.
just set the following config variable to true in your
config.override.php file:
$GLOBALS['ALLOW_HTTP_AUTH'] = true;
9. RReeaassoonn ffoorr ccrreeaattiioonn
StatsD from the team over at Etsy added a simple Dev and
Ops friendly way to send metrics to graphite.Graphite makes
graphing metrics and data self serve and simple for anyone.
With this tag team in our environment alerting seemed to be
the weakest link from an adhoc/self service perspective
which is where the idea for Tattle came from.
10. GGooaallss ooff GGrraapphhiittee--
TTaattttllee
Self-serve interface.
So simple, anyone can use it.
Let the user define the thresholds and notification method.
Interface with the new Graphite event functionality.
Utilize the new Graphite Flot Interface.