I see how to turn on Compute Baseline for individual metrics on individual servers in the Admin Console, but how do I set them up for a large set of metrics on all robots? I can't find it on the Monitoring tab in UMP.
Currently, there's no way to do this en masse easily.
I suppose you might be able to automate/script it somehow using the command-line functionality of baseline_engine which is documented here:
baseline_engine Configuration - CA Unified Infrastructure Management Probes - CA Technologies Documentation
Otherwise, I have heard that the functionality to do this through the Monitoring tab will be coming in the future.
Thanks, Jason. It says I need to create a file of the format of baseline.cache, but I searched my entire Primary Hub for such a file and found none. The documentation has no definition of this format either that I could find. Anyone have an example of this file?
java -cp .;lib/* com.nimsoft.threshold.cmd.BaselineSetter -useradministrator -pwd *** -probe/bgbulab39_domain/bgbulab39_hub/bgbulab39/baseline_engine -o add
SELECT qd.source, qd.qos, qd.target, qd.r_table, qd.table_id,qd.ci_metric_id, qd.probe, qd.origin, ci.ci_name, cid.ci_type,cid.ci_description
FROM cm_configuration_item_definition cid,
cm_configuration_item_metric cim, s_qos_data qd,
cm_configuration_item ci, cm_device d, cm_computer_system cs
WHERE cs.cs_id = d.cs_id AND d.dev_id = ci.dev_id
AND cim.ci_metric_id = qd.ci_metric_id AND ci.ci_type = cid.ci_type
AND ci.ci_id = cim.ci_id and qd.qos = 'QOS_NET_CONNECT'
ORDER BY cid.ci_description,qd.probe,qd.qos,qd.target,qd.source
I have tried the command to add baseline to a single QOS, I got no error, but no baseline too in UMP. How to verify if the configuration works? I have checked in metricset.txt file, and found the metric ID that I just added, but no baseline value appear..
You must give baseline some time to do his calculations. Normally a first one is done after an hour and the results are written in the BN_QOS_DATA_XXXX tables.
Yes, it's been more than one hour since I configure the baseline, but still no baseline data.
How to check the data in BN_QOS_DATA_XXXX tables? I have tried to query from DB, but no data appear
Tech Tip: Baseline activation via Perl script
I've discussed this with our development team and we found that the documentation is incorrect. The correct filename should be "metricset.txt" instead of baseline.cache -- we'll get the docs corrected today.
The metricset.txt file will appear after you have manually configured at least one baseline and can be found in /probes/slm/baseline_engine/cache_dir/ .
online documentation still references to baseline.cache file.
Thanks...I see metrics.txt.zip and threshold.cache.zip, but when I try to open them, Windows says they are invalid files. Opening them in
Try using 7-Zip. Something is tickling the back of my brain saying that might work.
Why isn't the format documented if the docs say "use this format"?
7-zip does work...thanks
The script I built from the information Luc Christiaens provided has been building our baselines for the past month. We are now ready to turn on Dynamic Alarms and set thresholds. Is there a similar command I can use to do that?
Yes, the is a similar command to enable dynamic alarms and set thresholds from the command line. It can be found on the same Wiki page where the command to activate baselines is located. The threshold command is as follows:
java -cp ".;lib/*" com.nimsoft.threshold.cmd.ThresholdSetter -user <user> -pwd <password> -probe <probepath> -id <metric id> -threshType <static | dynamic> -type <percent | scalar | stddev> -o <operator> [-operator1 <operator> | -operator2 <operator> | -operator3 <operator> | -operator4 <operator> | -operator5 <operator>] [-level1 <value> | -level2 <value> | -level3 <value> | -level4 <value> | -level5 <value>] -subsysId <subsysId> [-customAlarmMessage <message>] [-customClearAlarmMessage <message>] [-queue]
Check the WIki page for a detailed explanation of the use of this command:
The wiki page says "stdev", which is wrong. It is "stddev", as in Kathy's example.
Example of a working threshold:
java -cp .;lib/* com.nimsoft.threshold.cmd.ThresholdSetter -user administrator -pwd xx -probe /bgbulab47_domain/bgbulab47_hub/bgbulab47/baseline_engine -o GE -level1 110.0 -level2 120.0 -level3 130.0 -level4 140.0 -level5 150.0 -threshType static -type percent -subsysId 126.96.36.199 -queue -id M7DBBA46A4A38C695D05FBB2CA2D48603
note: you could use the baseline Perl to generate these commands like it needs the same id.
Next step we need to do is set Time Over Threshold. I can't see any references in the documentation to do that any way other than in the GUI. Are there java or other command-line options for setting this?
At this time the only way is in the GUI.
In the future (I do not know exactly when) I do believe that we plan to add TTT/ToT to the bulk configuration options available through USM, but for now there is no bulk option unfortunately.
OK, which config file does it get put in? Maybe I can figure out how to create the entries manually.
These entries should be stored in a file called rule_config.xml in the alarm_enrichment probe directory.
That looks very doable. Thanks!
But one other question....It is called "Enable Dynamic Time Over Threshold". That begs the question:
"Does this only relate to threshold alarms, or does it also relate to Dynamic alarms?
I believe that you can do it (ToT rule) with a command like:
PU -u administrator -p *** -d 0 /bgbulab47_domain/bgbulab47_hub/bgbulab47/alarm_enrichment set_tot_rule "M7DBBA46A4A38C695D05FBB2CA2D48603:1.5" "1" "600" "1800" "1" "300"
Thanks, Luc! Will give that a try.
Next step: we want to do both a dynamic threshold and a static threshold. Currently, either will fire an alarm, but we only want an alarm to fire if both criteria are met. For example, we want to fire a CPU alarm if it is more than 3.5 standard deviations above the mean *and* CPU utilization is > 80%. Thanks!
I have that same need. I've configured baseline for disk, but haven't turned on the thresholds, but when I do, I'm going to need the static and dynamic thresholds linked together. Alone, neither will be sufficient. I've received a suggestion to set up this up using the auto-operator rules in NAS, but I haven't worked on that yet:
Thanks, rcarter. Did they send you any examples of how best to do that in nas? The documentation is pretty short on examples
No, in general, the documentation lacks good examples. Perhaps someone has an example to share?
Often, it is like having an instruction book telling you every detail about every nut, bolt, board, etc, and not telling you at all how to put the piece of furniture together.
Since asking this question, I have moved on to a new installation--many hubs.1) Does baseline_engine care what hub a given metric came from? (I'm thinking no.)2) If I turn a metric on in baseline_engine on a given hub via a script, do I have to set thresholds and ToT for that metric using the same hub? (IOW, do I have to keep a mapping of metric_ID -> hub?)3) If I don't match up the hub that manages the robot with the hub that runs baseline_engine, will that affect whether the probe GUI in adminconsole will show the Compute Baseline check box, etc?
- baseline_engine do not care where a metric comes from.
- metric ID is determined by monitoring probe, no relation to hub.
- All the data baseline_engine is managing can be found in <baseline_engine>/cache_dir/*, which is technically portable in any of baseline_engine probe instance.
Retrieving data ...