New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow netdata to listen to multiple ports #5017
Comments
It's high priority because it's blocking #4969. |
Relevant to #2149, anything that closes this as proposed will also implicitly close that. |
This also impacts creation of docker images. |
I ended up doing it like this: The user can optionally define up to 3 additional ports, using the following format:
The request types are strings identical to the Every time a request is added to a new port, the request is disabled from the default port. The only thing to note here is how the API ACLs are request types work:
To illustrate this point, the example configuration already provided has the following effect:
Any feedback/questions would be appreciated. It needs a bit more testing to ensure streaming and registry work well and I'm moving the health command API onto the JSON management API now. |
Limiting it to four total ports feels a bit arbitrary, is there any technical reason that there has to be a limit like that? |
No reason, I just needed to build the strings that netdata will be looking for in the config. There's better way to do it:
I'm doing it like this. |
I had to do a major rewrite, because I noticed late that we already have the "bind to" option in our [web] config. The configuration will be like this example:
Updating the documentation and doing more tests today to move the PR from work in progress. |
##### Summary fixes #2673 fixes #2149 fixes #5017 fixes #3830 fixes #3187 fixes #5154 Implements a command API for health which will accept commands via a socket to selectively suppress health checks. Allows different ports to accept different request types (streaming, dashboard, api, registry, netdata.conf, badges, management) Removes support for multi-threaded and single-threaded web servers. ##### Component Name health, daemon
##### Summary fixes netdata#2673 fixes netdata#2149 fixes netdata#5017 fixes netdata#3830 fixes netdata#3187 fixes netdata#5154 Implements a command API for health which will accept commands via a socket to selectively suppress health checks. Allows different ports to accept different request types (streaming, dashboard, api, registry, netdata.conf, badges, management) Removes support for multi-threaded and single-threaded web servers. ##### Component Name health, daemon
Feature idea summary
As discussed in PR #4969 and after a follow-up discussion with @ktsaou, we will allow the netdata web server to listen to different ports for the different types of requests.
Expected behavior
netdata already accepts the definition of access lists for the following, though always on the same port:
The solution will enable the definition of a port for each type of request. The proposed new structure for the request types is the following:
Leaving aside the complexity of netdata.conf for the moment, netdata would be able to listen to a maximum of 5 ports, configurable in the [web] section. The ACLs will of course apply regardless of whether a separate port has been defined.
The text was updated successfully, but these errors were encountered: