Running Observium behind Nginx Revsere Proxy

Hello all,

I have recently started to use Observium to monitor devices on my network. Like some of my other services, I'd like to be able to access this remotely. However, i cannot get it to \*fully\* work. By that I mean i get Observium to load remotely, however a lot of feature (most notably the graphs) never load.

Some info on my setup:

All services are running on Proxmox, containers in question are turnkey-linux templates.

container/turnkey-nginx: running php7.0-fpm, default configs for everything.

container/turnkey-Observium: default config; untouched since setup

nginx.conf: <>

php7.0-fpm/www.conf: <>

nginx/observium.conf::

server {
server_name observe.mydomain.com;
access_log /var/log/nginx/observe-access.log;
error_log /var/log/nginx/observe-error.log;

location / {
proxy_pass http://10.2.0.109/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
#try_files $uri $uri/ /index.php?$args;
}

location ~ \.php {
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
include fastcgi_params;
}
}

This will get me to the Observium dashboard, and most pages will load. There's one (and probably more) in particular that won't:

observe.mydomain.comt/device/device=1/tab=graphs/ ===> Returns HTTP ERROR 501

Or, it will load but none of the graphs that are supposed to be there aren't.

nginx/observe-error.log:

2020/01/09 16:02:16 [crit] 575#575: *464 connect() to unix:/run/php/php7.0-fpm.sock failed (2: No such file or directory) while connecting to upstream, client: 165.225.48.109, server: observe.mydomain.com, request: "GET /graph.php?to=1578585734&id=17&type=sensor_graph&width=80&height=20&bg=ffffff00&from=1578499334 HTTP/1.1", upstream: "fastcgi://unix:/run/php/php7.0-fpm.sock:", host: "observe.mydomain.com", referrer: "http://observe.mydomain.com/device/device=1/"

*I have seen other GET requests failing for different /file.php , really depends what page i'm loading. I don't think the php files or observium is the issue i think it's all nginx/fastcgi.*

/run/php ls:

[email protected] /run/php# ls
php7.0-fpm.pid php7.0-fpm.sock

Two things i suspect are the issue:

My server conf is not complete; notable there is no `fastcgi_split_path_info` which i thought was needed, but broke nginx (probably because it was incorrectly configured to begin with).

or...

the `php7.0-fpm.sock` does not have permissions, which is why it cannot be "found". (Can this be fixed with a chmod 777 ? )

Nginx is a bit overwhelming for me and I don't know enough to understand what isn't working. Any input would be greatly appreciated.

1 thought on “Running Observium behind Nginx Revsere Proxy”

  1. It could be that the `fastcgi_split_path_info` is included in your `include fastcgi_params;` line already.

    As for php-fpm issue, try to edit `php7.0-fpm/www.conf` and change the line:

    `listen =` [`127.0.0.1:9000`](https://127.0.0.1:9000) to `listen = /var/run/php/php7.0-fpm.sock` then restart php7.0-fpm service.

    Reply

Leave a Comment