Monitor Docker Containers On Host Synology Container Manager

Hello Community,

my query is about the Docker Sensor described in this article: How can I create private key and certificate for the Docker sensor? | Paessler Knowledge Base or more specific here Protect the Docker daemon socket | Docker Docs

The article refers to a standard Docker installation on a Linux host. However, in my case, I’m using a Synology Diskstation running a package called Container Manager, which essentially runs Docker.

The issue I’m facing is that following the provided Knowledge Base article either results in a working PRTG-Docker connection but prevents me from running containers due to modifications to the Docker daemon, or it leads to a failure in connecting PRTG to Docker.

Is there any chance you could provide more specific steps to get things working on a Synology-hosted Docker installation? I’ve found people asking about this, but no working solution yet. I’d like to share the solution with others once I find it.

If you need more detailed information, please let me know.
Synology DS920+ DSM 7.2.1-69057 Update 5
Container Manager Developer Docker Inc. Publisher Synology Inc. Version 24.0.2-1525
Docker Daemon 24.0.2

I appreciate your time and thank you in advance for your reply.

Kind regards,
Kani

What is “PRTG”?

some filler text

I didn’t clarify that. It’s PAESSLER PRTG network monitor. It’s a monitoring system for devices on your network. Can use ping, snmp and many more types to connect or ask the monitored devices.

Can you share how you configured your daemon.json? Its location and name is different on Synology though: /var/packages/ContainerManager/etc/dockerd.json

I have no idea if the docker.sock is affected by certificate auth as well, but since the communication appears to be http/rest, chances are high, that it’s not. I don’t see how mutual TLS could apply to it.

Make sure your dockerd.json not only containes the new tcp binding, but also retains the binding to the daemon socket, as the Container Manager UI interacts with a DS-API, which in turn interacts with the docker.sock.

It should look something like this:

   "hosts" : [ "unix:///var/run/docker.sock", "tcp://{syno-ip}:2376" ],

Don’t forget to restart the Container Manager package after modifying the dockerd.json.