Skip to main content

A very simple server monitoring solution.

Project description

GraphIT ?

GraphIT is a really simple monitoring solution. Unlike other solutions like Cacti, GraphIT is very quick to setup, and very easy to use. On the other side, GraphIT is not designed for large monitoring task, and it targets geek who want to monitor their server in a simple way.

GraphIT is client/server based, uses SQLite as database backend and HTTP as transport protocol. It use REST (Representational State Transfer) principle to exchange data between agents and server, and server and frontend. All data are formated in JSON format.

Agent is a simple HTTP client that support POST request. A Python library is provided to facilitate agents creation in Python.

Frontend is a simple web page with JavaScript that queries GraphIT server with Ajax. Charts are rendered with flot JS library.

Setup

Installation

The installation is really simple, you just have to type that command (after installing setuptools package on your distro):

easy_install graphit

Configuration

Configuration is exclusively made with help of graphitd command parameters. Type graphitd --help to have a list of available parameters.

GraphITize installation

GraphITize is the JavaScript/HTML frontend of GraphIT. Download from http://idevelop.org/p/graphit/downloads/ the latests version of GraphITize. Uncompress it on your web server.

Rely on provided index.html to understand how GraphITize work (it’s so simple !!).

You can host GraphITize on other server than GraphIT, and even run it on your desktop, without web server.

GraphIT implement JSONP and OPTIONS http method for Ajax Cross domain. JSONP is used by default because OPTIONS http method is only implemented on recent Firefox and Webkit versions. To use this latter, remove the “callback” parameter in your URL when you call graphitize().

Agent creation

Agent Python library is installed with server package (see Setup/Installation). To use it, you have to import GraphItAgent in graphit.client :

>>> from graphit.client import GraphItAgent

Then, you have just to instanciate it :

>>> agent = GraphItAgent('http://my-graphit-server/', login='graphit',
passwd='secret')

Finally, to submit monitoring data use add_value method :

>>> agent.add_value(set='df', feed='sda', value=42, unit='%')
n
It's that easy!

Changelog

0.4:

  • Graphid database now use index on it database. That really improve response time on query… The modification only concerns new database creation, so, to create index on old database : sqlite3 <path to database> "CREATE INDEX "main"."idx" ON "monitdata" ("date" DESC, "set" ASC, "feed" ASC)" Thanks to Thibault VINCENT for idea.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

graphit-0.4.tar.gz (7.3 kB view hashes)

Uploaded source

Built Distribution

graphit-0.4-py2.6.egg (14.6 kB view hashes)

Uploaded 2 6

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page