How to create a custom availability dashboard

Hi, how can I create a dashboard containing a similar visualization as in the screenshot below?
I was asked to build a dashboard monitoring a service on Windows Server by showing the availability in percentage as seen in the picture. Elastic is on version 7.17.

A step by step guide would be appreciated as the manual creation of dashboards isnt that easy at all.


Hi Ben.

It depends on your data. Here's an example of what I would do with Lens.

I have Synthetics set up for three domains. Each domain reports a state.status of either "up" or "down". So I can create a Metric chart in Lens where the Primary metric is a formula like count(state.status, kql='state.status: "up"')/ count(state.status). Then I can break down by url.domain. I've also applied dynamic colors based on the formula result so anything less than 99.999% shows as red. Fortunately, all my domains are running smoothly! :slightly_smiling_face:

My target is static, so I used a Secondary metric formula like abs(99.999) to display on the chart.

Elastic is on version 7.17

Oops. I missed this part of your question. The metric chart I was using does not have the same options in 7.17.

In your case, I would consider using Heartbeat to set up Uptime monitors for your domains. Then you can create a Table chart in Lens that uses a formula metric like I suggested above.

Or, you could make multiple visualizations using Markdown, Metrics and Bar charts. Then you would make a new row in the Dashboard for each domain.

Thanks a lot @nickpeihl for your feedback. I will definitely try it.

Update: Could you show me how to create a dashboard by using Goal?

I select index heartbeat-* for this and get this:

In this case I would like to just set a goal of i.e. 99,95% availability (up) for a host/service and count the current percentage of availability compared to the set goal.
I am trying to figure out what to enter on the right panel (metrics, buckets....) but there is no documentation with examples for different use cases at all.

BTW: there is no metric state.status but monitor.status instead and url.domain to select the right host.

Thanks a lot in advance

Hi Ben.

AFAICT, the legacy Goal visualization does not support formulas. I think the Lens metric chart is a much better option.

ok and could you show me how?
It is very frustrating and time-consuming when there is no documentation and one has to trial and fail all the time.

Would appreciate it. Thanks

Hi Ben. It might help if you tell me where you are getting stuck. I've provided a formula to use in Lens that should give you the availability results. You've already discovered that the heartbeat index uses different field names so you should only need to make the field name changes in the formula.

It is very frustrating and time-consuming when there is no documentation and one has to trial and fail all the time.

I'm not sure what you are expecting from the documentation. You are trying to create a custom visualization to replicate a feature in a newer version of Kibana. It is likely possible to replicate this feature in older versions of Kibana, but it requires some exploring and creativity. The formula I created for you involved a lot of trial and error on my part.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.