Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sleavely/satisfactory-savegame-prometheus-exporter
A Prometheus exporter for savegame metrics from Satisfactory
https://github.com/sleavely/satisfactory-savegame-prometheus-exporter
metrics prometheus prometheus-exporter satisfactory
Last synced: 1 day ago
JSON representation
A Prometheus exporter for savegame metrics from Satisfactory
- Host: GitHub
- URL: https://github.com/sleavely/satisfactory-savegame-prometheus-exporter
- Owner: Sleavely
- License: mit
- Created: 2024-10-21T20:10:17.000Z (24 days ago)
- Default Branch: main
- Last Pushed: 2024-10-27T12:27:55.000Z (18 days ago)
- Last Synced: 2024-10-28T02:36:49.914Z (18 days ago)
- Topics: metrics, prometheus, prometheus-exporter, satisfactory
- Language: TypeScript
- Homepage:
- Size: 427 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# satisfactory-savegame-prometheus-exporter
A Prometheus Exporter that generates metrics from local or remote Satisfactory save game files.
[ ![npm version](https://img.shields.io/npm/v/satisfactory-savegame-prometheus-exporter.svg?style=flat) ](https://npmjs.org/package/satisfactory-savegame-prometheus-exporter "View this project on npm") [ ![Docker Image Version](https://img.shields.io/docker/v/sleavely/satisfactory-savegame-prometheus-exporter?label=Docker)
](https://hub.docker.com/r/sleavely/satisfactory-savegame-prometheus-exporter) [ ![Issues](https://img.shields.io/github/issues/Sleavely/satisfactory-savegame-prometheus-exporter.svg?label=Github+issues) ](https://github.com/Sleavely/satisfactory-savegame-prometheus-exporter/issues)![Sample Grafana dashboard using the metrics recorded by satisfactory-savegame-prometheus-exporter](https://i.imgur.com/fDjZY6G.png)
## Usage
The `SAVEGAME_LOCATION` environment variable can be a URL or a local path to a file or a folder. If a folder is supplied, it will recursively find the latest file.
While you can run the `bin` scripts with `npm exec cli ` or `npm exec express `, the recommended approach is to use Docker as shown below.
```sh
docker run \
--rm \
-p 9772:9772 \
-e SAVEGAME_LOCATION=https://example.com/satisfactory-savegame.sav \
sleavely/satisfactory-savegame-prometheus-exporter:latest
```With Docker Compose:
```yaml
savegame_metrics_exporter:
image: sleavely/satisfactory-savegame-prometheus-exporter:latest
restart: unless-stopped
volumes:
- ./config/saved/server:/savegames:ro
environment:
- HOST=0.0.0.0
- PORT=9772
- SAVEGAME_LOCATION=/savegames
networks:
- grafana
hostname: satisfactory-savegame-metrics
```## Grafana Dashboard
[grafana.json](./grafana.json) contains a dashboard configuration for metrics using this exporter in tandem with [`Shinigami92/satisfactory-server-prometheus-exporter`](https://github.com/Shinigami92/satisfactory-server-prometheus-exporter)
## Related
- [wolveix/satisfactory-server](https://github.com/wolveix/satisfactory-server) - A Docker image for running a Satisfactory Dedicated Server.
- [Shinigami92/satisfactory-server-prometheus-exporter](https://github.com/Shinigami92/satisfactory-server-prometheus-exporter) - Prometheus Exporter for the metrics exposed from the Satisfactory Dedicated Server
- [etothepii4/satisfactory-file-parser](https://github.com/etothepii4/satisfactory-file-parser) - TypeScript Module to parse Satisfactory save files
- [greeny/SatisfactoryTools](https://github.com/greeny/SatisfactoryTools) - Satisfactory Tools for planning and building the perfect base.