# Conditional colouring using kibana dashboard

**URL:** <https://discuss.elastic.co/t/conditional-colouring-using-kibana-dashboard/379662>\
**Category:** Kibana\
**Tags:** dashboard, visualisation\
**Created:** [July 1, 2025, 9:27am UTC](https://discuss.elastic.co/t/conditional-colouring-using-kibana-dashboard/379662 "2025-07-01T09:27:43Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![Dariia\_Hrebenichenko](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dariia_hrebenichenko/32/139651_2.png) [@Dariia\_Hrebenichenko](https://discuss.elastic.co/u/Dariia_Hrebenichenko)\
**Post date:** [July 1, 2025, 9:27am UTC](https://discuss.elastic.co/t/conditional-colouring-using-kibana-dashboard/379662/1 "2025-07-01T09:27:43Z")

</div>

Hello everyone!

I have one dashboard to showing uptime monitor. It shows all ports for 2 different nodes. So 2 panels with name 'node 1' and 'node 2' and 2 tables for each (same but with filters for dedicated nodes). Tables shows the list of ports and status (up or down).

I need that background of panels 'node 1' and 'node 2' change the color: 1) when all ports are up - green; 2) when some ports are down - orange; 3) when all ports are down - red.  
Also it's ok only with two colors (green/red).

Spend few days for that and still didn't find the solution.

---

<div class="post-metadata">

**Author:** ![Tortoise](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/tortoise/32/147587_2.png) [@Tortoise](https://discuss.elastic.co/u/Tortoise)\
**Post date:** [July 1, 2025, 10:13am UTC](https://discuss.elastic.co/t/conditional-colouring-using-kibana-dashboard/379662/2 "2025-07-01T10:13:53Z")

</div>

Hello @Dariia_Hrebenichenko

I am not sure if your requirement is as below , if not please share example :

We can add the color you want for the cell as below =\>  
Click on the metric or cell in the lens for which you want to change background =\> Color by value =\> Cell =\> Color Mapping =\> Enable =\> Add assignment =\>

 ![image](https://us1.discourse-cdn.com/elastic/original/3X/5/0/50c261810e6cf796de19588f8334909505c5f65c.png)

 ![image](https://us1.discourse-cdn.com/elastic/original/3X/7/9/79b21b2c1ab0a788e6595dbbc35701d7c6f3af09.png)

 ![image](https://us1.discourse-cdn.com/elastic/original/3X/b/8/b88a15e3e6dfb33f004b65aa92a4f31975d711cb.png)

Thanks!!

---

<div class="post-metadata">

**Author:** ![Marco\_Liberati](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/marco_liberati/32/82953_2.png) [@Marco\_Liberati](https://discuss.elastic.co/u/Marco_Liberati)\
**Post date:** [July 1, 2025, 10:24am UTC](https://discuss.elastic.co/t/conditional-colouring-using-kibana-dashboard/379662/3 "2025-07-01T10:24:08Z")

</div>

Hi @Dariia_Hrebenichenko

I think the best option in this case would be to create a separate panel for each "node".  
The new panel can be a metric with the following formula:

```auto
ifelse(
  count(kql="status: down") > 0,
  ifelse(count(kql="status: down") == count(), 2, 1),
  0
)

```

I've assumed the `status: down` as a filter in your case, but feel free to adjust based on your mapping.

This will color code the values as follow:

- 0 =\> no port down
- 1 =\> at least 1 port is down
- 2 =\> all ports are down

If you put it next to the table I think it would be useful.  
Of course the primary metric colouring should be set to dynamic colouring and the color coding above should be configured:

 ![Screenshot 2025-07-01 at 12.21.48](https://us1.discourse-cdn.com/elastic/original/3X/e/c/ec9adb5c0a33d6f944dfe24c33f742db9eead85b.png)

I've reproduced an example checking for 404 responses in a dataset:

no 404

 ![Screenshot 2025-07-01 at 12.07.18](https://us1.discourse-cdn.com/elastic/original/3X/b/b/bb4dfc15abf54cdaf5c5f95c6314e23591f32f02.png)

At least 1 404

 ![Screenshot 2025-07-01 at 12.08.25](https://us1.discourse-cdn.com/elastic/original/3X/7/d/7d9e283ed27f97dae15ac1e5547df2ca1a81876e.png)

All 404s

 ![Screenshot 2025-07-01 at 12.10.29](https://us1.discourse-cdn.com/elastic/original/3X/7/c/7c68354ad61fee5c71f4dec00695c90efb3eb7aa.png)

---

<div class="post-metadata">

**Author:** ![Dariia\_Hrebenichenko](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dariia_hrebenichenko/32/139651_2.png) [@Dariia\_Hrebenichenko](https://discuss.elastic.co/u/Dariia_Hrebenichenko)\
**Post date:** [July 1, 2025, 11:53am UTC](https://discuss.elastic.co/t/conditional-colouring-using-kibana-dashboard/379662/4 "2025-07-01T11:53:46Z")

</div>

Thank you for your unswer!

Already did this:

 ![image](https://us1.discourse-cdn.com/elastic/original/3X/5/7/57cb1bcae15ec412609b1b4bb44bce1524511193.png)

What I want is that panel 'Node 1' and 'Node 2' could change background color depending of the table (status)

---

<div class="post-metadata">

**Author:** ![Marco\_Liberati](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/marco_liberati/32/82953_2.png) [@Marco\_Liberati](https://discuss.elastic.co/u/Marco_Liberati)\
**Post date:** [July 1, 2025, 11:58am UTC](https://discuss.elastic.co/t/conditional-colouring-using-kibana-dashboard/379662/5 "2025-07-01T11:58:12Z")

</div>

What's the type of those panels? Markdown? TSVB? Lens metric?

---

<div class="post-metadata">

**Author:** ![Dariia\_Hrebenichenko](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dariia_hrebenichenko/32/139651_2.png) [@Dariia\_Hrebenichenko](https://discuss.elastic.co/u/Dariia_Hrebenichenko)\
**Post date:** [July 1, 2025, 12:00pm UTC](https://discuss.elastic.co/t/conditional-colouring-using-kibana-dashboard/379662/6 "2025-07-01T12:00:59Z")

</div>

Thank you for your answer!

For now I have like this:

 ![image](https://us1.discourse-cdn.com/elastic/original/3X/5/7/57cb1bcae15ec412609b1b4bb44bce1524511193.png)

And need that background for panels 'Node' could change.  
Is it possible do like in your example? (I already have dedicated filters for this).

I tried to do something like that, but wasn't successes 🥲

---

<div class="post-metadata">

**Author:** ![Dariia\_Hrebenichenko](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dariia_hrebenichenko/32/139651_2.png) [@Dariia\_Hrebenichenko](https://discuss.elastic.co/u/Dariia_Hrebenichenko)\
**Post date:** [July 1, 2025, 12:03pm UTC](https://discuss.elastic.co/t/conditional-colouring-using-kibana-dashboard/379662/7 "2025-07-01T12:03:50Z")

</div>

Panel 'Node' is Markdown (for now) because I need to show only this.  
I try to do in Lens metric, but it always shows numbers (I don't need it)

---

<div class="post-metadata">

**Author:** ![Marco\_Liberati](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/marco_liberati/32/82953_2.png) [@Marco\_Liberati](https://discuss.elastic.co/u/Marco_Liberati)\
**Post date:** [July 1, 2025, 12:24pm UTC](https://discuss.elastic.co/t/conditional-colouring-using-kibana-dashboard/379662/8 "2025-07-01T12:24:35Z")

</div>

I think you can play with the panel size to make the value go outside the panel.  
Try to add a subtitle with few empty spaces and resize the Lens metric with the same size of the markdown panel, the value should go out.

---

<div class="post-metadata">

**Author:** ![Dariia\_Hrebenichenko](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dariia_hrebenichenko/32/139651_2.png) [@Dariia\_Hrebenichenko](https://discuss.elastic.co/u/Dariia_Hrebenichenko)\
**Post date:** [July 1, 2025, 12:28pm UTC](https://discuss.elastic.co/t/conditional-colouring-using-kibana-dashboard/379662/9 "2025-07-01T12:28:51Z")

</div>

Also when I do in lens metric, I can only put one color:

 ![image](https://us1.discourse-cdn.com/elastic/original/3X/c/1/c18fda9816811f22ff5bdec834cbf7633cff0404.png)

---

<div class="post-metadata">

**Author:** ![Dariia\_Hrebenichenko](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dariia_hrebenichenko/32/139651_2.png) [@Dariia\_Hrebenichenko](https://discuss.elastic.co/u/Dariia_Hrebenichenko)\
**Post date:** [July 1, 2025, 12:32pm UTC](https://discuss.elastic.co/t/conditional-colouring-using-kibana-dashboard/379662/10 "2025-07-01T12:32:22Z")

</div>

It's ok, got it 👌

---

<div class="post-metadata">

**Author:** ![Dariia\_Hrebenichenko](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dariia_hrebenichenko/32/139651_2.png) [@Dariia\_Hrebenichenko](https://discuss.elastic.co/u/Dariia_Hrebenichenko)\
**Post date:** [July 1, 2025, 1:11pm UTC](https://discuss.elastic.co/t/conditional-colouring-using-kibana-dashboard/379662/11 "2025-07-01T13:11:32Z")

</div>

Thanks again. Think it's the best solution
