axsuul / plex-media-server-exporter

A better Prometheus exporter for Plex Media Server
MIT License
56 stars 5 forks source link

ArgumentError: value must be a number #10

Closed velterity closed 1 year ago

velterity commented 1 year ago

Hey, was trying this out and I see the following error in the ui:

Puma caught this error: value must be a number (ArgumentError) /usr/local/bundle/gems/prometheus-client-4.0.0/lib/prometheus/client/gauge.rb:17:in set' /srv/lib/middleware/collector.rb:216:inblock in set_gauge_metric_values_or_reset_missing' /srv/lib/middleware/collector.rb:215:in each' /srv/lib/middleware/collector.rb:215:inset_gauge_metric_values_or_reset_missing' /srv/lib/middleware/collector.rb:75:in ensure in call' /srv/lib/middleware/collector.rb:75:incall' /usr/local/bundle/gems/rack-3.0.1/lib/rack/deflater.rb:47:in call' /usr/local/bundle/gems/puma-6.0.0/lib/puma/configuration.rb:268:incall' /usr/local/bundle/gems/puma-6.0.0/lib/puma/request.rb:89:in block in handle_request' /usr/local/bundle/gems/puma-6.0.0/lib/puma/thread_pool.rb:343:inwith_force_shutdown' /usr/local/bundle/gems/puma-6.0.0/lib/puma/request.rb:88:in handle_request' /usr/local/bundle/gems/puma-6.0.0/lib/puma/server.rb:430:inprocess_client' /usr/local/bundle/gems/puma-6.0.0/lib/puma/server.rb:233:in block in run' /usr/local/bundle/gems/puma-6.0.0/lib/puma/thread_pool.rb:150:inblock in spawn_thread'

The docker logs show the following:

2023-07-12 18:46:14 +0000 Rack app ("GET /" - (192.168.1.163)): # 2023-07-12 18:46:14 +0000 Rack app ("GET /favicon.ico" - (192.168.1.163)): # 2023-07-12 18:46:14 +0000 Rack app ("GET /" - (192.168.1.163)): # 2023-07-12 18:46:14 +0000 Rack app ("GET /favicon.ico" - (192.168.1.163)): # 2023-07-12 18:46:15 +0000 Rack app ("GET /" - (192.168.1.163)): # 2023-07-12 18:46:15 +0000 Rack app ("GET /favicon.ico" - (192.168.1.163)): # 2023-07-12 18:47:24 +0000 Rack app ("GET /metrics" - (192.168.1.163)): # 2023-07-12 18:47:24 +0000 Rack app ("GET /favicon.ico" - (192.168.1.163)): # 2023-07-12 18:47:26 +0000 Rack app ("GET /metrics" - (192.168.1.163)): # 2023-07-12 18:47:26 +0000 Rack app ("GET /favicon.ico" - (192.168.1.163)): # 2023-07-12 18:47:27 +0000 Rack app ("GET /metrics" - (192.168.1.163)): # 2023-07-12 18:47:27 +0000 Rack app ("GET /favicon.ico" - (192.168.1.163)): # 2023-07-12 18:48:50 +0000 Rack app ("GET /metrics" - (192.168.1.163)): # 2023-07-12 18:48:50 +0000 Rack app ("GET /favicon.ico" - (192.168.1.163)): # 2023-07-12 18:52:06 +0000 Rack app ("GET /metrics" - (192.168.1.163)): # 2023-07-12 18:52:06 +0000 Rack app ("GET /favicon.ico" - (192.168.1.163)): # 2023-07-12 18:52:07 +0000 Rack app ("GET /metrics" - (192.168.1.163)): # 2023-07-12 18:52:07 +0000 Rack app ("GET /favicon.ico" - (192.168.1.163)): #

axsuul commented 1 year ago

Can I please see your docker-compose.yml or whatever input you're using to run the Docker iamge?

velterity commented 1 year ago

I tried a few different options for PLEX_ADDR, thinking it was that, but still wasn't working.

Here's my env file:

CADDY_PROXY=caddy_proxy PLEX_ADDR=http://192.168.1.251:32400 PLEX_TOKEN=**

Compose file:

---
version: "3.7"

networks:
  default:
    name: ${CADDY_PROXY}
    external: true 

services:

  plex-exporter:
    container_name: plex-media-server-exporter
    image: ghcr.io/axsuul/plex-media-server-exporter
    hostname: plex-exporter
    restart: unless-stopped
    ports:
      - 9594:9594
    env_file:
      - .env
    security_opt:
      - no-new-privileges:true
    volumes:
      - plex_exporter_data:/app/config
    labels:
      - "com.centurylinklabs.watchtower.enable=true"

volumes:
  plex_exporter_data:
    name: plex_exporter_data
axsuul commented 1 year ago

What version of Prometheus are you using? It seems maybe something broke in a future/old version.

velterity commented 1 year ago

The latest version: v2.45.0

axsuul commented 1 year ago

Thanks, doesn't seem like it's that Prometheus version. I'm having trouble re-producing – any way you can private message me your PLEX_ADDR and PLEX_TOKEN (or perhaps you can try hosting a new Plex server but has the same issue)?

cryptiklemur commented 1 year ago

I'm also seeing this issue. Where can I private message you?

Cleaned up error message:

Puma caught this error: value must be a number (ArgumentError)
/usr/local/bundle/gems/prometheus-client-4.0.0/lib/prometheus/client/gauge.rb:17:in `set'
/srv/lib/middleware/collector.rb:216:in `block in set_gauge_metric_values_or_reset_missing'
/srv/lib/middleware/collector.rb:215:in `each'
/srv/lib/middleware/collector.rb:215:in `set_gauge_metric_values_or_reset_missing'
/srv/lib/middleware/collector.rb:75:in `ensure in call'
/srv/lib/middleware/collector.rb:75:in `call'
/usr/local/bundle/gems/rack-3.0.1/lib/rack/deflater.rb:47:in `call'
/usr/local/bundle/gems/puma-6.0.0/lib/puma/configuration.rb:268:in `call'
/usr/local/bundle/gems/puma-6.0.0/lib/puma/request.rb:89:in `block in handle_request'
/usr/local/bundle/gems/puma-6.0.0/lib/puma/thread_pool.rb:343:in `with_force_shutdown'
/usr/local/bundle/gems/puma-6.0.0/lib/puma/request.rb:88:in `handle_request'
/usr/local/bundle/gems/puma-6.0.0/lib/puma/server.rb:430:in `process_client'
/usr/local/bundle/gems/puma-6.0.0/lib/puma/server.rb:233:in `block in run'
/usr/local/bundle/gems/puma-6.0.0/lib/puma/thread_pool.rb:150:in `block in spawn_thread'
lamchakchan commented 1 year ago

I'm also seeing this issue

Server Logs

2023-11-03 19:43:45 -0500 Rack app ("GET /metrics" - (192.168.1.104)): #<ArgumentError: value must be a number>
2023-11-03 19:43:45 -0500 Rack app ("GET /favicon.ico" - (192.168.1.104)): #<ArgumentError: value must be a number>
2023-11-03 19:43:53 -0500 Rack app ("GET /metric" - (192.168.1.104)): #<ArgumentError: value must be a number>
2023-11-03 19:43:53 -0500 Rack app ("GET /favicon.ico" - (192.168.1.104)): #<ArgumentError: value must be a number>
2023-11-03 19:43:55 -0500 Rack app ("GET /" - (192.168.1.104)): #<ArgumentError: value must be a number>
2023-11-03 19:43:56 -0500 Rack app ("GET /favicon.ico" - (192.168.1.104)): #<ArgumentError: value must be a number>
2023-11-03 19:43:59 -0500 Rack app ("GET /metrics" - (192.168.1.104)): #<ArgumentError: value must be a number>
2023-11-03 19:43:59 -0500 Rack app ("GET /favicon.ico" - (192.168.1.104)): #<ArgumentError: value must be a number>
Puma starting in single mode...
* Puma version: 6.0.0 (ruby 3.0.5-p211) ("Sunflower")
*  Min threads: 0
*  Max threads: 5
*  Environment: development
*          PID: 7
* Listening on http://0.0.0.0:9594
Use Ctrl-C to stop
2023-11-03 19:44:37 -0500 Rack app ("GET /metrics/" - (192.168.1.104)): #<ArgumentError: value must be a number>
2023-11-03 19:44:37 -0500 Rack app ("GET /favicon.ico" - (192.168.1.104)): #<ArgumentError: value must be a number>

Client Side Response

Puma caught this error: value must be a number (ArgumentError)
/usr/local/bundle/gems/prometheus-client-4.0.0/lib/prometheus/client/gauge.rb:17:in `set'
/srv/lib/middleware/collector.rb:216:in `block in set_gauge_metric_values_or_reset_missing'
/srv/lib/middleware/collector.rb:215:in `each'
/srv/lib/middleware/collector.rb:215:in `set_gauge_metric_values_or_reset_missing'
/srv/lib/middleware/collector.rb:75:in `ensure in call'
/srv/lib/middleware/collector.rb:75:in `call'
/usr/local/bundle/gems/rack-3.0.1/lib/rack/deflater.rb:47:in `call'
/usr/local/bundle/gems/puma-6.0.0/lib/puma/configuration.rb:268:in `call'
/usr/local/bundle/gems/puma-6.0.0/lib/puma/request.rb:89:in `block in handle_request'
/usr/local/bundle/gems/puma-6.0.0/lib/puma/thread_pool.rb:343:in `with_force_shutdown'
/usr/local/bundle/gems/puma-6.0.0/lib/puma/request.rb:88:in `handle_request'
/usr/local/bundle/gems/puma-6.0.0/lib/puma/server.rb:430:in `process_client'
/usr/local/bundle/gems/puma-6.0.0/lib/puma/server.rb:233:in `block in run'
/usr/local/bundle/gems/puma-6.0.0/lib/puma/thread_pool.rb:150:in `block in spawn_thread'
lamchakchan commented 1 year ago

I solved my own problem. The address needed the http:// protocol in front of it.