Monitoring serveur avec MRTGComme la majorité des documents ici... très bref pour mémoire. Références:
Monitoring disque.Dans /etc/snmp/snmpd.conf rajouter:
disk / 10000
disk /home 5000000
disk /var 500000
disk /usr 500000
Monitoring apacheActiver le server-status étendu pour apache dans httpd.conf puis créer 3 fichiers perl dans le path:
#!/usr/bin/perl
# file /usr/bin/mrtg-collect-www-bandwidth
# Collects bandwidth usage from http://<server>/server-status
# in a format suitable for graphing in mrtg
# what server are we polling?
$server=@ARGV[0];
# gather data
@data = `/usr/bin/lynx -dump -connect_timeout=30 http://$server/server-status?auto 2> \/dev/null`;
if (@data[0] eq "") {
# Uh oh! Webserver might be down!
printf "0\n0\n0\nthe core webserver\n";
} else {
# Webserver is up
# calculate bytes
@bytes = split(/ /, @data[1]);
printf ("%5.0f\n", ((@bytes[2]+0.5) * 1024));
printf "0\n0\nthe core webserver\n";
}
#!/usr/bin/perl
# file /usr/bin/mrtg-collect-www-hits
# Collects total server hits from http://<server>/server-status
# in a format suitable for graphing in mrtg
# what server are we polling?
$server=@ARGV[0];
# gather data
@data = `/usr/bin/lynx -dump -connect_timeout=30 http://$server/server-status?auto 2> \/dev/null`;
if (@data[0] eq "") {
# Uh oh! Webserver might be down!
printf "0\n0\n0\nthe core webserver\n";
} else {
# Webserver is up
# lets calculate hits
@hits = split(/ /, @data[0]);
printf "@hits[2]";
printf "0\n0\nthe core webserver\n";
}
#!/usr/bin/perl
# file /usr/bin/mrtg-collect-www-users
# Collects number of users from http://<server>/server-status
# in a format suitable for graphing in mrtg
# what server are we polling?
$server=@ARGV[0];
# gather data
@data = `/usr/bin/lynx -dump -connect_timeout=30 http://$server/server-status?auto 2> \/dev/null`;
if (@data[0] eq "") {
# Uh oh! Webserver might be down!
printf "0\n0\n0\nthe core webserver\n";
} else {
# Webserver is up
#calculate concurrent users
@users = split(/ /, @data[7]);
printf "@users[1]";
printf "0\n0\nthe core webserver\n";
}
Fichier de configuration mrtg:
# file /etc/mrtg.cfg created by Zeitoun
### Global Config Options
WorkDir: /var/www/sdadmin/mrtg/
LoadMIBs: /usr/share/snmp/mibs/UCD-SNMP-MIB.txt,/usr/share/snmp/mibs/TCP-MIB.txt
### Global Defaults
# to get bits instead of bytes and graphs growing to the right
# Options[_]: growright, bits
### Interface 2 >> Descr: 'eth0' | Name: '' | Ip: '' | Eth: 'x:x:x:x' ###
# Bande Passante globale.
Target[localhost_bytes_2]: 2:someSnmpUsername@localhost:
SetEnv[localhost_bytes_2]: MRTG_INT_DESCR="eth0"
Options[localhost_bytes_2]: growright
MaxBytes[localhost_bytes_2]: 1250000
Title[localhost_bytes_2]: Trafic Internet Global
PageTop[localhost_bytes_2]: <H1>Trafic Internet en octets (1 octet = 8 bits)</H1>
# Gharge CPU
Target[cpuUsage]: ssCpuRawUser.0&ssCpuRawUser.0:someSnmpUsername@localhost + ssCpuRawSystem.0&ssCpuRawSystem.0:someSnmpUsername@localhost + ssCpuRawNice.0&ssCpuRawNice.0:someSnmpUsername@localhost
Title[cpuUsage]: Utilisation du cpu
PageTop[cpuUsage]: <h1>Charge CPU totale (user, system et Nice)</h1>
MaxBytes[cpuUsage]: 100
ShortLegend[cpuUsage]: %
YLegend[cpuUsage]: Utilisation du CPU
Legend1[cpuUsage]: Charge actuelle du CPU
LegendI[cpuUsage]: Utilise
LegendO[cpuUsage]:
Options[cpuUsage]: growright,nopercent
Unscaled[cpuUsage]: ymwd
#
# Memory Monitoring (Total Versus Available Memory)
#
Target[server.memory]: memAvailReal.0&memTotalReal.0:someSnmpUsername@localhost
Title[server.memory]: Free Memory
PageTop[server.memory]: <h1>Free Memory</h1>
MaxBytes[server.memory]: 100000000000
ShortLegend[server.memory]: B
YLegend[server.memory]: Bytes
LegendI[server.memory]: Free
LegendO[server.memory]: Total
Legend1[server.memory]: Free memory, not including swap, in bytes
Legend2[server.memory]: Total memory
Options[server.memory]: gauge,growright,nopercent
kMG[server.memory]: k,M,G,T,P,X
#
# Memory Monitoring (Percentage usage)
#
Title[server.mempercent]: Percentage Free Memory
PageTop[server.mempercent]: <h1>Percentage Free Memory</h1>
Target[server.mempercent]: ( memAvailReal.0&memAvailReal.0:someSnmpUsername@localhost ) * 100 / ( memTotalReal.0&memTotalReal.0:someSnmpUsername@localhost )
options[server.mempercent]: growright,gauge,transparent,nopercent
Unscaled[server.mempercent]: ymwd
MaxBytes[server.mempercent]: 100
YLegend[server.mempercent]: Memory %
ShortLegend[server.mempercent]: Percent
LegendI[server.mempercent]: Free
LegendO[server.mempercent]: Free
Legend1[server.mempercent]: Percentage Free Memory
Legend2[server.mempercent]: Percentage Free Memory
#
# New TCP Connection Monitoring (per minute)
#
Target[server.newconns]: tcpPassiveOpens.0&tcpActiveOpens.0:someSnmpUsername@localhost
Title[server.newconns]: Newly Created TCP Connections
PageTop[server.newconns]: <h1>New TCP Connections</h1>
MaxBytes[server.newconns]: 10000000000
ShortLegend[server.newconns]: c/s
YLegend[server.newconns]: Conns / Min
LegendI[server.newconns]: In
LegendO[server.newconns]: Out
Legend1[server.newconns]: New inbound connections
Legend2[server.newconns]: New outbound connections
Options[server.newconns]: growright,nopercent,perminute
#
# Established TCP Connections
#
Target[server.estabcons]: tcpCurrEstab.0&tcpCurrEstab.0:someSnmpUsername@localhost
Title[server.estabcons]: Currently Established TCP Connections
PageTop[server.estabcons]: <h1>Established TCP Connections</h1>
MaxBytes[server.estabcons]: 10000000000
ShortLegend[server.estabcons]:
YLegend[server.estabcons]: Connections
LegendI[server.estabcons]: In
LegendO[server.estabcons]:
Legend1[server.estabcons]: Established connections
Legend2[server.estabcons]:
Options[server.estabcons]: growright,nopercent,gauge
#
# Disk Usage Monitoring
#
Target[server.disk]: dskPercent.1&dskPercent.2:someSnmpUsername@localhost
Title[server.disk]: Utilisation disk
PageTop[server.disk]: <h1>Disk Partition Usage / and /home</h1>
MaxBytes[server.disk]: 100
ShortLegend[server.disk]: %
YLegend[server.disk]: Utilisation
LegendI[server.disk]: /
LegendO[server.disk]: /home
Options[server.disk]: gauge,growright,nopercent
Unscaled[server.disk]: ymwd
Target[server.disk1]: dskPercent.3&dskPercent.4:someSnmpUsername@localhost
Title[server.disk1]: Utilisation Disque
PageTop[server.disk1]: <h1>Disk Partition Usage /var and /usr</h1>
MaxBytes[server.disk1]: 100
ShortLegend[server.disk1]: %
YLegend[server.disk1]: Utilisation
LegendI[server.disk1]: /var
LegendO[server.disk1]: /usr
Options[server.disk1]: gauge,growright,nopercent
Unscaled[server.disk1]: ymwd
#
# Webserver monitoring
#
Title[apache-traffic]: apache server outgoing bandwidth
MaxBytes[apache-traffic]: 12500000
PageTop[apache-traffic]: <h1>Apache server outgoing bandwidth</h1>
Target[apache-traffic]: `/usr/bin/env - TEMPDIR="/tmp/" /usr/bin/mrtg-collect-www-bandwidth localhost`
LegendI[apache-traffic]: bandwidth :
LegendO[apache-traffic]:
Options[apache-traffic]: nopercent, integer, bits, growright
Title[apache-users]: apache server concurrent users
MaxBytes[apache-users]: 100000000
PageTop[apache-users]: <h1>Apache server concurrent users</h1>
Target[apache-users]: `/usr/bin/env - TEMPDIR="/tmp/" /usr/bin/mrtg-collect-www-users localhost`
YLegend[apache-users]: # users
ShortLegend[apache-users]: users
LegendI[apache-users]: Users :
LegendO[apache-users]:
Options[apache-users]: gauge, nopercent, integer, growright
Title[apache-hits]: apache server hits per second
MaxBytes[apache-hits]: 100000
PageTop[apache-hits]: <h1>Apache server hits per second</h1>
YLegend[apache-hits]: Hits per second
ShortLegend[apache-hits]: hits/s
Target[apache-hits]: `/usr/bin/env - TEMPDIR="/tmp/" /usr/bin/mrtg-collect-www-hits localhost`
LegendI[apache-hits]: Hits :
Options[apache-hits]: nopercent, integer, growright
|