-
Notifications
You must be signed in to change notification settings - Fork 80
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
Deploy on multiple Managed Servers #368
Comments
The REST port only needs to be specified if it is different from the port on which you are contacting the exporter. Under most conditions, it would be the same, so you don't need to specify it. The most common in which it is not the same is when you have a load balancer in the middle, which will redirect requests to different ports that the one on the load balancer. |
@russgold I already understood that at this point. However, we use the administration port in our Weblgic domain. This means that we have the following structure as an example:
The application is accessible under the 10001 port. However, the rest of the API is under 30001. |
Hello @russgold, |
@augeivv That sounds as though it would need an enhancement to the syntax. Do you have some ideas on what would work? A single configuration would need some way to tell which port is used where. Do you have an Oracle support person who could look at your application? I don't understand why each server would need its own port numbers. |
@russgold This is available in the ServerRuntime under 'getAdministrationURL()'. When the administration port is activated, the operation returns the URL that the server and its clients use for administrative connections. To the second question: Furthermore, what exactly do you mean by "your application"? |
I meant, how you have set up your servers so that each one needs its own port numbers. My understanding was that one usually used the same port numbers on different servers. |
Multiple weblogic server instances can also be run on the same server. Nowhere is it defined that each instance must be run on different servers. In the domain, a separate listen port can be set for each weblogic instance. |
hello @russgold , I noticed last week that Weblogic 14.1.2 has the secure production mode as default. |
hello @augeivv |
The most obvious solution is not to use the REST_PORT setting and simply access the exporters on the admin ports. Then you would not need a different configuration for each server. Did you try that? If so, what happened? |
hello @mriccell & @russgold If I do not specify the rest port, I get a "Not authorized" back. In my opinion, the port from the current request is used for the internal call of the rest-api to determine the metrics. Line 41 in 2a366a3
If the administration port is active on the domain, the exporter is accessible on a different port than the rest-api. Is there a way to simply access the exporter via the admin ports? In my case, the exporter cannot be accessed via the admin port. |
In the usual setup, you would indeed access the exporter via the admin port, if that is enabled. But I have only worked with two setups - the normal WLS system, in which each server is on a different host, or in Kubernetes with the Weblogic Kubernetes Operator (the easiest choice). Can you describe your environment? The JVM is a VM, but I am guessing that's not what you mean, here - and you're not using Kubernetes, either? |
Also I'm having an issue like that. I deployed exporter to one of my cluster in wl server but it could not call api to get metrics. it causes, can't see metrics page. I see 404 |
We will open an enhancement on the monitoring exporter so that the exporter can be accessed via the admin port when serverhave have different admin ports configured (and of course enabled) because the servers are running on the same VM. |
@kemalunel To be clear, you can reach the main page of the exporter app, but when you hit the |
Yes I'm able to connect to main page but when I try to upload config file over browser or try to reach metrics and message path, I'm getting the same error 404. Those clusters are running on different ports if you compare with admin server. I'm suspecting that wls-exporter cannot use api feature of weblogic. |
@russgold |
Ok I've fixed 404 error when I try to reach /metrics path with enabling Restful services features on Domain > Advance configuration. but now, when I try to reach metrics page, it asks me username and password.How to deal with that because I'll add this endpoint to prometheus config |
@kemalunel you can add username / password to your Prometheus configuration. WLS requires them to report internal data. |
@augeivv We didn't consider such a configuration when creating the exporter. We're going to look at an enhancement to handle that more easily. |
@russgold It would be great if there was a solution for this. Thank you very much. |
@augeivv I want to make sure I understand your case well. I take it that you have the admin port enabled across the cluster, so that is the REST port, right? Is there any reason that you cannot simply invoke the exporter on that port on each server? |
@russgold Yes that is correct. The admin port is active in the entire domain. The REST API is only accessible on the admin ports on all managed servers. If you activate the administration port, the administration traffic is separated from the application traffic in your domain. So I cannot call the application (monitoring exporter) on the admin port. I am not aware that there are any options for setting this. |
I think the moitoring exporter is great. However, we have a fundamental problem.
However, we would like to deploy it in a classic weblogic domain in which the administration port is activated.
According to the documentation, the REST port must then be specified.
The whole thing also works for a single managed server.
However, if I want to deploy the whole thing on all managed servers, the administration port differs per server.
This means that I would have to adjust the configuration several times per server and then also deploy the application several times.
Is there an easier way to do this, where the port can be determined dynamically or something like that?
Thank you very much
The text was updated successfully, but these errors were encountered: