squid-exporter

Squid Prometheus Exporter

View the Project on GitHub boynux/squid-exporter

Gitpod ready-to-code

Github Actions Github Docker Go Report Card Maintainability Donate

Note: I’ve been very busy on the past couple of months with my personal life and work. Thanks for filing issues and feature requests. I’ll start to go through them and provide updates very soon.

Squid Prometheus exporter

Exports squid metrics in Prometheus format

NOTE: From release 1.0 metric names and some parameters has changed. Make sure you check the docs and update your deployments accordingly!

New

Usage:

Simple usage:

squid-exporter -squid-hostname "localhost" -squid-port 3128

Configure Prometheus to scrape metrics from localhost:9301/metrics

- job_name: squid
  # squid-exporter is installed, grab stats about the local
  # squid instance.
  target_groups:
    - targets: ['localhost:9301']

To get all the parameteres, command line arguments always override default and environment variables configs:

squid-exporter -help

The following environment variables can be used to override default parameters:

SQUID_EXPORTER_LISTEN
SQUID_EXPORTER_WEB_CONFIG_PATH
SQUID_EXPORTER_METRICS_PATH
SQUID_HOSTNAME
SQUID_PORT
SQUID_LOGIN
SQUID_PASSWORD
SQUID_EXTRACTSERVICETIMES

Usage with docker:

Basic setup assuming Squid is running on the same machine:

docker run --net=host -d boynux/squid-exporter

Setup with Squid running on a different host

docker run -p 9301:9301 -d boynux/squid-exporter -squid-hostname "192.168.0.2" -squid-port 3128 -listen ":9301"

With environment variables

docker run -p 9301:9301 -d -e SQUID_PORT="3128" -e SQUID_HOSTNAME="192.168.0.2" -e SQUID_EXPORTER_LISTEN=":9301" boynux/squid-exporter

Build:

This project is written in Go, so all the usual methods for building (or cross compiling) a Go application would work.

If you are not very familiar with Go you can download the binary from releases.

Or build it for your OS:

go install https://github.com/boynux/squid-exporter

then you can find the binary in: $GOPATH/bin/squid-exporter

Features:

FAQ:

  1. [recommended] Set CAP_DAC_READ_SEARCH capability for squid exporter process (or docker). (eg. sudo setcap 'cap_dac_read_search+ep' ./bin/squid-exporter)
  2. [not recommended] Run the exporter as root.

Contribution:

Pull request and issues are very welcome.

If you found this program useful please consider donations Donate

MIT License