# Webhook for Discourse Uptime Monitoring?

**URL:** https://meta.discourse.org/t/webhook-for-discourse-uptime-monitoring/75830
**Category:** Development
**Created:** [December 11, 2017, 3:43pm UTC](https://meta.discourse.org/t/webhook-for-discourse-uptime-monitoring/75830 "2017-12-11T15:43:18Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![itsbhanusharma](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/itsbhanusharma/32/180717_2.png) [@itsbhanusharma](https://meta.discourse.org/u/itsbhanusharma)
#### Post date: [December 11, 2017, 3:43pm UTC](https://meta.discourse.org/t/webhook-for-discourse-uptime-monitoring/75830/1 "2017-12-11T15:43:18Z")

</div>

Can Discourse Webhooks be used for reporting uptime to a 3rd party service e.g. [hund.io](http://hund.io) ?

if so, How?

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [December 11, 2017, 3:46pm UTC](https://meta.discourse.org/t/webhook-for-discourse-uptime-monitoring/75830/2 "2017-12-11T15:46:30Z")

</div>

See [Discourse Prometheus](https://meta.discourse.org/t/prometheus-exporter-plugin-for-discourse/72666) and [Discourse Stats | Grafana Labs](https://grafana.com/dashboards/3539).

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [December 11, 2017, 3:47pm UTC](https://meta.discourse.org/t/webhook-for-discourse-uptime-monitoring/75830/3 "2017-12-11T15:47:23Z")

</div>

> [@itsbhanusharma](#):
>
> reporting uptime

If you just need to measure uptime, configure your tool to hit `discourse.example.com/srv/status`.

---

<div class="post-metadata">

### Author: ![itsbhanusharma](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/itsbhanusharma/32/180717_2.png) [@itsbhanusharma](https://meta.discourse.org/u/itsbhanusharma)
#### Post date: [December 11, 2017, 3:48pm UTC](https://meta.discourse.org/t/webhook-for-discourse-uptime-monitoring/75830/4 "2017-12-11T15:48:57Z")

</div>

> [@Falco](#):
>
> If you just need to measure uptime, configure your tool to hit [discourse.example.com/srv/status](http://discourse.example.com/srv/status).

Exactly what I want! … as this is to report system uptime to someone visiting a public status page. I saw webhooks in the [hund.io](http://hund.io) configuration page so I thought maybe that is something but I’ll try the Pingdom integration instead.

Thanks for help.

@pfaffman we are using Promethus Integration for advanced Stuff already … needed something to test discourse availability every few seconds and report to a 3rd party for a public status page. The solution by @Falco should work afaik but I’ll test and update how it goes.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [December 12, 2017, 12:31am UTC](https://meta.discourse.org/t/webhook-for-discourse-uptime-monitoring/75830/6 "2017-12-12T00:31:47Z")

</div>

Well, I don’t know whether I trust it.

[https://community.yellowandblack.online/srv/status](https://community.yellowandblack.online/srv/status) says OK, but [https://community.yellowandblack.online/](https://community.yellowandblack.online/) returns a 500 error.

---

<div class="post-metadata">

### Author: ![Mittineague](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mittineague/32/114259_2.png) [@Mittineague](https://meta.discourse.org/u/Mittineague)
#### Post date: [December 12, 2017, 12:36am UTC](https://meta.discourse.org/t/webhook-for-discourse-uptime-monitoring/75830/7 "2017-12-12T00:36:14Z")

</div>

> [@pfaffman](#):
>
> returns a 500 error

I tried it just now and got the “Congratulations” setup page.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [December 12, 2017, 12:37am UTC](https://meta.discourse.org/t/webhook-for-discourse-uptime-monitoring/75830/8 "2017-12-12T00:37:12Z")

</div>

But if you reload a few times, you’ll stop getting that. At least, that’s my experience.

---

<div class="post-metadata">

### Author: ![tgxworld](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tgxworld/32/106117_2.png) [@tgxworld](https://meta.discourse.org/u/tgxworld)
#### Post date: [December 12, 2017, 12:37am UTC](https://meta.discourse.org/t/webhook-for-discourse-uptime-monitoring/75830/9 "2017-12-12T00:37:42Z")

</div>

`/srv/status` is meant for measuring uptime only and not whether the server is returning the right response.

---

<div class="post-metadata">

### Author: ![mpalmer](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mpalmer/32/45740_2.png) [@mpalmer](https://meta.discourse.org/u/mpalmer)
#### Post date: [December 12, 2017, 12:57am UTC](https://meta.discourse.org/t/webhook-for-discourse-uptime-monitoring/75830/10 "2017-12-12T00:57:41Z")

</div>

I guess that depends on how you define “uptime”…

---

<div class="post-metadata">

### Author: ![itsbhanusharma](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/itsbhanusharma/32/180717_2.png) [@itsbhanusharma](https://meta.discourse.org/u/itsbhanusharma)
#### Post date: [December 12, 2017, 1:43pm UTC](https://meta.discourse.org/t/webhook-for-discourse-uptime-monitoring/75830/11 "2017-12-12T13:43:00Z")

</div>

In a Layman’s term, Service is Properly functioning! e.g. if there is a 500 error then it should return something other than ok!

@pfaffman I can confirm that behaviour. My system runs behind a Nginx reverse proxy and I Get okay no matter what!

---

<div class="post-metadata">

### Author: ![FrancescoM](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/francescom/32/387072_2.png) [@FrancescoM](https://meta.discourse.org/u/FrancescoM)
#### Post date: [January 16, 2026, 9:31am UTC](https://meta.discourse.org/t/webhook-for-discourse-uptime-monitoring/75830/13 "2026-01-16T09:31:28Z")

</div>

Hi!  
I tried to use Uptime Kuma pointing `/srv/status` but it tells me “Connection Refused”.

I’m using Uptime Kuma in a container, as well as Discourse. Also, for both I’m using traefik for reverse proxy. Uptime Kuma with other website works very well, but I can’t reach the Discourse app.

Can you tell me why?

Thanks in advice! 🙂

---

<div class="post-metadata">

### Author: ![itsbhanusharma](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/itsbhanusharma/32/180717_2.png) [@itsbhanusharma](https://meta.discourse.org/u/itsbhanusharma)
#### Post date: [January 16, 2026, 9:36am UTC](https://meta.discourse.org/t/webhook-for-discourse-uptime-monitoring/75830/14 "2026-01-16T09:36:12Z")

</div>

This is a bit weird, can you share a screenshot of how you configured it? You have to set it up as keyword monitor, looking for keyword “ok” and status code 200

---

<div class="post-metadata">

### Author: ![FrancescoM](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/francescom/32/387072_2.png) [@FrancescoM](https://meta.discourse.org/u/FrancescoM)
#### Post date: [January 16, 2026, 9:58am UTC](https://meta.discourse.org/t/webhook-for-discourse-uptime-monitoring/75830/15 "2026-01-16T09:58:34Z")

</div>

Hi @itsbhanusharma and thank you for the quick answer! 🙂

I set up only the status code, this is my configuration

I’m using also a docker network “proxy\_network” for Traefik.

 ![Screenshot 2026-01-16 105353](https://global.discourse-cdn.com/meta/original/4X/7/c/c/7cc368501606ca0c1c831ab816bda91f675ea12f.png)

 ![Screenshot 2026-01-16 105517](https://global.discourse-cdn.com/meta/original/4X/b/f/a/bfaeb9c5f19837eea543392b114b8d1f4d64a96a.png)

 ![Screenshot 2026-01-16 105503](https://global.discourse-cdn.com/meta/original/4X/c/b/3/cb379f726bd8388eef98bedbdabd0d7b1e05c722.png)

Thanks again for your help!

---

<div class="post-metadata">

### Author: ![itsbhanusharma](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/itsbhanusharma/32/180717_2.png) [@itsbhanusharma](https://meta.discourse.org/u/itsbhanusharma)
#### Post date: [January 16, 2026, 10:01am UTC](https://meta.discourse.org/t/webhook-for-discourse-uptime-monitoring/75830/16 "2026-01-16T10:01:17Z")

</div>

is uptime kuma hosted on the same machine as discourse?

EDIT:

> [@FrancescoM](#):
>
> I’m using also a docker network “proxy\_network” for Traefik.

I believe this is your problem.

---

<div class="post-metadata">

### Author: ![FrancescoM](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/francescom/32/387072_2.png) [@FrancescoM](https://meta.discourse.org/u/FrancescoM)
#### Post date: [January 16, 2026, 10:54am UTC](https://meta.discourse.org/t/webhook-for-discourse-uptime-monitoring/75830/17 "2026-01-16T10:54:18Z")

</div>

Hi,

yes, the server is the same.

But with other websites works perfectly, the only problem is with Discourse.

Maybe an internal DNS resolver?

---

<div class="post-metadata">

### Author: ![itsbhanusharma](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/itsbhanusharma/32/180717_2.png) [@itsbhanusharma](https://meta.discourse.org/u/itsbhanusharma)
#### Post date: [January 16, 2026, 10:55am UTC](https://meta.discourse.org/t/webhook-for-discourse-uptime-monitoring/75830/18 "2026-01-16T10:55:48Z")

</div>

Most likely it is certificate mismatch.

And the uptime monitor will not catch issues if the server itself is down, hence it is recommended to have it on a server that’s different than the one with the rest of your application(s)

---

<div class="post-metadata">

### Author: ![FrancescoM](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/francescom/32/387072_2.png) [@FrancescoM](https://meta.discourse.org/u/FrancescoM)
#### Post date: [January 16, 2026, 11:04am UTC](https://meta.discourse.org/t/webhook-for-discourse-uptime-monitoring/75830/19 "2026-01-16T11:04:34Z")

</div>

Hi, thanks for the advice.

The Discourse app has an SSL certificate generated by Traefik using Let’s Encrypt.

Right now I’m using the container check using docker socket, but it’s not reliable.

Can I try something else? I have only one server with docker.

Thanks again

---

<div class="post-metadata">

### Author: ![itsbhanusharma](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/itsbhanusharma/32/180717_2.png) [@itsbhanusharma](https://meta.discourse.org/u/itsbhanusharma)
#### Post date: [January 16, 2026, 11:06am UTC](https://meta.discourse.org/t/webhook-for-discourse-uptime-monitoring/75830/20 "2026-01-16T11:06:42Z")

</div>

> [@FrancescoM](#):
>
> Can I try something else?

change the setup to monitor ok keyword, disable ssl check.

---

<div class="post-metadata">

### Author: ![FrancescoM](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/francescom/32/387072_2.png) [@FrancescoM](https://meta.discourse.org/u/FrancescoM)
#### Post date: [January 16, 2026, 11:22am UTC](https://meta.discourse.org/t/webhook-for-discourse-uptime-monitoring/75830/21 "2026-01-16T11:22:14Z")

</div>

> [@itsbhanusharma](#):
>
> change the setup to monitor ok keyword

Ok,

I removed the SSL check, but how can I set the “ok” keyword? Here?

 ![image](https://global.discourse-cdn.com/meta/original/4X/d/3/7/d37c6ff4b1293cb161375a81ff30ba3116514277.png)

---

<div class="post-metadata">

### Author: ![itsbhanusharma](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/itsbhanusharma/32/180717_2.png) [@itsbhanusharma](https://meta.discourse.org/u/itsbhanusharma)
#### Post date: [January 16, 2026, 11:26am UTC](https://meta.discourse.org/t/webhook-for-discourse-uptime-monitoring/75830/22 "2026-01-16T11:26:40Z")

</div>

Change the monitor type to keyword first.

[Next page](https://meta.discourse.org/t/webhook-for-discourse-uptime-monitoring/75830.md?page=2)
