Hi folks … I while ago I wrote a RP to give us a overview of the count of critical fixlets per server in the console … . I’m now looking to expand on it or at least add some functionality … so was wondering whether the following is possible based on the code below.
get the fixlets names as well
exclude hidden fixlets
if name of operating system = “Win2003” OR name of operating system = “Win2008” then (number of relevant fixlets whose (value of header “Subject” of it as lowercase starts with “ms0” AND value of header “Subject” of it as lowercase does not contain “corrupt” AND value of header “x-fixlet-source-release-date” of it as date > “01 Jan 2007” as date AND value of header “x-fixlet-source-severity” of it as lowercase = “critical”) of sites whose (name of it = “Enterprise Security”)) else nothings
You are returning the count for the statement right now with “number of relevant fixlets”, you can change that to “values of headers “Subject” of relevant fixlets”.
So the statement will look like:
if name of operating system = “Win2003” OR name of operating system = “Win2008” then (values of headers “Subject” of relevant fixlets whose (value of header “Subject” of it as lowercase starts with “ms0” AND value of header “Subject” of it as lowercase does not contain “corrupt” AND value of header “x-fixlet-source-release-date” of it as date > “01 Jan 2007” as date AND value of header “x-fixlet-source-severity” of it as lowercase = “critical”) of sites whose (name of it = “Enterprise Security”)) else nothings
You cannot exclude the hidden fixlets in this manner, because the hiding is done on the Server side, and the clients do not know about it.
Save this for the next time, but an alternate way to get your data is to write session relevance on the server side.
I don’t recommend this approach. Basically you are returning data that the console already has and instead of using the console’s efficient mechanisms of transferring and storing this data, you are returning long strings of data…
Perhaps a custom report will work best for you to display this data in some format that you are looking for?
ben, we use the data as well as some other bigfix data which is part of a master report that pulls data from many sources. Once its in bigfix as a analysis or RP, its the extracted to a near line database export then onto a central datastore for all configuration data - this is done using the BF database views. Finally custom reports are built from the configuration data store and presented to the end user.
I don’t believe web reports can help us in any way? can you think of another way to easily extract the data lowering the overhead you mentioned?
also i said RP but i would create this as an analysis, it that more efficent …
The data that you are looking for is accessible in the database views as well as through the SOAP API (http://support.bigfix.com/bes/misc/soapapi.html). The SOAP API would be the most efficient way to get the relevant Fixlets for the computers.
You can build the queries yourself for your integration or you can work with our services team query the info.
<?relevance html tag "table" of concatenation of html tags "tr" of (td of link of item 0 of it & td of concatenation " " of links of elements of item 1 of it) of (item 1 of it , intersections of (relevant fixlet set of item 1 of it ; item 0 of it)) whose (size of item 1 of it > 0) of (set of fixlets whose (globally visible flag of it AND locally visible flag of it AND number of applicable computers of it > 0 AND (it as lowercase starts with "ms0" AND it as lowercase does not contain "corrupt") of name of it AND source release date of it >= date "01 Jan 2007" AND source severity of it as lowercase = "critical") of bes site whose (name of it = "Enterprise Security") , computers of results whose (exists value whose (it starts with "WinXP" or it starts with "Win2003" or it starts with "Win2008") of it) of bes property whose (name of it = "OS")) ?>
Paste the text above into a custom report in web reports and you’ll get a table with two columns. The left column has each computer with at least one relevant Fixlet meeting the criteria, and the right column has links to each of the relevant Fixlets meeting the criteria.
It haven’t tested this on more than a few machines. It probably needs more error checking to get it working in a production environment, but hopefully it will get you started.
The SOAP API uses a very similar mechanism to the way web reports passes credentials… You can use HTTPS if you have security concerns.
In our tests (on a LAN), we generally expect about a 1-sec response time for each SOAP query to handle the back-and-forth. If there is low bandwidth and you are transferring a lot of data, it could be longer… (Note that some queries take longer than others, but you will need to deal with that whether you are on a WAN or LAN).