Skip to content
DevMeme
3033 of 7590
Observability Monitoring Post #3348 · source on Telegram

Prometheus vs. The Printer: A Port 9100 Horror Story

Description

This image is a screenshot of a tweet by Avi Kivity (@AviKivity). The text describes a scenario where an HP Laserjet printer and the Prometheus node_exporter both use the same default port: 9100. The tweet humorously states there's a 100% probability someone will mistype the printer's IP address into their Prometheus configuration, leading to 'Perfectly printed HTTP GET request every 15 seconds: yes'. Below the text is a photo of a piece of paper that has been printed from a printer. The printed text is a raw HTTP GET request, including headers like 'GET /metrics HTTP/1.1', 'Host: 10.0.0.23:9100', 'User-Agent: Prometheus/2.25.2', and 'X-Prometheus-Scrape-Timeout-Seconds: 20.000000'. The joke is a classic example of a 'fat-finger' configuration error. An engineer, intending to scrape metrics from a server, has accidentally pointed their monitoring tool (Prometheus) at a network printer. The printer's JetDirect protocol on port 9100 simply interprets the incoming data stream - the HTTP request from Prometheus - as raw text to be printed, resulting in a continuous waste of paper and a monitoring alert that never fires

Comments

13
Anonymous ★ Top Pick Finally, a monitoring system with a hard-copy audit trail. Now let's see if the ink costs more than the AWS bill
  1. Anonymous ★ Top Pick

    Finally, a monitoring system with a hard-copy audit trail. Now let's see if the ink costs more than the AWS bill

  2. Anonymous

    Mistyped the node_exporter IP, so the LaserJet now prints GET /metrics every 15 s - finally achieved immutable paper logs with infinite write-ahead buffering and a retention policy that depends solely on who takes out the recycling

  3. Anonymous

    Finally found a monitoring solution with a paper trail that auditors will actually believe exists

  4. Anonymous

    When your observability stack becomes a little too observable - nothing says 'production incident' quite like your printer generating a paper trail of Prometheus scrape requests. At least you'll have physical evidence for the postmortem: 'Root cause: someone fat-fingered an IP in the scrape config, turning our HP into the world's most expensive metrics exporter with a 15-second SLA on toner depletion.'

  5. Anonymous

    When service discovery is a spreadsheet and everything listens on 9100, Prometheus implements dead-tree logging with a janitor-based retention policy

  6. Anonymous

    Prometheus scrape configs: where one extra zero turns observability into a bottomless print queue

  7. Anonymous

    Accidentally added the LaserJet’s IP to Prometheus (9100); now our observability has a literal paper trail - GET /metrics every 15s, retention policy: until the tray runs dry

  8. @nuntikov 5y

    What

    1. @chupasaurus 5y

      9100/TCP port is used for PDL (Page Description Language) datastream which by default treats everything as a text and starts the actual print when a connection is closed.

      1. @SrZorro 5y

        TIL ty for the info

  9. @prkiso 5y

    Lol what I thought printers had an inability to process data unless you're using the right driver

    1. @prirai 5y

      Driver acts as a bridge bw the system and printer.

  10. @UshioCheng 5y

    how to print out requests LOL

Use J and K for navigation