https://github.com/arnarg/plex_exporter
A Prometheus exporter for a few metrics from Plex Media Server
https://github.com/arnarg/plex_exporter
Last synced: about 1 year ago
JSON representation
A Prometheus exporter for a few metrics from Plex Media Server
- Host: GitHub
- URL: https://github.com/arnarg/plex_exporter
- Owner: arnarg
- License: mit
- Created: 2019-06-01T19:25:55.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2023-02-24T17:53:25.000Z (over 3 years ago)
- Last Synced: 2024-08-02T15:48:11.705Z (almost 2 years ago)
- Language: Go
- Size: 5 MB
- Stars: 74
- Watchers: 6
- Forks: 15
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Plex exporter
-------------
```
NAME:
plex_exporter - A Prometheus exporter that exports metrics on Plex Media Server.
USAGE:
plex_exporter [global options] command [command options] [arguments...]
COMMANDS:
token, t Get authentication token from plex.tv
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--config-path value, -c value Path to config file (default: "/etc/plex_exporter/config.yaml")
--listen-address value, -l value Port for server (default: ":9594")
--log-level value Verbosity level of logs (default: "info")
--format value, -f value Output format of logs (default: "text")
--auto-discover, -a Auto discover Plex servers from plex.tv
--plex-server value, -p value Address of Plex Media Server
--token value, -t value Authentication token for Plex Media Server
--help, -h show help
--version, -v print the version
```
## Metrics
```
# HELP plex_library_section_size_count Number of items in a library section
# TYPE plex_library_section_size_count gauge
plex_library_section_size_count{name="Movies",server_id="asdf1234",server_name="myplexserver",type="movie"} 598
plex_library_section_size_count{name="TV Shows",server_id="asdf1234",server_name="myplexserver",type="show"} 31
# HELP plex_server_info Information about Plex server
# TYPE plex_server_info counter
plex_server_info{platform="Linux",server_id="asdf1234",server_name="myplexserver",version="1.16.6.1592-b9d49bdb7"} 1
# HELP plex_sessions_active_count Number of active Plex sessions
# TYPE plex_sessions_active_count gauge
plex_sessions_active_count{server_id="asdf1234",server_name="myplexserver"} 1
```
## Running
Before application can be run an authentication token is needed from plex.tv. This can be acquired by running `plex_exporter token`.
Plex exporter can then be run with `plex_exporter -t --auto-discover` and Plex servers will be auto discovered from plex.tv (this will only include servers you own).
### Without auto discovery
If you don't want to auto discover from plex.tv you can provide a base url to the server with `--plex-server`.
### Config file
`--plex-server` flag only supports specifying a single Plex server. If you want to provide more you need to use the config file.
```yaml
address: ":9594"
logLevel: "info"
logFormat: "text"
autoDiscover: false
token: "asdf1234"
servers:
- baseUrl: https://my.plexserver.io:32400
insecure: true
# My friend trusts me a lot
- baseUrl: https://myfriends.plexserver.io:32400
token: my-friends-token
```
Servers without a token use the token from top-level config.
The insecure key turns off tls verify for that server.