Smokeping webinterface looking at wrong directory

I’m running the latest Smokeping container (GitHub - linuxserver/docker-smokeping) with docker compose, using the example docker-compose config. Two volumes are mounted in for data and config.

This worked for a couple of months, but today I see an error when trying to view any graphs:

Logging into the container with docker compose exec smokeping bash I can see the /var/cahce/smokeping/ directory does not contain any data. But that is correct, because the volume is mounted in at /data.

Looking at the container logs there are no errors, and it looks like the probes are running.

I have also tried an older image tag (smokeping:2.7.3-r9-ls39) with the same result.

Did something in the image change to make Apache/Smokeping-web look at the wrong directory?

share your compose and container logs

docker-compose.yaml

version: "3"

services:

  traefik:
    image: "traefik:v2.4"
    container_name: "traefik"
    restart: unless-stopped
    command:
      - "--log.level=DEBUG"
      - "--api.insecure=true"
      - "--providers.file.directory=/dynamic/"
      - "--providers.docker=true"
      - "--providers.docker.exposedbydefault=false"
      - "--entrypoints.web.address=:80"
      - "--entrypoints.websecure.address=:443"
      - "--entrypoints.web.http.redirections.entryPoint.to=websecure"
      - "--entrypoints.web.http.redirections.entryPoint.scheme=https"
      - "--entrypoints.web.http.redirections.entrypoint.permanent=true"
      # - "--certificatesresolvers.myresolver.acme.httpchallenge=true"
      # - "--certificatesresolvers.myresolver.acme.httpchallenge.entrypoint=web"
      - "--certificatesresolvers.myresolver.acme.dnschallenge=true"
      - "--certificatesresolvers.myresolver.acme.dnschallenge.provider=cloudflare"
      # - "--certificatesresolvers.myresolver.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory"
      - "--certificatesresolvers.myresolver.acme.email=<redacted>"
      - "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json"
    environment:
      - "CLOUDFLARE_DNS_API_TOKEN=<redacted>"
    ports:
      - "80:80"
      - "443:443"
      - "8080:8080"
    extra_hosts:
      - host.docker.internal:172.17.0.1
    volumes:
      - "/mnt/5TB/Data/traefik/letsencrypt:/letsencrypt"
      - "/mnt/5TB/Data/traefik/dynamic:/dynamic"
      - "/var/run/docker.sock:/var/run/docker.sock:ro"


  smokeping:
    image: lscr.io/linuxserver/smokeping:2.7.3-r9-ls39
    container_name: smokeping
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
    volumes:
      - /mnt/5TB/Data/Smokeping/config:/config
      - /mnt/5TB/Data/Smokeping/data:/data
    # ports:
    #   - 8081:80
    restart: unless-stopped
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.smokeping.rule=Host(`smokeping.<redacted>`)"
      - "traefik.http.routers.smokeping.entrypoints=websecure"
      - "traefik.http.routers.smokeping.tls.certresolver=myresolver"
      - "traefik.http.services.smokeping.loadbalancer.server.port=80"

Container logs

$ docker compose stop smokeping
[+] Stopping 1/1
 ✔ Container smokeping  Stopped                                                                                                                                                   5.3s 
$ docker compose up -d smokeping
[+] Running 1/1
 ✔ Container smokeping  Started                                                                                                                                                   0.3s 
$ docker compose logs -f smokeping
smokeping  | [migrations] started
smokeping  | [migrations] no migrations found
smokeping  | usermod: no changes
smokeping  | ───────────────────────────────────────
smokeping  | 
smokeping  | 
smokeping  |       ██╗     ███████╗██╗ ██████╗ 
smokeping  |       ██║     ██╔════╝██║██╔═══██╗
smokeping  |       ██║     ███████╗██║██║   ██║
smokeping  |       ██║     ╚════██║██║██║   ██║
smokeping  |       ███████╗███████║██║╚██████╔╝
smokeping  |       ╚══════╝╚══════╝╚═╝ ╚═════╝ 
smokeping  | 
smokeping  | 
smokeping  |    Brought to you by linuxserver.io
smokeping  | ───────────────────────────────────────
smokeping  | 
smokeping  | 
smokeping  | To support LSIO projects visit:
smokeping  | https://www.linuxserver.io/donate/
smokeping  | 
smokeping  | 
smokeping  | ───────────────────────────────────────
smokeping  | GID/UID
smokeping  | ───────────────────────────────────────
smokeping  | 
smokeping  | 
smokeping  | User UID:    1000
smokeping  | User GID:    1000
smokeping  | ───────────────────────────────────────
smokeping  | 
smokeping  | 
smokeping  | [custom-init] No custom files found, skipping...
smokeping  | AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.19.0.2. Set the 'ServerName' directive globally to suppress this message
smokeping  | [ls.io-init] done.
smokeping  | WARNING: Hostname 'ipv6.google.com' does currently not resolve to an IPv4 address
smokeping  | ### parsing dig output...OK
smokeping  | ### assuming you are using an fping copy reporting in milliseconds
smokeping  | Smokeping version 2.007003 successfully launched.
smokeping  | Entering multiprocess mode.
smokeping  | Child process 184 started for probe DNS.
smokeping  | DNS: probing 9 targets with step 60 s and offset 41 s.
smokeping  | Child process 185 started for probe FPing.
smokeping  | FPing: probing 25 targets with step 60 s and offset 37 s.
smokeping  | Child process 186 started for probe FPing6.
smokeping  | All probe processes started successfully.
smokeping  | FPing6: probing 1 targets with step 60 s and offset 40 s.

Apache inside container’s log:


$ docker compose exec smokeping bash
root@5c6c5ef1948f:/# cat /var/log/apache2/error.log 
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.19.0.2. Set the 'ServerName' directive globally to suppress this message
[Tue Oct 17 12:03:23.856148 2023] [mpm_prefork:notice] [pid 150] AH00163: Apache/2.4.57 (Unix) mod_fcgid/2.3.9 configured -- resuming normal operations
[Tue Oct 17 12:03:23.856209 2023] [core:notice] [pid 150] AH00094: Command line: '/usr/sbin/httpd -D FOREGROUND'
[Tue Oct 17 12:03:33.950699 2023] [fcgid:warn] [pid 154] [client 172.19.0.9:53520] mod_fcgid: stderr: [Tue Oct 17 12:03:33 2023] smokeping_cgi [client 172.19.0.9]: ERROR: creating  /var/cache/smokeping/USA: No such file or directory, referer: https://smokeping.<redacted>/smokeping/
[Tue Oct 17 12:03:37.359070 2023] [fcgid:warn] [pid 152] mod_fcgid: cleanup zombie process 193
[Tue Oct 17 12:04:06.989159 2023] [fcgid:warn] [pid 155] [client 172.19.0.9:41792] mod_fcgid: stderr: [Tue Oct 17 12:04:06 2023] smokeping_cgi [client 172.19.0.9]: ERROR: creating  /var/cache/smokeping/InternetSites: No such file or directory, referer: https://smokeping.<redacted>/smokeping/
[Tue Oct 17 12:04:12.113217 2023] [fcgid:warn] [pid 152] mod_fcgid: cleanup zombie process 214
[Tue Oct 17 12:04:32.747479 2023] [fcgid:warn] [pid 156] [client 172.19.0.9:48600] mod_fcgid: stderr: [Tue Oct 17 12:04:32 2023] smokeping_cgi [client 172.19.0.9]: ERROR: creating  /var/cache/smokeping/DNSProbes: No such file or directory, referer: https://smokeping.<redacted>/smokeping/
[Tue Oct 17 12:04:35.388628 2023] [fcgid:warn] [pid 152] mod_fcgid: cleanup zombie process 254
[Tue Oct 17 12:10:33.047574 2023] [fcgid:warn] [pid 194] [client 172.19.0.9:36120] mod_fcgid: stderr: [Tue Oct 17 12:10:33 2023] smokeping_cgi [client 172.19.0.9]: ERROR: creating  /var/cache/smokeping/InternetSites: No such file or directory, referer: https://smokeping.<redacted>/smokeping/
[Tue Oct 17 12:10:39.656860 2023] [fcgid:warn] [pid 152] mod_fcgid: cleanup zombie process 423
[Tue Oct 17 14:53:10.517553 2023] [fcgid:warn] [pid 154] [client 172.19.0.9:53640] mod_fcgid: stderr: [Tue Oct 17 14:53:10 2023] smokeping_cgi [client 172.19.0.9]: ERROR: creating  /var/cache/smokeping/InternetSites: No such file or directory, referer: https://smokeping.<redacted>/smokeping/
[Tue Oct 17 14:53:16.244470 2023] [fcgid:warn] [pid 152] mod_fcgid: cleanup zombie process 11214
[Tue Oct 17 14:54:19.846553 2023] [mpm_prefork:notice] [pid 150] AH00169: caught SIGTERM, shutting down
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.19.0.2. Set the 'ServerName' directive globally to suppress this message
[Tue Oct 17 14:54:32.703913 2023] [mpm_prefork:notice] [pid 144] AH00163: Apache/2.4.57 (Unix) mod_fcgid/2.3.9 configured -- resuming normal operations
[Tue Oct 17 14:54:32.703971 2023] [core:notice] [pid 144] AH00094: Command line: '/usr/sbin/httpd -D FOREGROUND'

Container:

root@5c6c5ef1948f:/# ls /var/cache/smokeping/
rrdtool.png  smokeping.png
root@5c6c5ef1948f:/# ls /data
DNS  DNSProbes	Europe	InternetSites  USA  __sortercache

Host:

$ ls /mnt/5TB/Data/Smokeping/data/
DNS  DNSProbes  Europe  InternetSites  __sortercache  USA
$ ls -lah /mnt/5TB/Data/Smokeping/data/InternetSites/
total 4.5M
drwxrwxrwx 2 jpmeijers jpmeijers 4.0K Jun  3  2022 .
drwxrwxrwx 8 jpmeijers jpmeijers 4.0K Oct 17 11:49 ..
-rwxrwxrwx 1 jpmeijers jpmeijers 762K Oct 17 15:08 Facebook.rrd
-rwxrwxrwx 1 jpmeijers jpmeijers 762K Oct 17 15:08 GoogleSearchIpv6.rrd
-rwxrwxrwx 1 jpmeijers jpmeijers 762K Oct 17 15:08 GoogleSearch.rrd
-rwxrwxrwx 1 jpmeijers jpmeijers 762K Oct 17 15:08 JupiterBroadcasting.rrd
-rwxrwxrwx 1 jpmeijers jpmeijers 762K Oct 17 15:08 linuxserverio.rrd
-rwxrwxrwx 1 jpmeijers jpmeijers 762K Oct 17 15:08 Youtube.rrd

We can see the RRDs are being updated, so the core smokeping is running and working. It’s only the website part that is looking for the files in the wrong location.

if you bypass traefik, does it all work properly?
I use our supported reverse proxy and have 0 issues.

No, same error when going directly to the container’s exposed port.

From Smokeping’s side, is there anywhere where the path Apache/CGI looks at is configured? If we can find that config, we can maybe compare it to yours/default and see if it is correct. If not we can trace what changed it.

In my case I did not touch any of the config files, except…

…busy cloning the git repo to do a diff

~$ diff /mnt/5TB/Data/Smokeping/config/ ~/docker-smokeping/root/defaults/smoke-conf/
Only in /mnt/5TB/Data/Smokeping/config/: custom-cont-init.d
Only in /mnt/5TB/Data/Smokeping/config/: custom-services.d
diff /mnt/5TB/Data/Smokeping/config/General /home/jpmeijers/docker-smokeping/root/defaults/smoke-conf/General
4c4
< contact  = ironicbadger@linuxserver.io
---
> contact  = admin@linuxserver.io
9c9
< cgiurl   = http://localhost/smokeping.cgi
---
> cgiurl   = http://localhost/smokeping/smokeping.cgi
Only in /mnt/5TB/Data/Smokeping/config/: httpd.conf
diff /mnt/5TB/Data/Smokeping/config/Probes /home/jpmeijers/docker-smokeping/root/defaults/smoke-conf/Probes
4d3
< 
6,7d4
< pings = 3
< step = 60
10d6
< 
13,14d8
< pings = 3
< step = 60
19,20c13,21
< pings = 3
< step = 60
---
> pings = 5
> step = 300
> 
> + TCPPing
> binary = /usr/bin/tcpping
> forks = 10
> offset = random
> pings = 5
> port = 80
Only in /mnt/5TB/Data/Smokeping/config/: site-confs

Not that either.


BUT when I tried to git clone, I realised the root drive was out of space. This is a different drive than the mounted volumes are on. Docker was also supposed to be using a different drive for images, but it looks like that setting never got activated, and Docker started eating up all the root drive’s space. A simple docker system prune --volumes fixed my original issue.

PS: It looks like Home Assistant Supervisor (or its installer) moved my /etc/docker/daemon.json file to /etc/docker/daemon.json.real, and in the process Docker started using space on the root drive.

This topic was automatically closed 5 days after the last reply. New replies are no longer allowed.