cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How to use Proxy setting in Dynatrace

shashank_b_agra
Organizer

Hi, I have dynatrace set up as managed DT and now I am trying to integrate with various services like Netcool, Slack etc by setting up the webhooks.


Recently when I was trying to hook it up with Netcool, I was getting custom integration failed but then i raised a support ticket and they asked me to do these settings which I did and it then worked. Netcool service integrated successfully.

<server/conf/config.properties>
[http.client.external]
proxy-off = true


BUT then my other integrations with Slack started failing. Is there a way to get around this?

Slack webhook looks like this - https://hooks.slack.com/services*
Netcool webhook looks like this - https://myntlserver.com/probe/dynatraces

23 REPLIES 23

Julius_Loman
Leader
Unfortunately, Dynatrace does not have such detailed proxy settings that would allow you to specify host/domains to go via proxy or to ignore proxy. I hope Dynatrace will finally come with a solution to specify proxy ignore rules.


The [http.client.external] is, AFAIK, the settings for HTTP communication targeted outside the cluster - so this applies for mission control, and integrations (Slack, Webhook, .. ).

If you require some of those targets to go via proxy and for some not, you have basically two options now:

  1. Modify your proxy in the way that also internal communication (Netcool in your case I assume) will go via proxy. This depends on your company network security policy.
  2. Install a local proxy server, on the cluster nodes. For example, I recommend tinyproxy, which has small footprint and allows you to define rules for upstream proxies easily.
    You then specify just the localhost as the proxy in the CMC. All HTTP communication will go to this local proxy and then, based on rules, either forwarded to upstream proxy or the proxy will directly connect.

Hope this helps.

Radoslaw_Szulgo
Dynatrace Leader
Dynatrace Leader

You can achieve that by adding to the configuration you mentioned another property called "proxy-non-proxy-hosts".

In you example:

<server/conf/config.properties>
[http.client.external]
proxy-off = true
proxy-non-proxy-hosts = hooks.slack.com/services*


That configuration should make that calls executed to the specified domain don't go over the proxy. Make sure this is applied to all nodes and is followed by server restart.


The extended configuration of proxy in Cluster Management Console, allowing to specify that should be available early Q1 next year.

Technical Product Manager,
Dynatrace Managed expert

This unfortunately never worked for me last time I've tried - a few months ago. I should give it another try.

should work since 1.198. Let me know if it's not.

Technical Product Manager,
Dynatrace Managed expert

@Radoslaw S.
What does this setting means?

proxy-non-proxy-hosts = hooks.slack.com/services*

Basically my Dynatrace is inside corporate network and the targets Netcool are internal and Slack is external.

How do i configure so that Netcool doesn't use Proxy but Slack uses proxy?

Ah... so I understood that opposite. As I wrote - the property defines which hostnames should be ignored by the proxy. In that case you should put Netcool's hostname instead as it's internal and shouldn't use the proxy:

<server/conf/config.properties>
[http.client.external]
proxy-off = true
proxy-non-proxy-hosts = myntlserver.com/probe/dynatraces
Technical Product Manager,
Dynatrace Managed expert

@Radoslaw S. Thank you. But proxy-off = true means proxy is switched off right. How will these configuration will make sure the proxy is applying to Slack but NOT for Netcool

<server/conf/config.properties> 
[http.client.external]
proxy-off = true
proxy-non-proxy-hosts = myntlserver.com/probe/dynatraces

True! My bad! You should get rid of prox-off line and define proxy parameters instead.

Technical Product Manager,
Dynatrace Managed expert

@Radoslaw S.
So yes I tried to configure that earlier but it didn't work and then DT support said to use proxy-off. It worked but then failed for other targets.

Is that the below setting works only with certain version of Dynatrace?

<server/conf/config.properties>
[http.client.external]
proxy-non-proxy-hosts = myntlserver.com/probe/dynatracest

Since 1.198 .. what's the version you have?

Technical Product Manager,
Dynatrace Managed expert

We are using this - Version 1.200.103.20200903-152540.

So it won't work? Is there any other way?

Did you restart the Dynatrace Cluster node after adding the proxy-non-proxy-hosts?

@Julius L. @Radoslaw S. Yes we started all 3 nodes of our dynatrace cluster but it didn't work. So as soon as we switch to the below setting, Slack integration works but Netcool integration fails.

Also How do i check if my Dynatrace cluster is using which proxy server for the outbound communication? I don't remember defining it anywhere.

Is there a place I can check?

All outgoing requests will go over the proxy defined in CMC -> Settings -> Internet connection. Do you have a proxy there?

Technical Product Manager,
Dynatrace Managed expert

ah yes. I got it. There is a proxy server configured which means every external communication like (Slack) is going via proxy. And if we switch it off in settings with proxy-off = true then it stops working but at the same the Netcool integration works because that doesn't need proxy as it's hosted internally. I already tried the below settings, configured them all 3 nodes and restarted the cluster but it didn't work. Any ideas?

As i mentioned my DT version is Version 1.200.103.20200903-152540. Are you sure that it won't work with this version?

<server/conf/config.properties> 
[http.client.external]
proxy-non-proxy-hosts = myntlserver.com/probe/dynatraces

But you have to define additionally:

<server/conf/config.properties> 

proxy-server=<proxy-server>
proxy-port=<port>
# http or https
proxy-scheme=<protocol>
# basic authentication credentials (optionally)
#proxy-user=username
#proxy-password=password


And also - do you use a proxy to Mission Control? I'm afraid that may overwrite what is configured in the config file.

Technical Product Manager,
Dynatrace Managed expert

@Radoslaw S. Where to define these? So I checked on Dynatrace settings -> Internet connection as you suggested and I see there is a proxy server configured already.

Initially we integrated with Slack which is external (outside my corp network) so it worked perfectly fine. Then we targeted to integrate with Netcool which is internal (inside my corp network and doesn't require proxy) and it didn't work.

We raised a support ticket to DT and they asked us to change these settings. We did that, restarted but it didn't work.

What else do i need to define here? If you could guide me it would be very helpful.

<server/conf/config.properties> 
[http.client.external]
proxy-non-proxy-hosts = myntlserver.com/probe/dynatraces

Shashank, can you please open a support case? We'll take a closer look at you configuration. Also I can confirm you will be able to configure that in UI in version 1.206.

Technical Product Manager,
Dynatrace Managed expert

@Radoslaw S. I have got it working. I have followed what you have said and it starts working now. I can now connect to both Netcool and Slack.

Thanks again for your help and support.

I'm very glad to hear that!

Technical Product Manager,
Dynatrace Managed expert

@Julius L. Hello, I am not able to find your answer you posted earlier. Could you please post that again. I think that had some useful information about using local proxy server.

I undeleted it right now. @Radoslaw S.'s answer is better. I had to deal with the situation when the proxy option mentioned was not in the product yet.

Julius, I like you reply as well. Whereas it's harder to implement, it provides more power and is a valid solution.

Technical Product Manager,
Dynatrace Managed expert