Send email with baseline/fixlet results when completed

Is there a way to send an email containing the results of a baseline, fixlet or action when the activity has completed? I’m able to send an email saying something like “done” but I’d like to include the list of computers impacted and the status/exit code to make it easy to see what worked and what didn’t.

Nobody has a solution for this? Does that mean it can’t be done?

Easiest way is probably to use a Scheduled Report out of BigFix Web Reports. You can can get a report of all of the action statuses, and schedule it either on a set frequency, or when the report changs, or via a custom session relevance.

When I view the report of a baseline it shows me the components with reported, fixed, failed. If I drill down into each component I can see the individual computers that the action applied to and the result of each.

How can I get a report that shows the detailed information for each component (computers applied to with results)?

You will probably need to use a custom report for that, or use the Scheduled Compliance report:

In theory I see requirements to either perform an analysis or create a post action script that would read a set of log files, looking for errors, warnings, unable, fail, etc. and build a compiled columnar report that you would send as email report.

I thought BigFix uses SQLite DB and if so would it be possible to access with a BI reporting app like Cognos, Business Objects or Pentaho?

Is the BigFix DB accessible with SQL or maybe using Perl dbi?

I would up writing something in VBScript that checks the status of baselines every 15 minutes and if the baseline is has completed, expired or if every affected computer has reported that it’s done processing the script will send an email.

The database itself is either MS SQL (for Windows root servers) or IBM DB2 (for Linux root servers).
It’s possible, but discouraged, to query/export the database directly, as the schema is subject to change between versions.
Instead, the recommendations are to use the REST API to query data. There are some details and examples at https://developer.bigfix.com , including examples with curl, powershell, and perl.

Have you looked at the Notification Server that’s part of Server Automation?

We don’t have Server Automation, only Patching.

Then a REST API integration to query status of action on some schedule like @JasonWalker mentioned previously is likely your best option.

Also you can use WebUI . And schedule an email after is complete it

Catch 22? The WebUI is NOT recommended to be installed on the BES Yet Notifications will only work if the WebUI service is co-located with the Notification Service installed. Only the Notification Service cannot be installed unless you install the BES Plug-in for SOAP/REST API, which, as the name implies, can only be installed on the BES. :crazy_face:

Am I missing something? Has anyone be able to configure the Email Notification option in WebUI when the WebUI is on a separate server?

Email notifications are working in our environment even though I installed WebUI on a separate server.

Do you remember your steps? You had to make it a relay? Install the Notification Service? Etc?

I had setup notifications long before WebUI came on the scene so that part known to be working. Then when I installed WebUI, I happened to choose one of our relays to host that role. No other configuration was necessary (that I recall).

Anyone has any working example of this? I tried to write api but than it gets too complicated with subactions.

It’s a very old thread, I wouldn’t even bother using API for it (it will take too long to write and requires external schedule/execution)… The easiest way would be directly from Web Reports’ native functionality and session relevance - write yourself the report you need (if you can use the grid, so be it, otherwise it may need custom WR) and then when you schedule it you add sesssion relevance trigger based on whatever it is that you want. For example, something like this should run every hour but will only send you results if it finds actions with the specified name that were executed fully on machines within the last hour and the result of the execution was failure.

exists results whose (exist end time whose (now - it < 1 * hour) of it and status of it as string = "Failed") of bes actions whose (name of it contains "Monitored Actions")

5 Likes

Thanks. Finally i was able to achieve this using a python script querying the API and sending email.