sbrudenell / sb8200_exporter

A prometheus exporter for the Arris SB8200
MIT License
4 stars 9 forks source link

Slow modem responses / Broken pipe #2

Closed jakajancar closed 5 years ago

jakajancar commented 5 years ago

Hey,

I'm not sure if this is normal or if it's just my unit, but requests to 192.168.100.1 take ~30 seconds for me.

They work relatively reliably (if slowly), but using sb8200_exporter, I keep getting:

Aug 01 13:56:57 homebot sb8200_exporter[6617]: ----------------------------------------
Aug 01 13:56:57 homebot sb8200_exporter[6617]: Exception happened during processing of request from ('127.0.0.1', 48586)
Aug 01 13:56:57 homebot sb8200_exporter[6617]: Traceback (most recent call last):
Aug 01 13:56:57 homebot sb8200_exporter[6617]:   File "/usr/lib/python3.7/socketserver.py", line 316, in _handle_request_noblock
Aug 01 13:56:57 homebot sb8200_exporter[6617]:     self.process_request(request, client_address)
Aug 01 13:56:57 homebot sb8200_exporter[6617]:   File "/usr/lib/python3.7/socketserver.py", line 347, in process_request
Aug 01 13:56:57 homebot sb8200_exporter[6617]:     self.finish_request(request, client_address)
Aug 01 13:56:57 homebot sb8200_exporter[6617]:   File "/usr/lib/python3.7/socketserver.py", line 360, in finish_request
Aug 01 13:56:57 homebot sb8200_exporter[6617]:     self.RequestHandlerClass(request, client_address, self)
Aug 01 13:56:57 homebot sb8200_exporter[6617]:   File "/usr/lib/python3.7/socketserver.py", line 720, in __init__
Aug 01 13:56:57 homebot sb8200_exporter[6617]:     self.handle()
Aug 01 13:56:57 homebot sb8200_exporter[6617]:   File "/usr/lib/python3.7/http/server.py", line 426, in handle
Aug 01 13:56:57 homebot sb8200_exporter[6617]:     self.handle_one_request()
Aug 01 13:56:57 homebot sb8200_exporter[6617]:   File "/usr/lib/python3.7/http/server.py", line 414, in handle_one_request
Aug 01 13:56:57 homebot sb8200_exporter[6617]:     method()
Aug 01 13:56:57 homebot sb8200_exporter[6617]:   File "/usr/local/lib/python3.7/dist-packages/prometheus_client/exposition.py", line 159, in do_GET
Aug 01 13:56:57 homebot sb8200_exporter[6617]:     self.wfile.write(output)
Aug 01 13:56:57 homebot sb8200_exporter[6617]:   File "/usr/lib/python3.7/socketserver.py", line 799, in write
Aug 01 13:56:57 homebot sb8200_exporter[6617]:     self._sock.sendall(b)
Aug 01 13:56:57 homebot sb8200_exporter[6617]: BrokenPipeError: [Errno 32] Broken pipe
sbrudenell commented 5 years ago

I think that's pretty normal. My modem also regularly takes 30+ seconds to respond.

That broken pipe stack trace looks like it's happening while writing the output though. If you increase the timeout for the target in prometheus, does it still do this?

jakajancar commented 5 years ago

My bad, somehow assumed timeout is also tied to scrape_interval. Increasing scrape_timeout does it.

Reassuring to know my modem isn't the only slow one. Thanks for the exporter!