cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Host availability dashboard taking into maintenance windows, clean shutdown, and newly created hosts

ghenon
Observer

Hi,

We want to rely on Dynatrace to have an host availability KPI that can be used as an SLA. I didn't found so far a way that answers below needs:

1. exclude maintenance windows

2. exclude planned downtime: meaning downtime after clean shutdown. In fact, we are stopping cloud servers on weekends to save cost. This information is known to dynatrace as no problem are raised in this case

3. exclude servers that are inactive or just deployed

4. availability should not only be per host, but an average on a defined scope (based on tags in our case)

5. KPI available on the previous month

 

- Host main page is having a dashboard but it is a classic one, difficult to adapt

(builtin:host.availability.state:filter(eq("dt.entity.host",HOST-32AAB7E2C38353FE)):auto:sort(value(sum,descending)):splitBy("availability.state")/builtin:host.availability.state:filter(eq("dt.entity.host",HOST-32AAB7E2C38353FE)):auto:sort(value(sum,descending)):splitBy()*100):setUnit(Percent)

 

I'vetried with DQL. So far, with the below code:

timeseries avail=avg(dt.host.availability,default:0),by:{dt.entity.host},filter:{
dt.entity.host in [
fetch dt.entity.host
| filter matchesValue(tags, "PROD_ENV:True")
| filter matchesValue(tags, "SN_INCIDENT:True")
| filterOut matchesValue(tags, "AVAIL_RATE:False")
| fields id
]
}
|fields timeframe,dt.entity.host,availper=arrayavg(avail)*100
| lookup sourceField:dt.entity.host, lookupField: id, fields:{host.name=entity.name,lifetime} , [ fetch dt.entity.host ]
| filterOut lifetime[end]<timeframe[end]-1h
| filterOut lifetime[start]>timeframe[start]
| sort availper asc

And I add  "Summarize avg(availper)" at the end to have a single value

It answers to point 3 and 4. Can you help me for the other points ?

1 REPLY 1

CDoorbar83
Observer

I would be interested in this too!

Featured Posts