Metadata-Version: 1.0
Name: graphit
Version: 0.6
Summary: A very simple server monitoring solution.
Home-page: http://idevelop.org/p/graphit
Author: Antoine Millet
Author-email: antoine@inaps.org
License: GPL3
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()``.
        
        Using Watchers
        ==============
        
        Watchers are prefabricated agents for GraphIT. They are distributed with
        GraphIT.
        
        Watchers needs to be run regulary, you can use a crontask to do that, 
        and you just have to choose an interval (which depend on the need of
        accuracy on the data).
        
        Some watchers need a specific execution interval. For exemple 
        graphit-vnstat is used to get network trafic speed on a specified
        interface. If you make a "snapshot" of speed every five minutes, you
        will have data that will be not representative of average speed of the
        last five minutes, but just during watcher's execution.
        
        To prevent this problem, vnstat is executed for a time specified by user
        (60 seconds by default), and returns trafic speed average for this time.
        
        In this case, you CAN'T execute watcher more than one time by time
        specified, or many watcher instance will be executed at the same 
        time.
        
        Watchers binaries starts with "graphit-" prefix, and are installed at
        the same location as graphid binary.
        
        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='%')
        
        It's that easy!
        
        Changelog
        =========
        
        0.6:
         - ADD: New watchers: graphit-vnstat and graphit-disk.
         - FIX: graphit-mem free information now converted in Mb
         - Code cleanup
        
        0.5:
         - This release introduce "Watchers". Watchers are littles scripts that
           uses Watchers framework and allow to submit data to GraphIT daemon 
           (through Python library for GraphIT). They are somehow prefabricated 
           GraphIT agents, distributed with GraphIT, and usable with a common 
           cli interface.
           Watchers added in this release are graphit-loadavg and graphit-mem.
           See setup to learn how to use it.
           More coming soon.
        
        0.4.1:
         - Bugfix release for a bug introduced in 0.4 release. Graphit will
           now start if index already exists on database.
         - Index will be automatically added if it doesnt exists.
        
        
        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.
        
Keywords: monitoring graph chart restful
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: No Input/Output (Daemon)
Classifier: Intended Audience :: System Administrators
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 2.6
Classifier: Topic :: System :: Monitoring
Classifier: Topic :: System :: Networking :: Monitoring
Classifier: Topic :: Utilities
Classifier: License :: OSI Approved :: GNU General Public License (GPL)
