Freifunk-Gateway aufsetzen/Statistik/mrtg: Unterschied zwischen den Versionen
Aus Freifunk Franken
RedDog (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „snmpd und mrtg installieren. /etc/snmp/snmpd.conf: Zugriff ändern: <pre> agentAddress udp:localhost:161,udp6:[::1]:161 rocommunity public 127.0.0.1 </pre>…“) |
Keine Bearbeitungszusammenfassung |
||
(25 dazwischenliegende Versionen von 7 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
snmpd und mrtg installieren. | snmpd und mrtg installieren. | ||
/etc/snmp/snmpd.conf: | /etc/snmp/snmpd.conf: systemonly auskommentiert | ||
<pre> | <pre> | ||
rocommunity public default #-V systemonly | |||
rocommunity6 public default #-V systemonly | |||
</pre> | |||
snmpd restarten. | |||
Damit das syslog nicht vollgemüllt wird, noch folgende Befehle ausführen: | |||
<pre> | |||
sed -i "s|-Lsd|-LS4d|" /lib/systemd/system/snmpd.service | |||
systemctl daemon-reload | |||
systemctl restart snmpd | |||
</pre> | </pre> | ||
Ordner anlegen: | |||
<pre> | |||
mkdir /etc/mrtg | |||
mkdir /var/www/mrtg | |||
</pre> | |||
Die mrtg CPU Config neu anlegen: | Die mrtg CPU Config neu anlegen: | ||
<code> | |||
vi /etc/mrtg/cpu.cfg | |||
</code> | |||
und folgendes einfügen: | |||
<pre> | <pre> | ||
LoadMIBs: /usr/share/snmp/mibs/UCD-SNMP-MIB.txt | |||
WorkDir: /var/www/mrtg | WorkDir: /var/www/mrtg | ||
Target[localhost.cpu]:ssCpuRawUser.0&ssCpuRawUser.0:public@127.0.0.1 + ssCpuRawSystem.0&ssCpuRawSystem.0:public@127.0.0.1 + ssCpuRawNice.0&ssCpuRawNice.0:public@127.0.0.1 + ssCpuRawSoftIRQ.0&ssCpuRawSoftIRQ.0:public@127.0.0.1 + ssCpuRawInterrupt.0&ssCpuRawInterrupt.0:public@127.0.0.1 + ssCpuRawKernel.0&ssCpuRawKernel.0:public@127.0.0.1 | |||
Target[localhost.cpu]:ssCpuRawUser.0&ssCpuRawUser.0:public@127.0.0.1 + ssCpuRawSystem.0&ssCpuRawSystem.0:public@127.0.0.1 + ssCpuRawNice.0&ssCpuRawNice.0:public@127.0.0.1 | |||
RouterUptime[localhost.cpu]: public@127.0.0.1 | RouterUptime[localhost.cpu]: public@127.0.0.1 | ||
MaxBytes[localhost.cpu]: 100 | MaxBytes[localhost.cpu]: 100 | ||
Title[localhost.cpu]: CPU Load | Title[localhost.cpu]: CPU Load | ||
PageTop[localhost.cpu]: < | PageTop[localhost.cpu]: <h1>Active CPU Load %</h1> | ||
Unscaled[localhost.cpu]: ymwd | Unscaled[localhost.cpu]: ymwd | ||
ShortLegend[localhost.cpu]: % | ShortLegend[localhost.cpu]: % | ||
Zeile 31: | Zeile 47: | ||
</pre> | </pre> | ||
Die mrtg | Die mrtg dhcp config neu anlegen: | ||
<code> | |||
vi /etc/mrtg/dhcp.cfg | |||
</code> | |||
und folgendes einfügen: | |||
<pre> | <pre> | ||
WorkDir: /var/www/mrtg | |||
Title[dhcpleasecount]: DHCP-Leases | |||
PageTop[dhcpleasecount]: <H1>DHCP-Leases</H1> | |||
Options[dhcpleasecount]: gauge,nopercent,growright,noinfo | |||
Target[dhcpleasecount]: `/etc/mrtg/dhcp.sh` | |||
MaxBytes[dhcpleasecount]: 255 | |||
YLegend[dhcpleasecount]: Lease Count | |||
ShortLegend[dhcpleasecount]: x | |||
Unscaled[dhcpleasecount]: ymwd | |||
LegendI[dhcpleasecount]: Count | |||
LegendO[dhcpleasecount]: | |||
</pre> | </pre> | ||
<b>Tipp:</b> Damit die DHCP Anzeige dynamisch skaliert, <code>Unscaled[dhcpleasecount]: ymwd</code> auskommentieren. | |||
Hier muss der MaxBytes Parameter auf die maximale Zahl der DHCP Leases eingestellt werden. | |||
Anschließend noch das Script anlegen: </br> | |||
<pre> | <pre> | ||
vi /etc/mrtg/dhcp.sh | |||
</pre> | </pre> | ||
<pre> | |||
#!/bin/bash | |||
# -> zutreffendes auskommentieren | |||
# isc-dhcp-server | |||
#leasecount=$(/usr/sbin/dhcp-lease-list --parsable --lease /var/lib/dhcp/dhcpd.leases 2>&1 |wc -l) | |||
# dnsmasq | |||
#leasecount=$(cat /var/lib/misc/bat0.leases | wc -l) | |||
echo "$leasecount" | |||
echo "$leasecount" | |||
echo 0 | |||
echo 0 | |||
</pre> | |||
<pre> | <pre> | ||
chmod +x /etc/mrtg/dhcp.sh | |||
</pre> | </pre> | ||
Die mrtg traffic Config neu anlegen: | |||
<pre> | <pre> | ||
/usr/bin/cfgmaker --output=/etc/mrtg/traffic.cfg --snmp-options=:::::2 -zero-speed=100000000 --global "WorkDir: /var/www/mrtg" --ifdesc=name,ip,desc,type --ifref=name,desc --global "Options[_]: bits,growright" public@localhost | |||
sed -i -e 's/^\(MaxBytes.*\)$/\10/g' /etc/mrtg/traffic.cfg | |||
</pre> | |||
Den mrtg Index neu machen: | |||
<pre> | |||
/usr/bin/indexmaker --output=/var/www/mrtg/index.html --title="$(hostname)" --sort=name --enumerat /etc/mrtg/traffic.cfg /etc/mrtg/cpu.cfg /etc/mrtg/dhcp.cfg | |||
$ | |||
</pre> | </pre> | ||
Den eigenen Index neu machen: | |||
<pre> | <pre> | ||
cat /var/www/mrtg/index.html | sed -e 's/SRC="/SRC="mrtg\//g' -e 's/HREF="/HREF="mrtg\//g' > /var/www/index.html | |||
</pre> | </pre> | ||
Crontab: | Crontab: | ||
<pre> | <pre> | ||
*/ | */1 * * * * env LANG=C /usr/bin/mrtg /etc/mrtg/cpu.cfg > /dev/null 2>&1 | ||
*/1 * * * * /usr/bin/mrtg /etc/mrtg/ | */1 * * * * env LANG=C /usr/bin/mrtg /etc/mrtg/traffic.cfg > /dev/null 2>&1 | ||
*/1 * * * * /usr/bin/mrtg /etc/mrtg/ | */1 * * * * env LANG=C /usr/bin/mrtg /etc/mrtg/dhcp.cfg > /dev/null 2>&1 | ||
</pre> | </pre> |
Aktuelle Version vom 24. März 2022, 12:25 Uhr
snmpd und mrtg installieren.
/etc/snmp/snmpd.conf: systemonly auskommentiert
rocommunity public default #-V systemonly rocommunity6 public default #-V systemonly
snmpd restarten.
Damit das syslog nicht vollgemüllt wird, noch folgende Befehle ausführen:
sed -i "s|-Lsd|-LS4d|" /lib/systemd/system/snmpd.service systemctl daemon-reload systemctl restart snmpd
Ordner anlegen:
mkdir /etc/mrtg mkdir /var/www/mrtg
Die mrtg CPU Config neu anlegen:
vi /etc/mrtg/cpu.cfg
und folgendes einfügen:
LoadMIBs: /usr/share/snmp/mibs/UCD-SNMP-MIB.txt WorkDir: /var/www/mrtg Target[localhost.cpu]:ssCpuRawUser.0&ssCpuRawUser.0:public@127.0.0.1 + ssCpuRawSystem.0&ssCpuRawSystem.0:public@127.0.0.1 + ssCpuRawNice.0&ssCpuRawNice.0:public@127.0.0.1 + ssCpuRawSoftIRQ.0&ssCpuRawSoftIRQ.0:public@127.0.0.1 + ssCpuRawInterrupt.0&ssCpuRawInterrupt.0:public@127.0.0.1 + ssCpuRawKernel.0&ssCpuRawKernel.0:public@127.0.0.1 RouterUptime[localhost.cpu]: public@127.0.0.1 MaxBytes[localhost.cpu]: 100 Title[localhost.cpu]: CPU Load PageTop[localhost.cpu]: <h1>Active CPU Load %</h1> Unscaled[localhost.cpu]: ymwd ShortLegend[localhost.cpu]: % YLegend[localhost.cpu]: CPU Utilization Legend1[localhost.cpu]: Active CPU in % (Load) Legend2[localhost.cpu]: Legend3[localhost.cpu]: Legend4[localhost.cpu]: LegendI[localhost.cpu]: Active LegendO[localhost.cpu]: Options[localhost.cpu]: growright,nopercent
Die mrtg dhcp config neu anlegen:
vi /etc/mrtg/dhcp.cfg
und folgendes einfügen:
WorkDir: /var/www/mrtg Title[dhcpleasecount]: DHCP-Leases PageTop[dhcpleasecount]: <H1>DHCP-Leases</H1> Options[dhcpleasecount]: gauge,nopercent,growright,noinfo Target[dhcpleasecount]: `/etc/mrtg/dhcp.sh` MaxBytes[dhcpleasecount]: 255 YLegend[dhcpleasecount]: Lease Count ShortLegend[dhcpleasecount]: x Unscaled[dhcpleasecount]: ymwd LegendI[dhcpleasecount]: Count LegendO[dhcpleasecount]:
Tipp: Damit die DHCP Anzeige dynamisch skaliert, Unscaled[dhcpleasecount]: ymwd
auskommentieren.
Hier muss der MaxBytes Parameter auf die maximale Zahl der DHCP Leases eingestellt werden.
Anschließend noch das Script anlegen:
vi /etc/mrtg/dhcp.sh
#!/bin/bash # -> zutreffendes auskommentieren # isc-dhcp-server #leasecount=$(/usr/sbin/dhcp-lease-list --parsable --lease /var/lib/dhcp/dhcpd.leases 2>&1 |wc -l) # dnsmasq #leasecount=$(cat /var/lib/misc/bat0.leases | wc -l) echo "$leasecount" echo "$leasecount" echo 0 echo 0
chmod +x /etc/mrtg/dhcp.sh
Die mrtg traffic Config neu anlegen:
/usr/bin/cfgmaker --output=/etc/mrtg/traffic.cfg --snmp-options=:::::2 -zero-speed=100000000 --global "WorkDir: /var/www/mrtg" --ifdesc=name,ip,desc,type --ifref=name,desc --global "Options[_]: bits,growright" public@localhost sed -i -e 's/^\(MaxBytes.*\)$/\10/g' /etc/mrtg/traffic.cfg
Den mrtg Index neu machen:
/usr/bin/indexmaker --output=/var/www/mrtg/index.html --title="$(hostname)" --sort=name --enumerat /etc/mrtg/traffic.cfg /etc/mrtg/cpu.cfg /etc/mrtg/dhcp.cfg
Den eigenen Index neu machen:
cat /var/www/mrtg/index.html | sed -e 's/SRC="/SRC="mrtg\//g' -e 's/HREF="/HREF="mrtg\//g' > /var/www/index.html
Crontab:
*/1 * * * * env LANG=C /usr/bin/mrtg /etc/mrtg/cpu.cfg > /dev/null 2>&1 */1 * * * * env LANG=C /usr/bin/mrtg /etc/mrtg/traffic.cfg > /dev/null 2>&1 */1 * * * * env LANG=C /usr/bin/mrtg /etc/mrtg/dhcp.cfg > /dev/null 2>&1