Na domácím testovacim serveru jsem si zprovoznil web proxy
Squid verze 3. Chtěl jsem Squid nějak monitorovat. Existují v zásadě dva způsoby, jak na to.
squid-3.2.3_2 HTTP Caching Proxy
Na
wiki zabbix je popsán postup, jak monitorovat pomoci definovaných hodnot v zabbix agentu na serveru, kde Squid běží. Program
squidclient, který je součástí Squida dokáže kontaktovat managera Squid, který předá potřebné informace o stavu cache.
Druhá možnost je Squid monitorovat pomocí
SNMP. Squid v sobě integruje tuto funkcionalitu, která se musí nadefinovat v konfiguračním souboru. Ve
FreeBSD jsem si Squid kompiloval z portů a SNMP je jedna z voleb, ktera musí být zakompilována.
[root@fbsd /var/db/ports/squid32]# make config && make install clean
# snmp config
acl snmp_host src 127.0.0.1
acl snmp_lmnet src 192.168.42.13/32
snmp_port 3401
acl snmppublic snmp_community public
snmp_access allow snmppublic
snmp_access allow snmp_host
snmp_access allow snmp_lmnet
snmp_access deny all
Vlastnosti použítí SNMP ve Squidu jsou podrobně popsány na
Wiki projektu. Jsou zde pordobně popsány jednotlivé OID a podpora v jednotlivých verzích web proxy. Ve
foru zabbix je ke stažení template zabbix_squid_smnp.xml. Import do Zabbix 2.0.x zobrazuje drobnou chybku, ale položky se vytvoří korektně. Mnou opětovně vyexportovaný template mám
zde.
ukázka některých hodnot:
cd /usr/local/etc/squid
snmpwalk -m mib.txt -v2c -Cc -c public fbsd:3401 .1.3.6.1.4.1.3495.1.1
SQUID-MIB::cacheSysVMsize.0 = INTEGER: 71328
SQUID-MIB::cacheSysStorage.0 = INTEGER: 85036
SQUID-MIB::cacheUptime.0 = Timeticks: (16534677) 1 day, 21:55:46.77
snmpwalk -m mib.txt -v2c -Cc -c public fbsd:3401 .1.3.6.1.4.1.3495.1.2
SQUID-MIB::cacheAdmin.0 = STRING: webmaster
SQUID-MIB::cacheSoftware.0 = STRING: squid
SQUID-MIB::cacheVersionId.0 = STRING: "3.2.3"
SQUID-MIB::cacheLoggingFacility.0 = STRING: ALL,1
SQUID-MIB::cacheMemMaxSize.0 = INTEGER: 256
SQUID-MIB::cacheSwapMaxSize.0 = INTEGER: 100
SQUID-MIB::cacheSwapHighWM.0 = INTEGER: 95
SQUID-MIB::cacheSwapLowWM.0 = INTEGER: 90
SQUID-MIB::cacheUniqName.0 = STRING: fbsd
Do template asi jestě přidám nějaký graf, Počet příchozích a odchozích dat, počet aktuálně přihlášených klientů atd. Nasbíraných hodnot je celá řada.