We plan a little monitoring tool here, multiplatform, which runs as an service on those platforms.
These are mostly desktops, but also some servers. The client itself finds out all the stuff it can get and what it cant get and outputs it.
Additional to this client services, we are building a web app also already, to visualize the monitoring and also to setup some parameters and send it to the client services.
The client apps, who do the hardware gathering and some other stuff, are written in NodeJS.
The Web Application, with the Dashboard, the widgets and the logging, is written in Laravel (PHP).
As the clients are built to “run everywhere and always work” (NodeJS code is compiled to executables, so there are no external dependencies), this also includes networks and firewalls - so it had to be a communcation over 80 or 443 to the central linux server. So of course, Websockets came into our minds quite quickly, and Autobahn|JS and Crossbar is the way to go for sure!
I would use:
Autobahn>JS (for the nodejs apps and for the browser)
Minion (https://github.com/Vinelab/minion) to connect to Crossbar
But I need some information:
First, the web application and the crossbar server should run on the same machine, on the same port (HTTPS 443) - I use Apache and I know there is “mod_proxy_wstunnel” - but I am not sure how to configure it. I tested it but didnt work.
(I cant use the other way around, the webserver part of crossbar.io because I need an Apache for my Laravel webapplication)
Also, which is the most performant way to provide connections there.
I have seen a big list of possible ways to connect, but dont know which is the most performant one.
Are there benchmarks for the different settings available?
How to use the realm correctly.
In our hardware gathering tool (the nodejs app) we differentiate between machines and company/domain.
I think if I should seperate the companies already with different realms, which have the same settings, but are seperate.
But against it, is, how to change setting there while having it run.
So maybe one realm and seperate it in my dashboard web app / server / configuration web application.
But how to handle authentification? I want to set it up in the web application, change the token for example or something like that.
Can I access the crossbar server setting and is there a possibility to hot reload the settings?