Archived community.zenoss.org | full text search
Skip navigation
Currently Being Moderated

12.10 Scheduling Reports

VERSION 3  Click to view document history
Created on: Feb 19, 2010 9:39 AM by Zenoss API - Last Modified:  Feb 19, 2010 9:54 AM by Zenoss API

 10. Scheduling Reports

By default, all reports run on demand and present information the moment you run the report. To schedule reports, you can use the reportmail tool. This allows you to pick a specific report and have its output emailed to a list of recipients on a pre-determined schedule. reportmail is a command line tool that is designed primarily to be run out of the UNIX crontab, allowing for flexible scheduling.

The following steps demonstrate how you would set up the standard Availability Report to be emailed to every Monday morning at 6 a.m.

  1. Find the proper URL to the Availability Report by navigating to it in the Web interface and taking note of the URL in your browser.

  2. Log in to your  Zenoss server and switch to the zenoss user by running the command:

    su - zenoss

  3. Create a script that will invoke reportmail with the appropriate options with the following commands:

    mkdir -p $ZENHOME/scripts
    cat <<EOF > $ZENHOME/scripts/emailAvailabilityToJoe.sh
    #!/bin/sh
    REPORTS_URL="http://zenoss.example.com:8080/zport/dmd/Reports"
    
    $ZENHOME/bin/reportmail \
    --user=admin \
    --passwd=PASSWD \
    --from="zenoss@example.com" \
    --address="joe@example.com" \
    --subject="Zenoss: Availability Report" \
    --url="$REPORTS_URL/Performance Reports/Availability Report"
    EOF
    
    chmod 755 $ZENHOME/scripts/emailAvailabilityToJoe.sh

    Note

    You can run reportmail --help on your  Zenoss server for additional help on reportmail options.

  4. Run crontab -e to edit the zenoss user's crontab. You will be presented with an editor that allows you to set up scheduled commands.

  5. Type a capital O to add a new line, and then enter the following job definition:

    # Email availability report to Joe every Monday morning at 6am.
    0 6 * * 1 bash -lc '$ZENHOME/scripts/emailAvailabilityToJoe.sh'

    Note

    You can run man 5 crontab on your system server for more help on crontab formatting.

  6. Type ESCAPE, and then :wq to save this crontab.

 10.1. ReportMail Command Line Arguments

The following table contains all of the command line arguments for the reportmail tool.

ArgumentExplanation
-u URL, --url=URLURL of report to send. This can also be the URL of any other page within Zenoss.
-U USER, --user=USERUser to log into Zenoss. This user must have permission to view the supplied URL.
-p PASSWD, --passwd=PASSWDPassword to log into Zenoss.
-a ADDRESS, --address=ADDRESSEmail address for report delivery (may be given more than once.) Default value comes from the user's profile.
-s SUBJECT, --subject=SUBJECTSubject line for email message. Default value is the title of the page.
-f FROMADDRESS, --from=FROMADDRESSOrigination address for the email being sent.
-d DIV, --div=DIVDIV to extract from the HTML at URL. The default value is contentPane which will work for all default reports.
-c COMMENT, --comment=COMMENTComment to include in body of CVS reports. This is only used if the URL returns CSV (comma separated value) data. Most default reports can return CSV formatted data by appending ?doExport to the end of the URL.
Comments (1)