<p>You have a few options for this:</p>

<p>If you can pay for this, use commercial API monitoring solutions like <a href="https://www.runscope.com/" rel="nofollow noreferrer">Runscope</a> or <a href="http://apimetrics.io/" rel="nofollow noreferrer">APImetrics</a>. They're easy to setup, have no maintenance overheads, and show you detailed data and alerting etc. The problem with this approach is that they cost money, and if you have a miniscule ops budget or this is a hobby project, it can be hard to justify spending on this.</p>

<p>...which brings me to the alternative: roll your own. If you have your own system monitoring and metrics setup (Nagios/Icinga/Sensu, and Grafana etc), you can write check scripts for whatever data you need (availability, response time or latency etc). Some of these tools integrate with time series databases like graphite/influxDB, so you can push the check data to that and use a visualization tool like Grafana to show graphs and charts based on this data (here's a <a href="http://www.datacentred.co.uk/blog/integrating-icinga2-with-influxdb-and-grafana/" rel="nofollow noreferrer">blog post</a> describing Icinga-Grafana integration)</p>

CC BY-SA 3.0
2017-05-17T15:14:08.600Z
The question was specifically "running completely inside the browser" -
 none of the suggested options run in the browser, they all execute checks server-side.
Adrian
CC BY-SA 3.0
2017-05-18T12:53:22.150Z
I misunderstood the OP's requirement (as he clarified in a comment to your answer).
grumpyops
CC BY-SA 3.0
2017-05-18T13:02:28.343Z
It was mentioned twice in the title and twice more in the body...
Adrian
CC BY-SA 3.0
2017-05-17T13:04:16.503Z
2017-05-17T13:04:16.503Z
grumpyops
<p>I don't think there are any popular tools for doing this, because it's not a popular way of monitoring. Anything running completely inside the browser will only execute checks as long as it's open in a browser window, so it's not going to be a popular method of monitoring, full stop. It's just not reliable.</p>

<p>That said, it would be pretty easy to hand-roll something like this in a couple hours with simple HTML/CSS/JS. It might not be pretty, but it would meet the stated requirements.</p>

CC BY-SA 3.0
2017-05-17T18:29:30.130Z
thank you - I think monitoring is meant here in a very limited sense "monitor present state without history beyond browser window lifetime" which is not monitoring in typical sense, still useful in my use case
Ta Mu
CC BY-SA 3.0
2017-05-17T15:17:23.010Z
2017-05-17T15:17:23.010Z
Adrian
<p>Infrastructure monitoring tools like Nagios or much more "low-level" curl are well known in the DevOps community.</p>

<p>But, given I would like just to track some APIs in similar manner just in frontend, what are  known more or less mature popular tools or components to support this functionality? i.e. like Nagios but running completely inside the browser (loading static configuration file from server together with the JS libs would be ok).</p>

CC BY-SA 3.0
2017-05-10T08:50:56.760Z
What are you willing to do ? just on demand monitoring ?
Tensibai
CC BY-SA 3.0
2017-05-10T11:19:52.410Z
You can go with https://mmonit.com/monit/ or https://newrelic.com/
chintan thakar
CC BY-SA 3.0
2017-05-17T15:12:34.387Z
Neither monit or newrelic run checks from inside the browser.
Adrian
<monitoring><nagios>
Site monitoring browser-only tool running in frontend only?
Ta Mu
# Site monitoring browser-only tool running in frontend only?

(Asked by: username_0 on 2017-05-10)

Infrastructure monitoring tools like Nagios or much more "low-level" curl are well known in the DevOps community.

But, given I would like just to track some APIs in similar manner just in frontend, what are known more or less mature popular tools or components to support this functionality? i.e. like Nagios but running completely inside the browser (loading static configuration file from server together with the JS libs would be ok).

**Tags:** monitoring, nagios

> **Comments:**
> **username_1**: What are you willing to do ? just on demand monitoring ?  
> **username_2**: You can go with https://mmonit.com/monit/ or https://newrelic.com/  
> **username_3**: Neither monit or newrelic run checks from inside the browser.  

---

## 2 answers

### Answer by username_4 on 2017-05-17. Score: 2

You have a few options for this:

If you can pay for this, use commercial API monitoring solutions like [Runscope](https://www.runscope.com/) or [APImetrics](http://apimetrics.io/). They're easy to setup, have no maintenance overheads, and show you detailed data and alerting etc. The problem with this approach is that they cost money, and if you have a miniscule ops budget or this is a hobby project, it can be hard to justify spending on this.

...which brings me to the alternative: roll your own. If you have your own system monitoring and metrics setup (Nagios/Icinga/Sensu, and Grafana etc), you can write check scripts for whatever data you need (availability, response time or latency etc). Some of these tools integrate with time series databases like graphite/influxDB, so you can push the check data to that and use a visualization tool like Grafana to show graphs and charts based on this data (here's a [blog post](http://www.datacentred.co.uk/blog/integrating-icinga2-with-influxdb-and-grafana/) describing Icinga-Grafana integration)

> **Comments:**
> **username_3**: The question was specifically "running completely inside the browser" -  none of the suggested options run in the browser, they all execute checks server-side.  
> **username_4**: I misunderstood the OP's requirement (as he clarified in a comment to your answer).  
> **username_3**: It was mentioned twice in the title and twice more in the body...  

---

### Answer by username_3 on 2017-05-17. Score: 0

I don't think there are any popular tools for doing this, because it's not a popular way of monitoring. Anything running completely inside the browser will only execute checks as long as it's open in a browser window, so it's not going to be a popular method of monitoring, full stop. It's just not reliable.

That said, it would be pretty easy to hand-roll something like this in a couple hours with simple HTML/CSS/JS. It might not be pretty, but it would meet the stated requirements.

> **Comments:**
> **username_0**: thank you - I think monitoring is meant here in a very limited sense "monitor present state without history beyond browser window lifetime" which is not monitoring in typical sense, still useful in my use case  

---

