Latest Dynatrace
An objective is a means for measuring your services such as performance, availability, and security. You can define an objective for your guardian that is validated on demand or automatically.
You can add a new objective for measuring capacity objectives.
On the Site Reliability Guardian overview page, select Add new objective.
On the right side, enter a new Objective name.
Enter the Description.
Choose from where you Fetch your data from. It is either Grail using DQL or SLO.
Option Grail using DQL: Define the DQL query.
Option SLO: Choose from the Reference SLO list.
Run query.
Choose either Static thresholds,
Define thresholds for your objective.
Set Failure.
Set Warning.
or Auto-adaptive thresholds (only available for fetching data via DQL query).
Choose either A higher value is good for my result or A lower value is good for my result.
It is possible to add an objective that is informational-only and doesn't contribute to the pass / fail decisions of the Site Reliability Guardian. They are useful for new services where you're trying to get an idea for the real-world data values of your metrics.
To set an objective as information-only
Use these objective examples as an inspiration for creating your own guardians.
8
errors, we want to receive a warning.10
errors or more, the objective should fail.Indicator
For this, we'll create a query that fetches the log events from your environment with the loglevel
set to ERROR
.
fetch logs| summarize countIf(loglevel == "ERROR")
Less or equal than (A lower value is good for my result
)
10
8
99
percent, we want to get a warning.98
percent, the objective should fail.Indicator
For this, we'll use a query that:
fetch logs| filter endsWith(log.source,"pgi.log")| parse content, "LD IPADDR:ip ':' LONG:payload SPACE LD 'HTTP_STATUS' SPACE INT:http_status LD (EOL| EOS)"| fieldsAdd success = toLong(http_status < 400)| summarize successRate = sum(success)/count() * 100
Greater or equals than (A higher value is good for my result
)
98
99
Indicator
For this, we'll use a query that:
fetch logs| filter endsWith(log.source,"pgi.log")| parse content, "LD 'HTTP_STATUS' SPACE INT:http_status LD (EOL| EOS)"| fieldsAdd failure = toLong(http_status >= 400)| summarize failureRate = sum(failure)/count() * 100
Less or equal than (A lower value is good for my result
)
1
0.5
Variables are defined at a guardian level and are available in all of its objectives to parameterize DQL queries. For example, they allow parameterization of the filter value in a DQL query, which is set at the validation time of a guardian.
There are several ways to add a variable.
Always remember to prepend a variable name with $
in your queries, followed by alphanumerical characters.
For example, if you create a variable named MyTotal
, you need to refer to it as $MyTotal
in your query.
To add a variable
To add a variable when you choose the Grail using DQL option while configuring your objective
$
, followed by alphanumerical characters.There are two ways to set the value of a variable after adding it:
If no variable value is explicitly specified for one validation, then the one set during the guardian creation is used.