Monitoring My EPSON XP-8600 Series Printer using Prometheus and Grafana
Playing around with my Pi-hole Raspberry Pi, I thought I could expand its mission and started looking into Grafana and Prometheus. One thing leading to another, I though why not monitor my printer. Running out of ink is very common. It’s always when you need that print, that you can’t do it.
In this post, I’ll show you how I did it, and consider this a proof-of-concept. We’ll assume here that you already have a running instance of Grafana and Prometheus. If not, you can find plenty of good articles online on how to do it.
My setup at the time of writing:
- Raspberry Pi 4 (4GB) running Bullseye version
- Grafana v9.2.6
- Prometheus v2.37.3 and snmp_exporter v0.21.0
- EPSON XP-8600 Series printer
The EPSON Printer
First, let’s ensure we got the SNMP capability enabled. Connect to the web administration interface (it’s easier than the LCD screen on the printer itself) using its IP address, e.g. https://10.0.0.10 — Note that if you had not previously set an Administrator password you will be prompted to do so, for obvious security reasons.
Verify SNMP v1/v2c is enabled with the Read-Only public community (SNMPv3 is also available, for which you can configure stronger Authentication and Encryption settings, but for the purpose of this test, we’ll stick with v2c).
Prometheus SNMP Exporter
$ wget https://github.com/prometheus/snmp_exporter/releases/download/v0.21.0/snmp_exporter-0.21.0.linux-armv7.tar.gz
$ tar -xzvf snmp_exporter-0.21.0.linux-armv7.tar.gz
$ mv snmp_exporter-0.21.0.linux-armv7 snmp_exporter
$ rm snmp_exporter-0.21.0.linux-armv7.tar.gz
This exporter is the recommended way to expose SNMP data in a format which Prometheus can ingest. The default configuration file name is
snmp.ymland should not be edited by hand. If you need to change it, see…