# External access to PMM prometheus in pmm 2.10.1

**URL:** <https://forums.percona.com/t/external-access-to-pmm-prometheus-in-pmm-2-10-1/8069>\
**Category:** PMM 2.x\
**Created:** [September 23, 2020, 3:15am UTC](https://forums.percona.com/t/external-access-to-pmm-prometheus-in-pmm-2-10-1/8069 "2020-09-23T03:15:42Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Stateros](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/stateros/32/2490_2.png) [@Stateros](https://forums.percona.com/u/Stateros)\
**Post date:** [September 23, 2020, 3:15am UTC](https://forums.percona.com/t/external-access-to-pmm-prometheus-in-pmm-2-10-1/8069/1 "2020-09-23T03:15:42Z")

</div>

Hello.

In new pmm release 2.10.1 - pmm reject access to prometheus throw port 9090.

I have my own Grafana server where I built some custom dashboards for alerting (yes, it was before alert manager became to pmm). Grafana is using pmm prometheus as a source like [http://pmm.prod.com:9090/prometheus/](http://pmm.prod.com:9090/prometheus/)

```auto
~# curl http://pmm.prod.com:9090/prometheus/
<a href="/prometheus/graph">Found</a>.

```

In 2.10.1 9090 port is closed, or sth like it. Why? And how to open it as it was before

```auto
~# curl http://pmm.prod.com:9090/prometheus/
curl: (7) Failed to connect to pmm.prod.com port 9090: Connection refused

```

From deployment perspective nothing changed from my side:

```auto
docker run -d -p 80:80 -p 443:443 -p 9090:9090 --volumes-from pmm-data --name pmm-server --restart always -e GF_AUTH_LDAP_CONFIG_FILE=ldap.toml -e GF_AUTH_LDAP_ENABLED=true percona/pmm-server:2

```

---

<div class="post-metadata">

**Author:** ![Vadim\_Yalovets](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/vadim_yalovets/32/43_2.png) [@Vadim\_Yalovets](https://forums.percona.com/u/Vadim_Yalovets)\
**Post date:** [September 23, 2020, 3:57am UTC](https://forums.percona.com/t/external-access-to-pmm-prometheus-in-pmm-2-10-1/8069/2 "2020-09-23T03:57:52Z")

</div>

Hi,

You may allow access to prometheus location for your own grafana instance in file /etc/nginx/conf.d/pmm.conf

Next lines should be added

satisfy any;

```
 allow 1.2.3.4;

 deny all;

```

e.g.

![Screenshot_20200923_122459.png](https://us1.discourse-cdn.com/flex019/uploads/percona1/original/1X/dc91746f30b16f65e99b0e614578c5a47d544395.png)

---

<div class="post-metadata">

**Author:** ![Stateros](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/stateros/32/2490_2.png) [@Stateros](https://forums.percona.com/u/Stateros)\
**Post date:** [September 23, 2020, 5:32am UTC](https://forums.percona.com/t/external-access-to-pmm-prometheus-in-pmm-2-10-1/8069/3 "2020-09-23T05:32:12Z")

</div>

thanks for information, but it didn’t help.

I have update /etc/nginx/conf.d/pmm.conf file

```auto
# Prometheus

location /prometheus {

satisfy any;

allow 172.xxx.xxx.xxx;

deny all;

proxy_pass http://127.0.0.1:9090;

proxy_read_timeout 600;

}

```

Restart docker container. But the problem still exists. Grafana shows:

```auto
data:""

status:502

statusText:"Bad Gateway"

xhrStatus:"complete"

request:Object

method:"GET"

url:"api/datasources/proxy/16/api/v1/query_range....

```

---

<div class="post-metadata">

**Author:** ![Stateros](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/stateros/32/2490_2.png) [@Stateros](https://forums.percona.com/u/Stateros)\
**Post date:** [September 23, 2020, 5:35am UTC](https://forums.percona.com/t/external-access-to-pmm-prometheus-in-pmm-2-10-1/8069/4 "2020-09-23T05:35:29Z")

</div>

thanks for update, but it didn’t help.

I have updated pmm once again, update /etc/nginx/conf.d/pmm.conf file:

```auto
# Prometheus

location /prometheus {

satisfy any;

allow 172.xxx.xxx.xxx;

deny all;

proxy_pass http://127.0.0.1:9090;

proxy_read_timeout 600;

}

```

restart docker container. PMM started and works ok, but from my Grafana perspective nothing changed. Here is example of Query Inspector output:

```auto
data:""

status:502

statusText:"Bad Gateway"

xhrStatus:"complete"

request:Object

method:"GET"

url:"api/datasources/proxy/16/api/v1/query_range...

```

---

<div class="post-metadata">

**Author:** ![Vadim\_Yalovets](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/vadim_yalovets/32/43_2.png) [@Vadim\_Yalovets](https://forums.percona.com/u/Vadim_Yalovets)\
**Post date:** [September 23, 2020, 9:00am UTC](https://forums.percona.com/t/external-access-to-pmm-prometheus-in-pmm-2-10-1/8069/5 "2020-09-23T09:00:46Z")

</div>

Could you test it with parameter “allow all”?

---

<div class="post-metadata">

**Author:** ![Stateros](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/stateros/32/2490_2.png) [@Stateros](https://forums.percona.com/u/Stateros)\
**Post date:** [September 24, 2020, 1:52am UTC](https://forums.percona.com/t/external-access-to-pmm-prometheus-in-pmm-2-10-1/8069/6 "2020-09-24T01:52:44Z")

</div>

unfortunately not.

```auto
# Prometheus
    location /prometheus {
      satisfy any;
      allow 172.xxx.xxx.xxx;
      allow all;
      proxy_pass http://127.0.0.1:9090;
      proxy_read_timeout 600;
    }
 # Prometheus
    location /prometheus {
      satisfy any;
      allow all;
      proxy_pass http://127.0.0.1:9090;
      proxy_read_timeout 600;
    }

```

both tries gave the same result: Grafana shows error 502 - Bad Gateway.

---

<div class="post-metadata">

**Author:** ![Vadim\_Yalovets](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/vadim_yalovets/32/43_2.png) [@Vadim\_Yalovets](https://forums.percona.com/u/Vadim_Yalovets)\
**Post date:** [September 24, 2020, 6:00am UTC](https://forums.percona.com/t/external-access-to-pmm-prometheus-in-pmm-2-10-1/8069/7 "2020-09-24T06:00:38Z")

</div>

Are you still trying connect to Prometheus directly? I mean port 9090.

Suggested changes allow to access Prometheus through nginx proxying.

So please try command

```auto
curl http://pmm.prod.com/prometheus/

```

---

<div class="post-metadata">

**Author:** ![Stateros](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/stateros/32/2490_2.png) [@Stateros](https://forums.percona.com/u/Stateros)\
**Post date:** [September 25, 2020, 4:41am UTC](https://forums.percona.com/t/external-access-to-pmm-prometheus-in-pmm-2-10-1/8069/8 "2020-09-25T04:41:10Z")

</div>

@adivinhohuge thanks for help and patience. My final config looks like:

```auto
# Prometheus
    location /prometheus {
      satisfy any;
      allow 172.xxx.xxx.xxx;
      deny all;
      proxy_pass http://127.0.0.1:9090;
      proxy_read_timeout 600;
    }

```

I have range of ips for like 172.0.0.0/21…

And Grafana datasource looks like

```auto
url: http://pmm.prod..com/prometheus/

```

instead of

```auto
url: http://pmm.prod..com:9090/prometheus/

```

Also I changed a little security groups because Grafana starts using another port to connect pmm-server.

Everything works now. Thanks again.
