squid - using mrtg to monitor Squid


Squid 2.3 knows SNMP and you can therfore use mrtg to monitore is quite easily.

I have made some modifications to mrtg which simplify this. My work is based on earlier modification made by: and


So I have add new code for displaying correct units to the previous patches ``perminute'' and ``perhour'' (``option'' tokens), which allow to mesure not only per second.

Then I have created a new option token ``dorelpercent'', which allows to caclulate the percentage of IN-stream / OUT-stream on the fly and display it on a fixed scale from 0% to 100%. For my requirements, this does good work. Maybe someone wants a floating scale, it should not be a problem to implement it too. But then give me an option to keep my fixed scale. If IN-stream is always less than OUT-stream both lines (OUT-stream and relative percent) are always displayed on top of IN-stream bulk. Otherwise this option makes no sense. With this option you can display hitrates, errorrates (for router monitoring: rel. droprates) easily now.

If you use this options please consider, that you need a 5th colourname/value pair in your Colours statements!

Due to some discussion on this list, I have implemented two tokens too:

``kilo'' and ``kMG''

``kilo'' should contain the value of k (1000 or 1024), where 1000 is the default.

``kMG'' is a comma separated list of multiplier prefixes, used instead of ``'', ``k'', ``M'', ``G'', ``T'' on the MRTG display. Leave the place free, if you want no prefix.

Also a not complete list of OIDs for the new SQUID release is added.

I hope you enjoy it.


You can measure responsetimes in ms and display it with MRTG correctly with:

 kMG[measure-ms]: m,,k,M,G,T
 short[measure-ms]: s

You can display now MB/s as 1024*1024 B/s with:

 kilo[volume]: 1024

A sample config for squid:

 Target[proxy-hit]: cacheHttpHits&cacheProtoClientHttpRequests:public@proxy
 Title[proxy-hit]: HTTP Hits
 PageTop[proxy-hit]: <H2>proxy Cache Statistics: HTTP Hits / Requests</H2>
 Suppress[proxy-hit]: y
 LegendI[proxy-hit]:  HTTP hits
 LegendO[proxy-hit]:  HTTP requests
 Legend1[proxy-hit]:  HTTP hits
 Legend2[proxy-hit]:  HTTP requests
 YLegend[proxy-hit]: perminute
 ShortLegend[proxy-hit]: req/min
 Options[proxy-hit]: nopercent, perminute, dorelpercent
 Target[proxy-srvkbinout]: cacheServerInKb&cacheServerOutKb:public@proxy
 Title[proxy-srvkbinout]: Cache Server Traffic In / Out
 PageTop[proxy-srvkbinout]: <H2>Cache Statistics: Server traffic volume (In/Out) </H2>
 Suppress[proxy-srvkbinout]: y
 LegendI[proxy-srvkbinout]:  Traffic In
 LegendO[proxy-srvkbinout]:  Traffic Out
 Legend1[proxy-srvkbinout]:  Traffic In
 Legend2[proxy-srvkbinout]:  Traffic Out
 YLegend[proxy-srvkbinout]: per minute
 ShortLegend[proxy-srvkbinout]: b/min
 kMG[proxy-srvkbinout]: k,M,G,T
 kilo[proxy-srvkbinout]: 1024
 Options[proxy-srvkbinout]: nopercent, perminute


Andreas Papst <> Dirk-Lüder Kreie <>