Squid proxy

Squid proxy

Squid is a caching and forwarding HTTP web proxy. It has a wide variety of uses, including speeding up a web server by caching repeated requests, caching web, DNS and other computer network lookups for a group of people sharing network resources, and aiding security by filtering traffic.

Available solutions




Source: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/app/squid_snmp


Squid SNMP

Overview

For Zabbix version: 5.2 and higher

This template was tested on:

  • Squid, version 3.5.12

Setup

Setup Squid

Enable SNMP support following official documentation. Required parameters in squid.conf:

snmp_port <port_number>
acl <zbx_acl_name> snmp_community <community_name>
snmp_access allow <zbx_acl_name> <zabbix_server_ip>

Setup Zabbix

1. Import the template template_app_squid_snmp.xml into Zabbix.

2. Set values for {$SQUID.SNMP.COMMUNITY}, {$SQUID.SNMP.PORT} and {$SQUID.HTTP.PORT} as configured in squid.conf.

3. Link the imported template to a host with Squid.

4. Add SNMPv2 interface to Squid host. Set Port as {$SQUID.SNMP.PORT} and SNMP community as {$SQUID.SNMP.COMMUNITY}.

Zabbix configuration

No specific Zabbix configuration is required.

Macros used

Name Description Default
{$SQUID.FILE.DESC.WARN.MIN}

The threshold for minimum number of avaliable file descriptors

100
{$SQUID.HTTP.PORT}

http_port configured in squid.conf (Default: 3128)

3128
{$SQUID.PAGE.FAULT.WARN}

The threshold for sys page faults rate in percent of recieved HTTP requests

90
{$SQUID.SNMP.COMMUNITY}

SNMP community allowed by ACL in squid.conf

public
{$SQUID.SNMP.PORT}

snmp_port configured in squid.conf (Default: 3401)

3401

Template links

There are no template links in this template.

Discovery rules

Items collected

Group Name Description Type Key and additional info
Squid Squid: Service ping

-

SIMPLE net.tcp.service[tcp,,{$SQUID.HTTP.PORT}]

Preprocessing:

- DISCARD_UNCHANGED_HEARTBEAT: 10m

Squid Squid: Uptime

The Uptime of the cache in timeticks (in hundredths of a second) with preprocessing

SNMP squid[cacheUptime]

Preprocessing:

- MULTIPLIER: 0.01

Squid Squid: Version

Cache Software Version

SNMP squid[cacheVersionId]

Preprocessing:

- DISCARD_UNCHANGED_HEARTBEAT: 6h

Squid Squid: CPU usage

The percentage use of the CPU

SNMP squid[cacheCpuUsage]
Squid Squid: Memory maximum resident size

Maximum Resident Size

SNMP squid[cacheMaxResSize]

Preprocessing:

- MULTIPLIER: 1024

Squid Squid: Memory maximum cache size

The value of the cache_mem parameter

SNMP squid[cacheMemMaxSize]

Preprocessing:

- MULTIPLIER: 1048576

Squid Squid: Memory cache usage

Total accounted memory

SNMP squid[cacheMemUsage]

Preprocessing:

- MULTIPLIER: 1024

Squid Squid: Cache swap low water mark

Cache Swap Low Water Mark

SNMP squid[cacheSwapLowWM]
Squid Squid: Cache swap high water mark

Cache Swap High Water Mark

SNMP squid[cacheSwapHighWM]
Squid Squid: Cache swap directory size

The total of the cache_dir space allocated

SNMP squid[cacheSwapMaxSize]

Preprocessing:

- MULTIPLIER: 1048576

Squid Squid: Cache swap current size

Storage Swap Size

SNMP squid[cacheCurrentSwapSize]

Preprocessing:

- MULTIPLIER: 1048576

Squid Squid: File descriptor count - current used

Number of file descriptors in use

SNMP squid[cacheCurrentFileDescrCnt]
Squid Squid: File descriptor count - current maximum

Highest number of file descriptors in use

SNMP squid[cacheCurrentFileDescrMax]
Squid Squid: File descriptor count - current reserved

Reserved number of file descriptors

SNMP squid[cacheCurrentResFileDescrCnt]
Squid Squid: File descriptor count - current available

Available number of file descriptors

SNMP squid[cacheCurrentUnusedFDescrCnt]
Squid Squid: Byte hit ratio per 1 minute

Byte Hit Ratios

SNMP squid[cacheRequestByteRatio.1]
Squid Squid: Byte hit ratio per 5 minutes

Byte Hit Ratios

SNMP squid[cacheRequestByteRatio.5]
Squid Squid: Byte hit ratio per 1 hour

Byte Hit Ratios

SNMP squid[cacheRequestByteRatio.60]
Squid Squid: Request hit ratio per 1 minute

Byte Hit Ratios

SNMP squid[cacheRequestHitRatio.1]
Squid Squid: Request hit ratio per 5 minutes

Byte Hit Ratios

SNMP squid[cacheRequestHitRatio.5]
Squid Squid: Request hit ratio per 1 hour

Byte Hit Ratios

SNMP squid[cacheRequestHitRatio.60]
Squid Squid: Sys page faults per second

Page faults with physical I/O

SNMP squid[cacheSysPageFaults]

Preprocessing:

- CHANGE_PER_SECOND

Squid Squid: HTTP requests received per second

Number of HTTP requests received

SNMP squid[cacheProtoClientHttpRequests]

Preprocessing:

- CHANGE_PER_SECOND

Squid Squid: HTTP traffic received per second

Number of HTTP traffic received from clients

SNMP squid[cacheHttpInKb]

Preprocessing:

- MULTIPLIER: 1024

- CHANGE_PER_SECOND

Squid Squid: HTTP traffic sent per second

Number of HTTP traffic sent to clients

SNMP squid[cacheHttpOutKb]

Preprocessing:

- MULTIPLIER: 1024

- CHANGE_PER_SECOND

Squid Squid: HTTP Hits sent from cache per second

Number of HTTP Hits sent to clients from cache

SNMP squid[cacheHttpHits]

Preprocessing:

- CHANGE_PER_SECOND

Squid Squid: HTTP Errors sent per second

Number of HTTP Errors sent to clients

SNMP squid[cacheHttpErrors]

Preprocessing:

- CHANGE_PER_SECOND

Squid Squid: ICP messages sent per second

Number of ICP messages sent

SNMP squid[cacheIcpPktsSent]

Preprocessing:

- CHANGE_PER_SECOND

Squid Squid: ICP messages received per second

Number of ICP messages received

SNMP squid[cacheIcpPktsRecv]

Preprocessing:

- CHANGE_PER_SECOND

Squid Squid: ICP traffic transmitted per second

Number of ICP traffic transmitted

SNMP squid[cacheIcpKbSent]

Preprocessing:

- MULTIPLIER: 1024

- CHANGE_PER_SECOND

Squid Squid: ICP traffic received per second

Number of ICP traffic received

SNMP squid[cacheIcpKbRecv]

Preprocessing:

- MULTIPLIER: 1024

- CHANGE_PER_SECOND

Squid Squid: DNS server requests per second

Number of external dns server requests

SNMP squid[cacheDnsRequests]

Preprocessing:

- CHANGE_PER_SECOND

Squid Squid: DNS server replies per second

Number of external dns server replies

SNMP squid[cacheDnsReplies]

Preprocessing:

- CHANGE_PER_SECOND

Squid Squid: FQDN cache requests per second

Number of FQDN Cache requests

SNMP squid[cacheFqdnRequests]

Preprocessing:

- CHANGE_PER_SECOND

Squid Squid: FQDN cache hits per second

Number of FQDN Cache hits

SNMP squid[cacheFqdnHits]

Preprocessing:

- CHANGE_PER_SECOND

Squid Squid: FQDN cache misses per second

Number of FQDN Cache misses

SNMP squid[cacheFqdnMisses]

Preprocessing:

- CHANGE_PER_SECOND

Squid Squid: IP cache requests per second

Number of IP Cache requests

SNMP squid[cacheIpRequests]

Preprocessing:

- CHANGE_PER_SECOND

Squid Squid: IP cache hits per second

Number of IP Cache hits

SNMP squid[cacheIpHits]

Preprocessing:

- CHANGE_PER_SECOND

Squid Squid: IP cache misses per second

Number of IP Cache misses

SNMP squid[cacheIpMisses]

Preprocessing:

- CHANGE_PER_SECOND

Squid Squid: Objects count

Number of objects stored by the cache

SNMP squid[cacheNumObjCount]
Squid Squid: Objects LRU expiration age

Storage LRU Expiration Age

SNMP squid[cacheCurrentLRUExpiration]

Preprocessing:

- MULTIPLIER: 0.01

Squid Squid: Objects unlinkd requests

Requests given to unlinkd

SNMP squid[cacheCurrentUnlinkRequests]
Squid Squid: HTTP all service time per 5 minutes

HTTP all service time per 5 minutes

SNMP squid[cacheHttpAllSvcTime.5]

Preprocessing:

- MULTIPLIER: 0.001

Squid Squid: HTTP all service time per hour

HTTP all service time per hour

SNMP squid[cacheHttpAllSvcTime.60]

Preprocessing:

- MULTIPLIER: 0.001

Squid Squid: HTTP miss service time per 5 minutes

HTTP miss service time per 5 minutes

SNMP squid[cacheHttpMissSvcTime.5]

Preprocessing:

- MULTIPLIER: 0.001

Squid Squid: HTTP miss service time per hour

HTTP miss service time per hour

SNMP squid[cacheHttpMissSvcTime.60]

Preprocessing:

- MULTIPLIER: 0.001

Squid Squid: HTTP miss service time per 5 minutes

HTTP hit service time per 5 minutes

SNMP squid[cacheHttpHitSvcTime.5]

Preprocessing:

- MULTIPLIER: 0.001

Squid Squid: HTTP hit service time per hour

HTTP hit service time per hour

SNMP squid[cacheHttpHitSvcTime.60]

Preprocessing:

- MULTIPLIER: 0.001

Squid Squid: ICP query service time per 5 minutes

ICP query service time per 5 minutes

SNMP squid[cacheIcpQuerySvcTime.5]

Preprocessing:

- MULTIPLIER: 0.001

Squid Squid: ICP query service time per hour

ICP query service time per hour

SNMP squid[cacheIcpQuerySvcTime.60]

Preprocessing:

- MULTIPLIER: 0.001

Squid Squid: ICP reply service time per 5 minutes

ICP reply service time per 5 minutes

SNMP squid[cacheIcpReplySvcTime.5]

Preprocessing:

- MULTIPLIER: 0.001

Squid Squid: ICP reply service time per hour

ICP reply service time per hour

SNMP squid[cacheIcpReplySvcTime.60]

Preprocessing:

- MULTIPLIER: 0.001

Squid Squid: DNS service time per 5 minutes

DNS service time per 5 minutes

SNMP squid[cacheDnsSvcTime.5]

Preprocessing:

- MULTIPLIER: 0.001

Squid Squid: DNS service time per hour

DNS service time per hour

SNMP squid[cacheDnsSvcTime.60]

Preprocessing:

- MULTIPLIER: 0.001

Triggers

Name Description Expression Severity Dependencies and additional info
Squid: Port {$SQUID.HTTP.PORT} is down

-

{TEMPLATE_NAME:net.tcp.service[tcp,,{$SQUID.HTTP.PORT}].last()}=0 AVERAGE

Manual close: YES

Squid: Squid has been restarted (uptime < 10m)

Uptime is less than 10 minutes

{TEMPLATE_NAME:squid[cacheUptime].last()}<10m INFO

Manual close: YES

Squid: Squid version has been changed

Squid version has changed. Ack to close.

{TEMPLATE_NAME:squid[cacheVersionId].diff()}=1 and {TEMPLATE_NAME:squid[cacheVersionId].strlen()}>0 INFO

Manual close: YES

Squid: Swap usage is more than low watermark (>{ITEM.VALUE2}%)

-

{TEMPLATE_NAME:squid[cacheCurrentSwapSize].last()}>{Squid SNMP:squid[cacheSwapLowWM].last()}*{Squid SNMP:squid[cacheSwapMaxSize].last()}/100 WARNING
Squid: Swap usage is more than high watermark (>{ITEM.VALUE2}%)

-

{TEMPLATE_NAME:squid[cacheCurrentSwapSize].last()}>{Squid SNMP:squid[cacheSwapHighWM].last()}*{Squid SNMP:squid[cacheSwapMaxSize].last()}/100 HIGH
Squid: Squid is running out of file descriptors (<{$SQUID.FILE.DESC.WARN.MIN})

-

{TEMPLATE_NAME:squid[cacheCurrentUnusedFDescrCnt].last()}<{$SQUID.FILE.DESC.WARN.MIN} WARNING
Squid: High sys page faults rate (>{$SQUID.PAGE.FAULT.WARN}% of recieved HTTP requests)

-

{TEMPLATE_NAME:squid[cacheSysPageFaults].avg(5m)}>{Squid SNMP:squid[cacheProtoClientHttpRequests].avg(5m)}/100*{$SQUID.PAGE.FAULT.WARN} WARNING

Feedback

Please report any issues with the template at https://support.zabbix.com

You can also provide a feedback, discuss the template or ask for help with it at ZABBIX forums.

Articles and documentation

+ Propose new article
Add your solution