graftorio3

by LeRone

See what your factory is actually doing, in Grafana. Production, power reserves, machine status, logistics supply and demand, trains, research and space platforms as Prometheus metrics - straight into your existing node_exporter, no sidecar or extra port needed.

Utilities
2 hours ago
2.0 - 2.1
4
Owner:
LeRone
Source:
https://github.com/Furoon/graftorio3
Homepage:
https://github.com/Furoon/graftorio3
License:
MIT
Created:
a day ago
Latest Version:
2.0.1 (2 hours ago)
Factorio version:
2.0 - 2.1
Downloaded by:
4 users

graftorio3

See what your factory is actually doing — in Grafana, live, from your own server.

graftorio3 writes your factory's numbers to a file that Prometheus can read: what
you're producing and consuming, how much power you're drawing, what your bots and
trains are up to, how research is coming along, how bad the pollution has gotten,
and which machines are sitting idle waiting for something.

If you already run Grafana and Prometheus, you're about five minutes away from
having your factory on a dashboard next to everything else you monitor.

What you get

  • Production and consumption for every item and fluid, per surface, and
    optionally split by quality tier
  • Power per electric network — and, unlike most exporters, how full your
    accumulators are and how much generation you actually have installed, so a
    brownout is something you see coming
  • Machine status — how many assemblers are working, out of power, starved
    for ingredients, or backed up with a full output. This is the one that tells
    you where the factory is stalling, not just that it is.
  • Trains — trip times, waiting times, time between arrivals, and how many
    trains are sitting in manual mode (usually a forgotten train blocking a line)
  • Logistics — what is in storage versus in providers, what is still being
    requested, and how many bots and roboports each network has
  • Research — current queue and progress, technologies completed, and your
    accumulated bonuses
  • Pollution, evolution and daytime per surface — daytime included because
    it explains your solar dips
  • Rockets — launches, items sent to space, and progress per silo
  • Space Age — platform hub cargo, asteroid chunks, state, weight, speed,
    distance
  • Exporter health — if collection ever stops, you get an alert instead of
    a quietly stale dashboard

Setting it up

Install the mod, and it starts writing metrics to
script-output/graftorio3/game.prom inside your Factorio data folder.

Most people already run node_exporter on their server. If that's you, just
point its textfile collector at the folder:

--collector.textfile.directory=/path/to/factorio/script-output/graftorio3

That's it — no extra container, no extra port, no agent to keep running. The
metrics show up alongside your CPU and memory graphs.

Not sure it's working? Type /graftorio3 in the server console or in-game. It
tells you when it last collected data, where it's writing, which surfaces it's
watching, and whether anything went wrong.

Full setup guide, ready-made Grafana alerts and Prometheus rules:
https://github.com/Furoon/graftorio3

Which Factorio version?

Both. There are releases for Factorio 2.1 and for the 2.0 stable channel, and
the mod portal gives your game the right one. Space Age is entirely optional —
without it, the platform and quality metrics just stay empty.

Running a big base or Space Age?

Some sensible defaults are already in place, and you can tune the rest in the mod
settings:

  • Collection is spread across ticks, so there's no periodic stutter
  • Space platforms are not collected by default — every platform is its own
    surface and they add up fast. Turn them on if you want them.
  • You can restrict collection to specific surfaces
  • Train IDs are left out of the metrics by default, because they multiply your
    data enormously on a big rail network. Turn them on if you want per-train
    detail.
  • Machine status scanning has a configurable limit so it can't run away on a
    megabase

Running more than one server?

Give each one an instance name and its own output file name in the settings, and
they can all report into the same Prometheus without stepping on each other.

Writing a mod?

graftorio3 can publish your mod's metrics too — register through its remote
interface and your numbers land in the same file with the same handling as
everything else. No second exporter needed. Details in the readme.

Credits

This is a fork, standing on a lot of prior work: graftorio by afex,
graftorio2 by remijouannet, and jahands' fork which added circuit network and
Space Age metrics. graftorio3 continues from there — updated for Factorio 2.1,
with fixes for dedicated servers, surface filtering and a good deal of tuning for
large bases.

MIT licensed. Bug reports and ideas welcome on GitHub.