Warning: Memcache::addserver() expects parameter 2 to be long, string given in /usr/home/rpc/domains/rpc.one.pl/public_html/libraries/joomla/cache/storage/memcache.php on line 84 Monitoring squid przy użyciu snmp i mrtg
 
 
Monitoring squid przy użyciu snmp i mrtg Drukuj Email
Wpisany przez rpc   
piątek, 05 lutego 2010 09:14

Monitoring squid przy użyciu snmp i mrtg

 

Instalacja

apt-get update
apt-get install squid squid-common snmpd snmp mrtg

 

Konfiguracja squid

Sprawdzamy czy pakiet squid skompilowany jest ze wsparciem snmp:

squid -v

szukamy wpisu '--enable-snmp' jeśli jest to znaczy, że jest wkompilowany

Do pliku /etc/squid/squid.conf dopisujemy poniższe linie:

snmp_port 3401
acl snmppublic snmp_community public
snmp_access allow snmppublic localhost
snmp_access deny all

 

Do dalszej konfiguracji potrzebujemy pliku mib squid dla snmp. W debian lenny plik mib dla squid nazywa się SQUID.txt (plik może nazywać się również np. mib.txt)

# find / -name SQUID.txt
/usr/share/snmp/mibs/SQUID.txt


Uruchamiamy usługę squid

/etc/init.d/squid start

W logu /var/log/squid/cache.log powinno się pojawić:

Accepting SNMP messages on port 3401, FD 14.

 

Konfiguracja snmpd

Do pliku /etc/snmp/snmpd.con na końcu dopisujemy:

### Squid: ####
view systemview included .1.3.6.1.4.1.3495.1
proxy -m /usr/share/snmp/mibs/SQUID.txt -v 1 -c public localhost:3401 .1.3.6.1.4.1.3495.1
### /Squid ####



oraz modyfikujemy poniższe wiersze:

#       sec.name  source          community
#com2sec paranoid  default         public
com2sec readonly  default         public
#com2sec readwrite default         private

 

Sprawdzamy czy squid podaje informacje:

# snmpwalk -m /usr/share/snmp/mibs/SQUID.txt -v 1 -c public localhost:3401 .1.3.6.1.4.1.3495.1.1
SQUID-MIB::cacheSysVMsize.0 = INTEGER: 11100
SQUID-MIB::cacheSysStorage.0 = INTEGER: 733936
SQUID-MIB::cacheUptime.0 = Timeticks: (543989) 1:30:39.89

ten sam efekt uzyskamy bez odwoływania się do pliku mib;

# snmpwalk -v 1 -c public localhost .1.3.6.1.4.1.3495.1.1
SNMPv2-SMI::enterprises.3495.1.1.1.0 = INTEGER: 11112
SNMPv2-SMI::enterprises.3495.1.1.2.0 = INTEGER: 733948
SNMPv2-SMI::enterprises.3495.1.1.3.0 = Timeticks: (546740) 1:31:07.40

jeśli chcemy wszystkie OID to wykonujemy:

# snmpwalk -v 1 -c public localhost .1.3.6.1.4.1.3495

Aktualna lista OID squida lub squid_snmp_manual.pdf

 

Konfiguracja mrtg

Plik mrtg.cfg powinien np. zawierać:

WorkDir: /var/www/html/mrtg
Language: Polish

LoadMIBS: /usr/share/snmp/mibs/SQUID.txt


Options[snmp-proxy-hit]: nopercent, perminute, dorelpercent, growright, nobanner
Target[snmp-proxy-hit]: cacheHttpHits&cacheProtoClientHttpRequests:
public@localhost:3401
MaxBytes[snmp-proxy-hit]: 1250000
Title[snmp-proxy-hit]: HTTP Hits
PageTop[snmp-proxy-hit]:<h1>proxy Cache Statistics: HTTP Hits / Requests</h1>
PageFoot[snmp-proxy-hit]: localhost
LegendI[snmp-proxy-hit]: HTTP hits
LegendO[snmp-proxy-hit]: HTTP requests
Legend1[snmp-proxy-hit]: HTTP hits
Legend2[snmp-proxy-hit]: HTTP requests
YLegend[snmp-proxy-hit]: per minute
ShortLegend[snmp-proxy-hit]: req/min
Suppress[snmp-proxy-hit]: y
#
Options[snmp-proxy-error]: growright, nopercent, growright, nobanner
Target[snmp-proxy-error]: cacheServerErrors&cacheHttpErrors:
public@localhost:3401
MaxBytes[snmp-proxy-error]: 10000000
Title[snmp-proxy-error]: Server and HTTP Errors
PageTop[snmp-proxy-error]: <h1>proxy Errors</h1>
PageFoot[snmp-proxy-error]: localhost
YLegend[snmp-proxy-error]: errors/sec
ShortLegend[snmp-proxy-error]: err/s
LegendI[snmp-proxy-error]: Server Errors
LegendO[snmp-proxy-error]: HTTP Errors
Legend1[snmp-proxy-error]: Server Errors
Legend2[snmp-proxy-error]: HTTP Errors
Suppress[snmp-proxy-error]: y
#
Options[snmp-proxy-FileDescr]: gauge, growright, nopercent, nobanner
Target[snmp-proxy-FileDescr]: cacheCurrentUnusedFDescrCnt&cacheCurrentResFileDescrCnt:
public@localhost:3401
MaxBytes[snmp-proxy-FileDescr]: 1000000000
Title[snmp-proxy-FileDescr]: File Descriptors
PageTop[snmp-proxy-FileDescr]: <h1>Number of file descriptors</h1>
PageFoot[snmp-proxy-FileDescr]: localhost
YLegend[snmp-proxy-FileDescr]: # of FDs
ShortLegend[snmp-proxy-FileDescr]: FDs
LegendI[snmp-proxy-FileDescr]: Available File Descriptors
LegendO[snmp-proxy-FileDescr]: Reserved File Descriptors
Legend1[snmp-proxy-FileDescr]: Available File Descriptors
Legend2[snmp-proxy-FileDescr]: Reserved File Descriptors
Suppress[snmp-proxy-FileDescr]: y
#
Options[snmp-proxy-AllSvcTime]: gauge, growright, nopercent, nobanner
Target[snmp-proxy-AllSvcTime]: cacheHttpAllSvcTime.5&cacheHttpAllSvcTime.60:
public@localhost:3401
MaxBytes[snmp-proxy-AllSvcTime]: 1000000000
Title[snmp-proxy-AllSvcTime]: HTTP All Service Time
PageTop[snmp-proxy-AllSvcTime]:<h1>HTTP all service time</h1>
PageFoot[snmp-proxy-AllSvcTime]: localhost
YLegend[snmp-proxy-AllSvcTime]: time (ms)
ShortLegend[snmp-proxy-AllSvcTime]: ms
LegendI[snmp-proxy-AllSvcTime]: Medium Service Time (5min)
LegendO[snmp-proxy-AllSvcTime]: Medium Service Time (60min)
Legend1[snmp-proxy-AllSvcTime]: Medium Service Time
Legend2[snmp-proxy-AllSvcTime]: Medium Service Time
Suppress[snmp-proxy-AllSvcTime]: y
#
Options[snmp-proxy-SysNumReads]:growright, nopercent, nobanner
Target[snmp-proxy-SysNumReads]: cacheSysNumReads&cacheSysNumReads:
public@localhost:3401
MaxBytes[snmp-proxy-SysNumReads]: 10000000
Title[snmp-proxy-SysNumReads]: HTTP I/O number of reads
PageTop[snmp-proxy-SysNumReads]: <h1>HTTP I/O number of reads</h1>
PageFoot[snmp-proxy-SysNumReads]: localhost
YLegend[snmp-proxy-SysNumReads]: reads/sec
ShortLegend[snmp-proxy-SysNumReads]: reads/s
LegendI[snmp-proxy-SysNumReads]: I/O
LegendO[snmp-proxy-SysNumReads]:
Legend1[snmp-proxy-SysNumReads]: I/O
Legend2[snmp-proxy-SysNumReads]:
Suppress[snmp-proxy-SysNumReads]: y
#
Options[snmp-proxy-Storage]: gauge, growright, nopercent, nobanner
Target[snmp-proxy-Storage]: cacheSysVMsize&cacheSysStorage:public@localhost:3401
MaxBytes[snmp-proxy-Storage]: 1000000000
Title[snmp-proxy-Storage]: Storage Memory / Swap Size
PageTop[snmp-proxy-Storage]: <h1>Storage Memory / Swap Size</h1>
PageFoot[snmp-proxy-Storage]: localhost
YLegend[snmp-proxy-Storage]: size
ShortLegend[snmp-proxy-Storage]: Bytes
LegendI[snmp-proxy-Storage]: Memory Size
LegendO[snmp-proxy-Storage]: Swap Size
Legend1[snmp-proxy-Storage]: Memory Size
Legend2[snmp-proxy-Storage]: Swap Size
Suppress[snmp-proxy-Storage]: y

 

mrtg możemy ręcznie wywołać:

env LANG=C /usr/bin/mrtg

index wygenerujemy sobie:

indexmaker /etc/mrtg.cfg > /var/www/html/mrtg/index.html

Jeśli chcemy aby index generował się automatycznie modyfikujemy plik /etc/cron.d/mrtg


*/5 *   * * *   root    if [ -x /usr/bin/mrtg ] && [ -r /etc/mrtg.cfg ]; then env LANG=C /usr/bin/mrtg /etc/mrtg.cfg 2>&1 | tee -a /var/log/mrtg/mrtg.log; /usr/bin/indexmaker /etc/mrtg.cfg > /var/www/html/mrtg/index.html; fi



Podziel się tą informacja z innymi:
Poprawiony: poniedziałek, 08 lutego 2010 08:15