New Infrastructure Status Page

Update: The status page is up and running again.

@Gordon_Geist Thanks for your positive feedback!

FTR, all kudos go to @digitaldan and @MARZIMA, who are doing an awesome job in making sure the servers are running smooth, analysing issues any time of day and scaling it if it runs under too heavy load. Impressive and wonderful to have such professional volunteers in the community. :+1:

5 Likes

Would it be practical or possible to develop a “status” binding, with the three monitored services as channels that connect to a switch item?

That way, real time changes in availability could be captured by persistence on the local level. It would also allow for rules based notifications of problems.

We are using AppBeat.io as a service and I just checked that there is no public REST API to get the status from.
So all that would be available is the webpage itself, which could be scraped - easiest solution would probably be the HTTP binding with some Xpath transformation…

I think the key here is that the engine behind the myopenhab.org is available to be run independently and we should consider the myopenhab.org service as an ephemeral service. Those that want committed reliability should choose a commercial notification service such as Pushover or spin up and maintain your own myopenhab.org (have fun patching and being your own CISO) or VPN when you want to change something.

Grateful for the wonderful opportunity that this project affords.

Sounds like a fun challenge :grinning: I’ll add it to my openHAB to do list!

For me the following item configuration works:

String  MY_OH2_STATUS  "my.openhab.org"   {http="<[https://www.appbeat.io/status/openHAB:60000:XPATH(//div[@class='components']/div[1]/span[@class='component-status']/text())]"}
6 Likes

Is there a [s%] missing in the name of the item for showing the status?

It doesn´t work, i get only this displayed on my sitemap (i added the [s%]):

" openHAB Infrastructure…"

Any idea?

Ok, it works now, had to install xpath-transformation first.

To get the status of the forum, do i only have to change /div[1] to /div[2] ?

You are right in both! :slight_smile:

This xpath worked for me:

/html/body/div[@class='status-layout']/div[@class='components']/div[1]/span[@class='component-status']/text()

I have been looking at the IFTTT status page, as we use it for some of our triggers/items

String  IFTTTStatus  "IFTTT.COM"   {http="<[https://status.ifttt.com/:600000:XPATH(//div[@class='components-container.one-column']/div[1]/span[@class='data-component-status']/text())]"}

I appear to be getting a massive string of the whole page rather than the section i think I am isolating

Maybe it has something to do with the fact that the IFTTT status page produces invalid XML, even invalid HTML. For examlpe there are a lot of unclosed <span>-tags in there :frowning:

maybe a sh script and a grep would suffice

I have also added this too my setup do you know if there is a way too link something like this too my OH specifically as this only reports if there is a problem with the actual cloud server and not if my oh server disconnects from the cloud connector i was pointed here by a different person from my post

when using the item posted it reports operational what exactly does it report as operational is it a collective result or a specific cloud server as checking the site there are 3 OH servers

I risk offending someone but I mean the following in an honest way. Doesn’t it seem ironic that an automation framework wouldn’t have an official way to allow monitoring of its public services or push notifications :slight_smile: Yes, I read above that it’s the service that is used that has the constraints but that doesn’t lessen the irony.

Or perhaps kludges to make things work is part of the ‘experience’ we all love :slight_smile:

The real irony would be the self-monitoring-all-in-one system because the OH system can fail too.
An OH-based automation system may reach significant complexity very fast. Typically for each bound hardware system it depends on a specific gateway added by a number of external services (Weather, Location etc.).
All these things should be monitored if you want to determine the reason of some malfunction in no time -
or you will earn sarcastic comments from your family … :wink:
So I use check_mk as separate monitoring system and configured it not only to check the functional aspects of my OH implementation but monitoring the involved components system health too (Available updates, network infrastructure services etc.). The third main component is an Ansible-based IT automation system for setting up and maintaining the involved systems (initial setup, apply updates, do backup and restore jobs).

The inclusion of the OH cloud status monitoring item in my setup is needed because I want to have some rules to react on a non-functional OH cloud connection.

that’s why I limited my statement to the public services. These are independent of the local system. If the local system is down then all bets are off of course but for openhab official public services it would be nice (nay, essential) for the framework to lead by example and provide out of the box monitoring for its own stuff. I write this as someone who doesn’t need it now.

At the end of the day this is an open source project. If you feel strongly about this please take the initiative and and submit a PR. I’m sure it would be welcomed. Or find a developer who is willing to make the necessary changes and have them file a PR.

You can and probably should open an Issue on github. Maybe one of the developers will be willing to implement it. But knowing how much time the two main maintainers of myopenhab.org face, I’m not sure how much spare time they would have to implement something like this.

I wouldn’t know how to begin to code this and was adding my 2cents based on my opinion of the end to end product view from a user/customer pov. I get that with limited resources and time you guys need to prioritise your product backlog and this item may not be the highest priority (from my use of OH it wouldn’t be for me).