We have a process that retrieves a list of all registered computers within BigFix every 5 minutes via a call to the “…/API/query” endpoint. We are seeing that some servers are listed on one retreived list, but then are missing on the next one 5 minutes later. The computer is never deleted from the BigFix console though.
Has anyone ever seen something like this before, or where would I even start troubleshooting? The retrieved list is in the xml format and is correctly structured, so I don’t think that the report is terminating before providing all results.
@leewei - anything you can think of that would cause the computer to be missed from one query to the next? It seems to be only clients that recently registered for the first time.
thanks
First of all, I would expect this statement to return exactly the number of computers you have in your environment.
(
name of it | "Name missing",
id of it as string | "ID missing",
database name of it | "Database Name missing",
Last Report Time of it as string | "Last Report Time missing",
concatenation ";" of (it as string) of ip addresses of it,
locked flag of it | False
) of bes computers
Or to make it easy to see the total.
number of (
name of it | "Name missing",
id of it as string | "ID missing",
database name of it | "Database Name missing",
Last Report Time of it as string | "Last Report Time missing",
concatenation ";" of (it as string) of ip addresses of it,
locked flag of it | False
) of bes computers
A lot depends on what you want the output to look like.
What happens if some value is missing (e.g. the Name), do you want to see it?
What happens if a property returns multiple values, do you want to see one row or multiple rows?
The way you have it, if a computer has multiple IP addresses, then multiple rows are returned.
So my example statement is intended to output as many rows as you have computers.
Note that if a property is missing a value, it is substituted with a Text, and if multiple IP Addresses are available for a computer, they are concatenated together.
I would have expected that if properties didn’t exist at the bes client level that I were asking for (like Computer ID for example), then the report query would stop and not continue to dump out results and give an error of "singular expression refers to non-existent object), but that’s not what we’re seeing.
But Yes, this is a good idea to help troubleshoot. Thanks