Looking to Make a Report to Show Source Release Date and Time Issued

Hello,

We are trying to show compliance to a possible new client and as part of the process I would like to make a web report showing patche namess and KBs from a date I set like March 2019, up to now as well as those patches release date and our time issued; however, I can only seem to do a action report for time issued, and a content report for source release date, but I can’t find a way to put them together. Is this possible in web reports or some other way in BigFix?

Ken

Would it be possible for you to share a dummy version of the type of output you want? Specifically around how you want to handle fixlets that have been issued more than one. Something like this?

Fixlet name - Release Date - Earliest time issued

All things are possible through session relevance, it’s just a matter of structuring the query.

1 Like

Hi alinder,

I would want this report to run from March 2019 to now and the columns I envision something like:
Fixlet Name - Source ID (KB Number) - Computer - Source Severity - Source Release Date - Time Issued

For fixlets that have been issued multiple times, which would be all of them most likely, could I just stack the fixlet names on top of each other in the report with the different computers in the 2nd column?

Also curious in Web\ Reports where can I specify relevance it seems like it doesn’t allow for much customization, or can it be done in BigFix console somewhere I am just missing?

Thanks,
Ken

You can create Custom Reports in Web Reports, which are built from Session Relevance: https://developer.bigfix.com/relevance/guide/session/. Session relevance is a whole different beast than client relevance, and is used to report on your BigFix Environment. You can evaluate Session Relevance queries against your environment in a number of ways, but my favorite is in Web Reports itself. You can open a Session Relevance QnA page by going to https://yourwebreportsserver/webreports?page=QNA.

This is going to be a somewhat complicated session relevance statement. I’m about to grab some lunch, but I am happy to put something together to get you started in a little while.

I also wonder whether you might have some luck building a report like this with the BigFix Excel Connector. That’s a nice way to bridge the gap between creating custom reports and having another tool abstract the session relevance for you: https://developer.bigfix.com/tools/excel_connector.html

2 Likes

Thanks alinder, much appreciated!!

I tried this string in the qna you linked me so thanks there:

(name of source fixlet of it, source severity of source fixlet of it as string | "n/a", source release date of source fixlet of it as string | "n/a" , time issued of it) of bes actions whose (exists source fixlet of it)

That should cover most of what I need, I think, but I am unsure where in web reports to make a custom report with relevance. I looked through your other link but I just don’t see where in web reports I can do custom reports.

I saw in one guide there is supposed to be a custom next to unmanaged towards the top, but I don’t see that. I tried setting “AllowUserViewCustom” to 1 in registry of my bigfix server and restarting the BES Web Reports Server service, but no luck with custom appearing, if that is even what I need.

Great! Glad you’re off to a good start. One thing to note is that if the fixlets you want to report on were pushed as part of a baseline, you will need something more complicated than source fixlet of bes action. Let me know if that’s important to you.

In terms of seeing custom reports, I think you might need this key instead:

HKLM\Software\WOW6432Node\BigFix\Enterprise Server\BESReports\AllowCustomReportCreation

If you set that to one and restart the services, do you see the custom tab?

The only remaining bit is that custom reports need to have at least an HTML tag indicating they are made of relevance:

<?Relevance names of bes computers ?>

There is all sorts of more advanced formatting you can do with a combination of relevance, HTML, and JavaScript.

Ah ok I made that registry change and now I do see custom however, it doesn’t seem to be that much different. I can set the filter how I want but when I click apply nothing happens in the lower boxes. And yes we do use baselines now that you mention it.

Custom reports are weird – the filter options remain up top, but they don’t actually do anything. You put your session relevance in the Source area, then click “Preview” to see what it will look like.

Yeah I am seeing that now thanks. Now I just have to figure out what syntax to put to get the various columns. I’m guessing each column would need a separate tag or no? Because the QNA seemed to load fine, but not so much here, however, I am not very good at coding.

Yeah, there is additional formatting you have to do. Assuming you’re using the relevance from before, here’s how you would format it into a table:

<HTML>
</HEAD>
<BODY>
      <TABLE border="1">
           <?relevance
tr of concatenation of (th of "Name of fixlet" & th of "Severity" & th of "Release Date" & th of "Time Issued") & concatenation of trs of (td of (item 0 of it as string) & td of (item 1 of it as string) & td of (item 2 of it as string & td of (item 3 of it as string)) of (name of source fixlet of it, source severity of source fixlet of it as string | "n/a", source release date of source fixlet of it as string | "n/a" , time issued of it) of bes actions whose (exists source fixlet of it)
?>
</TABLE>
</BODY>
</HTML>

Basically what we’ve done here is add some very basic HTML framing to the custom report so that it can handle displaying a table, then we’ve used relevance to format the results into the table. Let’s step through that from right to left:

First, we added <td> tags to each element of the tuple (name of fixlet, severity of it, release date, time issued) to indicate that each of them should be a cell in the table. Next, we do concatenation of trs of the tr tags to indicate that the combination of all 4 tuple items comprises one row in the table. Then, we mash on some <th> tags to the beginning, each of which comprises the column header of one of the columns in the table. Finally, We add one last <td> tag to the beginning of the whole statement so we define the header row.

This is all definitely less user friendly than the built-in reports, but it is very powerful. I think I might work on putting a video together for the BigFix Technical Advisor channel (https://www.youtube.com/channel/UCtoLTyln5per0JYzw1phGiQ) on this topic.

1 Like

I also have a presentation about BigFix Console Dashboards and Web Reports, as well as self directed labs. Spoiler: anything you can do in a custom web report, you can also do in a BigFix Console Dashboard.

Thanks to you both that explanation was very helpful. For some reason though its giving me an error that it can’t parse a period, however, I don’t see any in the text block.

You might want to copy and paste that into the Fixlet Debugger so it can give you syntax highlighting. This probably just means there is either one extra or one too few parentheses

Yeah I was just getting, “This expression could not be parsed.” I’ll try tracing the parentheses again though too.

I think this opening parenthessis has no closing counterpart.
concatenation of
trs of (td

I found it, needed a 3rd ) after:

(item 3 of it as string))

Last question, how do you export this as CSV like a normal report? I don’t see that option. Do I have to pipe it out to a CSV file?

1 Like

Unfortunately, since we’ve HTMLified it, I don’t think there’s a way to get a csv out. If you left out all the HTML formatting you’d have what is essentially a bunch of rows of comma separated values, though.

Ah fair enough. There is always copy paste into Excel! :stuck_out_tongue: Well thanks so much for all your help this was a great learning experience.

1 Like

No problem! Happy to help.

1 Like

As threatened, I made a video about how to do this: https://www.youtube.com/watch?v=-KurTtUQxls

1 Like

Excellent! Thanks for that, and I’m glad you mentioned the qna tool because I wasn’t even aware that existed, and it was a pretty big help.

1 Like