PLEASE BE AWARE THAT ANY INFORMATION YOU MAY FIND HERE MAY BE INACCURATE, AND COULD INCLUDE TECHNICAL INCACCURACIES, TYPOGRAPHICAL ERRORS, AND EVEN SPELLING ERRORS.

DO NOT TRY IT IN PRODUCTION. USE AT YOUR OWN RISK!

For Official Support, please consult http://wwww.isilon.com

For some days I was having a little problem with the generation of the Isilon InsightIQ scheduled reports.
The problem was the resources allocated for the virtual machine appliance, and the GUI was failing miserably… please, if you create an appliance, give some errors, do some indication of what “in the earth” can be the reason for the fact that a user is issuing a command and *nothing* happens!
For sure support says “that was on the documentation for the blah blah blah installation”. Something on the documentation does not give you the right to not display error messages or handle errors on your application.
Actually the provisioning for VM’s on our environment is automated and if we are talking about a “appliance VM”, the configurations should be on the xml file or something. But that is not the case…
After add the minimum memory required for the virtual machine, everything was working fine. But how to create the older reports? We need to generate them… Oh ok, I need to edit the report, change dates execute it and etc? That is some kind of joke right?
Well, I did need to generate ~15 reports (that was the time support took to end this case), and so I could manage to automate the process to create the reports like this:

First step was to figure out the command to create the reports, and I could get some clue from the appliance’s logs (/var/log/insightiq.log).

Second, we need to inform the timestamp to the command to create the report, so we need to convert the actual date to it. Here is just one of the ways you can do it:

 REPORTSTAMP=`date -d 2012-03-12 "+%s"`
 

And here is the actual command to generate at the command line a report on InsightIQ appliance (some variables to make it simpler. Remember to make changes in the cluster_guid and path to your datastore):

WKHTMLTOPDF="/usr/bin/wkhtmltopdf-i386";
WKHTMLOPT="--javascript-delay 110000";
URL="http://localhost/reports/performance/scheduled? \
start_time=$REPORTSTAMP&interval=86400&performance_report_id=user- \
4&cluster_guid=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
FILE="/net/mycluster/ifs/myshare/generated_reports/ \
daily_perf_mycluster_$REPORTSTAMP.pdf";
 

So, the next step is just to execute:

 $WKHTMLTOPDF $WKHTMLOPT $URL $FILE >/dev/null;
 

After that I was thinking that my report would be on the Web GUI and I could visualize it and send it to my email… wrong. The Web GUI pick the reports informations from a SQLITE3 database (I think because users can have *a lot of* saved reports). So, after some digging (and internet search to know some basics about SQLITE3):

# SQLITE3 (Need to update the DB to be able to see the new report on web gui)
# Stay in mind that this is just a quick and dirty way to guess the current id.
# We are not handling cuncorrent executions, or NASDAQ variations...

# Guess the current id from the table...
CURRID=`sqlite3 /net/mycluster/ifs/myshare/archive.generated_reports.sqlite3 \
'select * from generated_reports' | tail -1 | awk -F\| '{print \$1}'`

# Increment the id...
NEXTID=`expr $CURRID + 1`

# Insert the new report on the database (sqlite3)...
sqlite3 /net/mycluster/ifs/myshare/archive.generated_reports.sqlite3 \
"INSERT INTO 'generated_reports' VALUES($NEXTID, 'user-4', \
'Daily Perf mycluster', 'mycluster', '24-hour', $REPORTSTAMP, \
'daily_perf_mycluster_$REPORTSTAMP.pdf');"
 

Now yes, we should have our new report on the Web GUI on InsightIQ, and be able to visualize crucial informations about the cluster performance. I need to say that we have really rich informations on the InsightIQ reports. And the interface is really clean (actually too much, because no errors or warnings are displayed).
I’m learning some neat commands on this platform to solve some problems (like the above one), that support takes days to answer. I will try to post here some of them in case somebody else needs and have the same support experience as I did.
peace