Practical Guide to Relevance
Ben Kus – 1/31/2008
IT Just Works
©2008 BigFix, Inc.
Presentation Goal
• Explain Relevance
• Help Relevance beginners get started
• Help round out knowledge for more advanced users
• Explain some tools and resources
• Teach some tips/tricks
• Caution against some potential pitfalls
October 15
IT Just Works
2
©2008 BigFix, Inc.
About Relevance
• Origins of Relevance
– Created in 1997
– We needed language that could describe computer issues
– No other good languages available
• Design Goals
– Query-only language – not allowed to change things
– Powerful – be able to express very complicated expressions
– Cross platform – language shouldn’t be OS dependent
– Extensible – add new “inspectors” over time
– Easy to read – should be readable by untrained users
– Reasonable learning curve – easy things easy, hard things not
too hard (make relevance author’s life as easy as possible)
October 15
IT Just Works
3
©2008 BigFix, Inc.
Compare Relevance to other Languages
• How does Relevance compare to other languages in
terms of the design goals (Ben’s opinion):
Language
Query
only
Powerful
Cross
Platform
Extensible
Easy to
read
Learning
Curve
VBScript
No
Yes
No
Yes
No
Medium
Jscript
No
Yes
Yes
Yes
No
Medium
WMI
Sorta
Not really No
Yes
Yes
Easy
PERL
No
Yes
Yes
Yes
No
Medium
C++
No
Yes
Yes
Yes
No
Hard
.INF
Yes
No
Yes
No
Yes
Easy
Relevance
Yes
Yes
Yes
Yes
Yes
Easy
October 15
IT Just Works
4
©2008 BigFix, Inc.
Relevance Attributes
• Relevance queries …
– will not change your computers
– will try to avoid causing network traffic (if at all possible)
– can be “English-like” for easier reading
– will generally try to find the most efficient way possible to get the
information
– will always try to be “safe” and “standard”
• BigFix spends a lot of time maintaining the Relevance
language and inspectors to meet all these goals as much
as possible
October 15
IT Just Works
5
©2008 BigFix, Inc.
Terminology
• Relevance – Language name
• Relevance Engine – Engine that processes relevance
• Inspectors – “objects” in the Relevance Language
•
•
•
•
(“operating system”, “rpm”, “ram”, “time”, etc.)
QnA (or “Fixlet Debugger”) – Tool to evaluate relevance
Actionscript – BigFix action language (not Relevance)
Fixlet – Relevance + Action + Description
Property – Relevance query the agent returns
October 15
IT Just Works
6
©2008 BigFix, Inc.
The Many Uses of Relevance
• BigFix uses Relevance for many reasons:
– Retrieve properties from agents
– Used in Fixlets / Tasks
– Used to define actions and constraints
– Customize ClientUI
– Used in Dashboards/Wizards (session relevance)
– Basis of Custom Reports (session relevance)
October 15
IT Just Works
7
©2008 BigFix, Inc.
BigFix Inspectors
•
•
Each Inspector is built by BigFix to make it easy for Relevance
authors to get information
There are many, many inspectors for all OSes
– file, folder, registry, rpm, wmi, processor, ram, pkgmgr, time, string,
metabase, running application, regapps, dacls, …
•
•
Each inspector is programmed by BigFix to get information through
whatever the best mechanism (mostly OS API calls)
The size of the full inspector guides give a sense of the amount of
inspectors:
–
Almost 400 pages for Windows
– 200+ pages each for Linux, Solaris, HPUX, AIX, Mac
• BigFix Goal:
– Continue to make more inspectors to make our customers have more
flexibility and ease of use
October 15
IT Just Works
8
©2008 BigFix, Inc.
Where to begin?
• BigFix provides Relevance training courses
– Company-specific classes available
– Regional classes available
• Many people learn Relevance on their own
• One key to learning Relevance is the Fixlet Debugger
– http://support.bigfix.com/fixlet/
• Try some basic queries
• Steal Relevance and modify it yourself!
– From BigFix Fixlets, Properties, Forum posts, etc.
October 15
IT Just Works
9
©2008 BigFix, Inc.
Some Major Forms of Relevance
1. <Property> of <Object>
–
–
Q: size of file "c:\boot.ini"
Basic form of relevance
2. if (condition) then ("T") else ("F")
–
–
Q: if (exists file "c:\boot.ini) then (size of file "c:\boot.ini) else (0)
Good for analysis or retrieved properties
3. <Property> whose (condition of it) of <Object>
–
–
Q: size whose (it > 10) of file "c:\boot.ini"
Filters a list
4. (it) of <Property> of <Object>
–
–
10
Q: (it) of size of file "c:\boot.ini"
Allows for singular treatment of items in a list
IT Just Works
10
©2008 BigFix, Inc.
Example Fixlet Scenario
• (Example taken directly from forum post)
• Problem: Computers need to have folder “C:\Logs”
• Need to create a custom Fixlet
– Relevance: check if folder exists
– Action: create folder
• Process:
– First, need to find Relevance / Actionscript (look at other Fixlets,
experiment, ask on forum, …)
– Verify with Fixlet Debugger
– Create custom Fixlet and test
October 15
IT Just Works
11
©2008 BigFix, Inc.
Example Fixlet Scenario – Couple notes…
• Because we were detecting a specific condition and we
needed to change something, we used a Fixlet (or Task)
• Fixlet relevance must evaluate to “True” or “False”
– errors are equal to “False” for Fixlets
• Action status is determined by the relevance for Fixlets
– Fixlets must start as “True” and after the action change to “False”
for the status to change to “Fixed”
• If the relevance is still “True”, it will be “Failed”
– Tasks will return “Completed” if the action ran all the lines
October 15
IT Just Works
12
©2008 BigFix, Inc.
Example Property Scenario
• Problem: Need to find the version of the WMI
• Tools
– Look through Fixlet relevance
– Use the “inspector search engine”
– Use the Fixlet Debugger
• Process:
– Need to find the relevance
– Refine the relevance using the Fixlet Debugger
– Create a custom property in BigFix
October 15
IT Just Works
13
©2008 BigFix, Inc.
Fixlet Debugger
• The Fixlet Debugger is the most useful tool for a
Relevance Author
• There are multiple modes for Fixlet Debugger:
– QnA Mode – Q:/A: format that is simple and easy
– Single Clause Mode – Helps read large Relevance queries
– Graphical Breakdown Mode – Graphical representation of the
Relevance query (very useful for debugging)
– Action mode – Test actions (new functionality in Alpha)
• Make sure your version number matches your agent
version number
• Pay attention to “Evaluation Times” to make sure no
queries run too long (2ms is short.. 1 sec is very long)
October 15
IT Just Works
14
©2008 BigFix, Inc.
Relevance Building Tools
• Fixlet Debugger
– http://support.bigfix.com/fixlet/
– Very useful for testing Relevance/Actionscript
• Inspector Search Engine
– http://support.bigfix.com/inspectorsearch/inspector_search.html
– Great way to search for Relevance Inspectors
– Much easier to use than the full PDF “Inspector Guides”
• BigFix Forum
– http://forum.bigfix.com
– Post your Relevance questions
October 15
IT Just Works
15
©2008 BigFix, Inc.
Relevance Building Tools (more…)
•
More Guides / Quick References
–
•
http://support.bigfix.com/fixlet/
Action Guide Examples
– Easy way to get acquainted with actionscript
•
Relevance Error Messages
– Help understand those confusing error messages
•
Custom Authoring Training Guide
– Good place to start if you don’t know any Relevance
•
Inspector Guides
– All inspectors listed for all supported OSes
•
http://support.bigfix.com/bes/misc/retrievedproperties.html
– Useful for looking at lots of bits and pieces of relevance
•
http://search.bigfix.com!
October 15
IT Just Works
16
©2008 BigFix, Inc.
What to worry about?
• Relevance is designed to be safe, but you can still cause
issues if you aren’t careful:
– Relevance that runs too long
•
Always check evaluation times
• Be careful with WMI
– Relevance that iterates over too many files
• Avoid causing too much disk IO
– Descendants of folder, lines of file, etc.
– Relevance that causes undesired side-effects
• Be careful with any query that might cause AD traffic
– Domain users, security permissions, etc.
October 15
IT Just Works
17
©2008 BigFix, Inc.
What to do when stuck?
• Find ways to get the information outside of BigFix
– Is there a file with the info?
– Is it in the registry?
– Will the WMI help?
– Is there an application to run to get the info?
• Once you know how to find the information, getting the
relevance right is usually the easier part
• The forum is your friend!
October 15
IT Just Works
18
©2008 BigFix, Inc.
Questions?
October 15
IT Just Works
©2008 BigFix, Inc.
Descargar

Practical Guide to Relevance