Qna frustration: howto use qna - tip needed

Hi.
I am new to BigFix - looks like fun down the road.

I am reading the manual, I am reading simple fixlets and I am trying to get a feeling for relevance evaluation.

As an example: Fixlet #15: BES Clients have the wrong time (paraphrased)

I was thinking I could do a simple cut/paste from the details pane to the QNA

( ( now - apparent registration server time ) > 1 * hour)

I was expecting at least True/False - just like (1 > 0) does.

Instead I get:
Q: ((( now - apparent registration server time ) > 1 * hour))
E: No inspector context.
T: 1315

And when I try:
1 * hour and (1 * hour) the A: is the same (01:00:00) but the T value changes.

I am sure I am doing something (simple) wrong - but I am not finding it the PDFs.

Thanks for a tip - better “the” tip.

Hi!

Welcome to the forums! You’ve stumbled on some interesting things for your first times using QnA :slight_smile:

When you’re using QnA you’re actually using a separate relevance engine from what the client uses and so when you get an error, “No Inspector Context” that means that QnA doesn’t know how to answer that question but the client would.

On Windows we can route a QnA Question through the client by opening Fixlet Debugger, clicking Debug at the top, open Evaluate Using and change it to Local Client Evaluator.

Note: This will be very very slow as we have to wait for the client to find time to crunch our relevance. Only use this mode when you have to!

The T value is simply the amount of time in microseconds that the query took to run. This is useful to check the impact of your queries. If it takes you a minute to run a query in QnA then that means it will take a long time on the client – it helps you identify, “expensive” queries.

Does that help?

1 Like

Yes, very much so.

FYI I was getting the same result in both windows (next to console) qna.exe as well as with the “Ctrl-Alt-Shift-D” and then open Presentation … It sounds like you mention something extra to “activate”. At least, that is what I shall look for.

read: I hope I find all the dots on this path: “On Windows we can route a QnA Question through the client by opening Fixlet Debugger, clicking Debug at the top, open Evaluate Using and change it to Local Client Evaluator.”

Related (I hope) - I see there are QnA apps for the different platforms, e.g. AIX. Does this mean the QnA is working “like” the client, or does it query via the client? Or am I being too optimistic?

Presentation debugger is for a special kind of relevance that you hopefully won’t have to deal with.

The relevance you’re interested in is client relevance. in your particular case you’re hoping to get a piece of information that only the client itself knows (there are others like this). Which is why it won’t run using QnA. The nice thing in this situation is that most things that require, “client context” will use the same relevance across platforms so you can build it on Windows and it should work on aix

My understanding is that fixlet debugger on Windows is the only platform where we can route requests through the client. Every other platform just has QnA which uses its own engine and will not know things like registration server time.

Here’s what the client context setting looks like on Windows: https://forum.bigfix.com/uploads/default/original/1X/6f6b4d8c6d069c9bd3cb5dc552558f9c446c7ebc.PNG

Now I am curious about what “Presentation Debugger” is, but that is for another day.

The manual told me what .exe to look for (I had also downloaded a zip file, but was unhappy with the differences in filesize between the qna.exe in the BES Client directory. Ultimately, I just ran the fixletdebugger.exe in the BES Console/QnA directory.

So, since the “platform” QnA cannot query directly - if I wanted to “troubleshoot” why relevance was not going away can I just “append” the output of relevance? Somewhere I saw someone mention using a command “append” with registration server as argument - to know what the registration server was.

So, closing question for this thread: is append that flexible - that I could debug/troubleshoot relevance in context of a client (e.g., custom properties that windows would never have)?

p.s. Thanks again. I have enough to keep me busy for awhile!

Hi,

Generally you’ll use QnA for normal stuff, fixlet debugger on Windows. QnA will work for pretty much anything you want to do, there aren’t many things that require client context.

You’ll use fixlet debugger in client evaluator mode for client “things”.

Once you’ve got your query you can make an analysis in your console and use the relevance in a property. This will cause your clients to evaluate the relevance and return the answers to your questions!

Troubleshooting client context relevance on non windows machines is, “Fun”

hmm - got a reply via email, but do not see it here (yet).

The reply mentioned the “up and coming” WebUI. And I say “up and coming” because I was told to think of it as the future, but that it is not quite production ready.

The screen shot referenced makes me think I should also be looking at it - as it may have things the windows based console will never receive.

More “fun” :slight_smile:

WebUI is a current product on the more recent platform builds. You can definitely deploy WebUI now.

Additionally yes there are some features that are primary being developed for WebUI over the Console.

Fixlet Debugger / QnA: Executes Client Relevance (which is what would be used to create Fixlet & Task Relevance (and Relevance Substitutions in ActionScript), and to create Analysis Properties. It’s used to query the state of things on the client.

The Fixlet Debugger works like a “copy” of the BigFix Client. It can query pure-OS things like file paths and contents, Registry, RPM database, etc. just like the normal BigFix client.

But because it’s a copy of the BigFix client, there are some things that it can’t tell because it doesn’t have the context of the real client. It doesn’t know things like “registration address of server”, because that’s only known within the real client’s context. Also, it’s not constrained by things like CPU throttling that is enforced on the real client.

For Windows-only, the Fixlet Debugger has an option to switch from “Local Fixlet Debugger Evaluator” mode to “Local Client Evaluator” mode (on the Debugger-> Evaluate Using" menu item). In “Client Evaluator” mode, it actually passes the query to the real BigFix client, so that it can access client-only properties like “registration address of server”. However in this mode it also is limited to the real client’s CPU use, and must “wait its turn” in the client’s evaluation cycle before it can get a result.

(An interesting note is that you can run the Fixlet Debugger without even having the BigFix client installed. I’m posting this from home, where I can try things out in the Debugger though I don’t have BigFix here. You can download the Fixlet Debugger separately from the BES Client on the Utilities download page.)

Session Relevance is a query that’s evaluated by the BigFix Server, not by the individual clients. This is what you are executing in the BigFix Console Session Debugger or in BigFix Web Reports. The language constructs and syntax are the same as Client Relevance, but there are different Inspectors that can be queried. Many of these Session Relevance-only inspectors have names starting with “bes”, such as “bes computers”, “bes sites”, “bes fixlets”, etc.

Session Relevance is useful in some of the more advanced customizations like creating Custom Dashboards, Custom Web Reports, and REST API for importing/exporting data or performing other integrations / automations. Hopefully you won’t need to do much Session Relevance until you have a chance to get a firm grasp on Client Relevance, as trying to learn both at the same time would be confusing.

2 Likes

Oh yeah, Welcome to the forum!

Regarding your error message …

The only time you should see that message is when you’re using the Fixlet Debugger, you are evaluating in “Local Fixlet Debugger Evaluator” context, and you’re querying for a property that’s only known to the real client. That’s usually the cue to switch to “Local Client Evaluator” context. But when you do that, the query is going to run a lot slower.

It’s common to have a lot of separate queries listed in the Debugger as you’re working to a solution. So if you have to switch to Local Client Evaluator mode, you’d be well-advised to open a separate QnA tab, and copy/paste in just the one query you need to run. That way you’re only waiting for one slow query, and not all of them.

Also, as you’re building up queries in Fixlet Debugger, it’s good to save often. You won’t be able to save once you start running a query that takes forever or crashes the client (for instance, looking for something like descendant files of folder "C:\" may take longer than you’re willing to wait.

When you say you’re “reading the manual”, unfortunately that could mean a lot of different things. BigFix is not immune to IBM’s practice of distributing their documentation by shotgun and carrier pigeon. A few different places worth looking -

I’d recommend starting with the Relevance Guide PDF file. There’s a link to it from here:
http://www.ibm.com/support/knowledgecenter/SSQL82_9.5.0/com.ibm.bigfix.doc/Platform_pdfguides.html

https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Tivoli%20Endpoint%20Manager/page/Fixlet%20Authoring
Looks like a more recent effort to consolidate a lot of their information.

https://developer.bigfix.com/
This looks like “The Future” of where the BigFix Documentation is headed, but I’m not sure that everything’s been consolidated here yet.

http://bigfix.me
Community site with a lot of customer-generated Fixlets, Analyses, etc. that you can download & import to your server, or just use as a guide for your own customizations. A lot of the IBM-provided content looks like it’s auto-generated, while a lot of things on BigFix.me are written by real people and is thus much more readable.

1 Like

Thanks for all the tips. By reading the manual - I should have said manuals - 9 PDF’s with BigFix 9.5 on/near the title page.

Reading the manual, then going back to the interface helps remember context. Otherwise I can nearly never how/why something seems important when in the UI.

Michael

p.s. I followed the links - and I hope they keep the PDFs up to date as well. I go crazy trying to remember where I am when ‘browsing’, and with a good PDF reader it is easy to make your own annotations.

I hinted at I do not love the “future” of documentation -too much browsing, and I am thinking now - not enough offline.

What I am looking for is a PDF document for WebUI compareable to the BigFix Console (as I am assuming that WebUI is to “replace” the console.

Found the documents - and both are PDF! :slight_smile: via https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Tivoli%20Endpoint%20Manager/page/BigFix%20WebUI

So, back into QNA - but now via the WebUI.
a) logged as a POWERUser, basically, everything except "master"
b) I found the query all, and saw all the pre-defined queries were locked
– tried one anyway and failed - not authorized
b) went back to the Console, and in the WebUI “query”, found my user id, double-click, added explicit permissions to allowed and saved
c) logout and login again
d) tried and still failed to do do a query.

I expect it is something simple - and I hope to find it in a manual before anyone has time to answer - but I consider it to be - at this moment - not as straight forward as I had hoped.

Sorry, don’t think that I’m ignoring you, but I haven’t installed or used WebUI yet.

I’ve never thought of PDFs as a good thing. I personally much prefer HTML pages, and finding things through google searches.

PDF is not the answer to all - when I (or one) is uncertain about where an answer may come from - so yes, “google” other experiences - but a manual is still needed to at least learn what the developers - try to explain" aka say is their intent for a command or screen.

Hello, you guided me into the evaluation of this relevance : “not pending restart” which did not allow a fixlet to become relevant on a certain machine. Thank you very much.