By default, all reports run on demand, presenting information when you run the report. To schedule reports, you can use the reportmail
tool. This allows you to select a report and email its output to a list of recipients according to 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 <joe@example.com>
every Monday morning at 6 a.m.
Locate the URL to the Availability Report by navigating to it in the Web interface.
Log in to your Zenoss server and switch to the zenoss user by running the command:
su - zenoss
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://public-demo.zenoss.com/zport/dmd/reports#reports:.zport.dmd.Reports.Performance%20Reports.Availability%20Report $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
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.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
Run the following command on your system server for help on
crontab
formatting:man 5 crontab
Save the
crontab
.
The following table contains all of the command line arguments for the reportmail tool.
Argument | Explanation |
---|---|
-u URL, --url=URL | Uniform Resource Locator of report to send. This also can be the URL of any other page in the system. |
-U USER, --user=USER | User to log in to the system. This user must have permission to view the supplied URL. |
-p PASSWD, --passwd=PASSWD | Password to log in to the system. |
-a ADDRESS, --address=ADDRESS | Email address for report delivery (may be given more than once.) Default value comes from the user's profile. |
-s SUBJECT, --subject=SUBJECT | Subject line for email message. Default value is the title of the page. |
-f FROMADDRESS, --from=FROMADDRESS | Origination address for the email being sent. |
-d DIV, --div=DIV | DIV to extract from the HTML at URL. The default value is contentPane, which will work for all default reports. |
-c COMMENT, --comment=COMMENT | Comment to include in the body of CSV reports. This is used only if the URL returns comma-separated value data. Most default reports can return CSV-formatted data by appending ?doExport to the end of the URL. |