SourceForge.net Logo

Beeper: Introduction

Beeper is a complete standalone Java application designed to monitor systems at the application level. Beeper supports a flexible XML-based configuration subsystem allowing users to easily describe the path to a network accessible resource. Beeper will retrieve (on demand or via automated scheduling) data from these varied sources (using Spider functionality) and then verify portions of its content and/or structure. Beeper was designed with ease of extension as its highest priority, so its default configuration can be easily modified and extended to support other third-party or proprietary invocation or dissemination methods. Beeper already supports easy integration with the popular opensource low-level system monitoring tool Nagios, see the installation docs for more detail.

To demonstrate Beeper's ease of use, a sample Beeper configuration file is listed below:

    <task domain="website" source="google" subject="search" id="english" >    
        <contacts>
            <address value="notify-me@somedomain.com" />
        </contacts>
        <expected-content>
            <regex value="If you typically [a-z ]* in a specific language or languages"/> 
            <literal value="Search Specific Languages or Countries" />
        </expected-content>
        <target>        
            <file format="html" >
                <url>
                    <literal value = "http://www.google.com/"/>
                </url>                    
                <link>
                    <regex expression="Lang[a-z]* Tools" />
                </link>  
            </file>                
        </target>
        <schedule>
            <minute value="0"/>
            <minute value="15"/>        
            <minute value="30"/>                
            <minute value="45"/>                        
        </schedule>                
    </task>        
    

This configuration file:

  • pulls the first page from the google.com site
  • searches for and follows the first link matching the regular expression "Lang[a-z]* Tools"
  • sends a notification email to "notify-me@somedomain.com" if either of the two content verification tests fail
    • determines whether the regular expression "If you typically [a-z ]* in a specific language or languages" appears on the target page
    • determines whether the literal "Search Specific Languages or Countries" appears on the target page
  • performs this test every 15 minutes