Skip to content

Plex Media Server

What Plex is doing and whether it is current: streams playing now, how many are transcoded and whether in hardware, the bandwidth they reserve, streams from outside the house, libraries being scanned, and updates.

From the DumbMonit server (or its relay agent) to the device:

PortProtocolPurpose
32400TCPAPI (HTTP, default)

DumbMonit reads the server’s own API on port 32400, never plex.tv. It never stops a stream, never scans a library and never changes a setting.

Plex does not publish the outcome of its maintenance tasks (the “butler” only gives their schedule) nor the state of its database backups, so there is nothing to say about those.

All metrics are prefixed dumbmonit_plex_.

MetricWhatLabels
version_infovalue 1version
update_available1 when Plex’s own update check found a newer release; absent until Plex has checked oncelatest_version
claimed1 when the server is linked to a Plex account
streams, streams_paused, streams_remoteplaybacks now; paused; from outside the local network
transcodes, transcodes_video, transcodes_hardwareplaybacks re-encoded (video or audio); with the video re-encoded; with hardware acceleration
transcoder_active_video_sessionsvideo transcodes the server itself counts
stream_bandwidth_bits_per_secondbandwidth reserved by all playbacks
libraries, libraries_scanninglibraries; those being scanned now
activitiesbackground activities running (scans, analysis, updates)
scrape_errorscalls that failed on the last probe

The built-in rule that applies: Plex update available, plus Monitor unreachable.

The panel above the charts reads what the probe stored; opening the page never calls Plex. It gives the update state and whether the server is claimed, then streams, transcodes, hardware transcodes, remote streams, bandwidth and libraries.

  1. In Plex Web, open Settings → Network and click Show Advanced.

  2. Add the DumbMonit address to List of IP addresses and networks that are allowed without auth, then save.

    10.0.0.20/32
  3. In DumbMonit, enter the server’s address and pick No token.

  4. If DumbMonit is not on your network, use the owner’s token instead: open a movie → ⋯ → Get Info → View XML and copy X-Plex-Token from the page address.

Vendor documentation: https://support.plex.tv/articles/204059436-finding-an-authentication-token-x-plex-token/

Why an allowed network, or the owner’s token

Section titled “Why an allowed network, or the owner’s token”

DumbMonit reads the server’s own API on port 32400, never plex.tv. A server linked to a Plex account asks for a token (X-Plex-Token), and Plex cannot issue a limited one: it is the owner’s token. Listing DumbMonit’s address as allowed without auth avoids the token altogether.

DumbMonit only reads sessions, libraries, the updater and the activity list; it never stops a stream and never changes a setting.

The allowed network is also what makes Plex answer without a token from Docker: DumbMonit’s container reaches Plex from its Docker network address, so list that network, or the host’s address when Plex publishes its port on the host.

CredentialFields
X-Plex-TokenSent in the X-Plex-Token header.
No token (allowed network)Nothing is sent; Plex must list DumbMonit’s address among the networks allowed without authentication.

Address: a host name (plex.lan), host:port, or a full URL; a trailing /web is accepted. Options: protocol (HTTP by default; Plex’s own certificates are issued for *.plex.direct names, so HTTPS by IP address needs the certificate check turned off), port (32400), certificate check and request timeout (15 s).

Validated against Plex Media Server 1.43.4 (official image), an unclaimed server answering without a token, with a real transcoded playback. The token path follows Plex’s documented X-Plex-Token header and was not exercised against a claimed server.