Sinds een paar weken ben ik weer verder gegaan met grafieken te maken van mijn Synology in cacti.
Ik wilde graag buiten de standaard netwerk traffic en load ook CPU temperatuur en disk temperatuur in een grafiek zetten.
Dit is de eerste stap voor het maken van een beschrijving en ik begin met de CPU en Disk temperaturen
Deze post kan vrij lang worden, dus hoop dat het past.
Belangrijk:
Synology moet bootstrapped zijn en bash geinstalleerd(ik werk met bash en niet sh het zou ook met alleen sh kunnen werken).
Dit heb ik werkend op een DS412+ met een intel CPU, het zou goed kunnen dat bv de CPU core temperatuur niet met sensors is uit te lezen.
Als iemand mij kan vertellen hoe je CPU temps op ARM bases devices uitlezen kan ik ook hier een script voor maken.
Disk temperaturen zouden gewoon moeten werken.
Mijn cacti server staat op een andere host(vm), dus cacti draait niet op me synology.
Dit moet wel kunnen maar heb ik niet getest.
Een beetje kennis van zaken is wel handig, zoals commandline en cacti kennis.
Voorbeeld van mijn grafieken is hier te vinden:
http://public.kuipersweb.nl/cactiexport/Bij deze een beschrijving van wat ik heb gedaan.
-Installeer sensors op de CPU temperaturen uit te lezen en controlleer of het werkt
# ipkg install lm-sensors
# sensors
coretemp-isa-0000
Adapter: ISA adapter
Core 0: +46.0 C (crit = +100.0 C)
Core 1: +44.0 C (crit = +100.0 C)
-Gebruik het volgende script om de temperaturen en CPU index in files te zetten voor snmp
Zet het script op een door jouw gewenste locatie, ik raad aan ergens op je /volumeX
Zorg er ook voor dat het script execute rechten heeft ( chmod +x /path/to/scrip.sh )
#!/opt/bin/bash
CPUCOREFILE=/tmp/cpucores
CPUTEMPFILE=/tmp/cputemps
if [ -f $CPUTEMPFILE ]; then
rm $CPUTEMPFILE
fi
/opt/bin/sensors | grep Core | cut -d : -f 1 > $CPUCOREFILE
/opt/bin/sensors | grep Core | awk '{print $3}' | sed s/+//g | cut -f 1 -d '.' > $CPUTEMPFILE
Draai het script een keer om te kijken of er geen errors optreden.
-Gebruik het volgende script voor de disk temperaturen.
#!/opt/bin/bash
DISKFILE=/tmp/disks
TEMPFILE=/tmp/disktemps
if [ -f $TEMPFILE ]; then
rm $TEMPFILE
fi
fdisk -l | grep Disk | grep sd | awk '{print $2}' | sed s/://g > $DISKFILE
if [ -f $DISKFILE ]; then
for disk in `cat /tmp/disks`; do
smartctl -a $disk -d ata | grep Temperature_Celsius | awk '{print $10}' >> $TEMPFILE
done
fi
Test ook of deze correct draait.
Zet de scripts in /etc/crontab let op dat je het path goed zet , zet het helemaal onderaan
#Home made entries
*/5 * * * * root /volume1/data/scripts/synology/disktemps.sh
*/5 * * * * root /volume1/data/scripts/synology/cputemps.sh
Herstart cron anders worden de nieuwe regels niet actief.
/usr/syno/etc.defaults/rc.d/S04crond.sh stop
/usr/syno/etc.defaults/rc.d/S04crond.sh start
Zet snmpd aan in de webinterface van je Synology.
Control panel > SNMP > enable
Vink ook aan snmpv1 en v2 service en vol een community string in (wachtwoord).
Edit nu de snmp config via de commandline ( /usr/syno/etc/snmpd.conf )
rocommunity syno localhost
rocommunity mypass
rocommunity6 mypass
extend disks /bin/cat /tmp/disks
extend disktemps /bin/cat /tmp/disktemps
extend cpucores /bin/cat /tmp/cpucores
extend cputemps /bin/cat /tmp/cputemps
Herstart nu snmpd
/usr/syno/etc/rc.d/S08snmpd.sh restart
Stoping snmpd
Starting Snmpd
Je kan nu controleren vanaf je cacti server of je met snmp de gegevens kan ophalen
snmpwalk -v 2c -c damon01 kitty .1.3.6.1.4.1.8072.1.3.2.4.1.2
iso.3.6.1.4.1.8072.1.3.2.4.1.2.5.100.105.115.107.115.1 = STRING: "/dev/sda"
iso.3.6.1.4.1.8072.1.3.2.4.1.2.5.100.105.115.107.115.2 = STRING: "/dev/sdb"
iso.3.6.1.4.1.8072.1.3.2.4.1.2.5.100.105.115.107.115.3 = STRING: "/dev/sdc"
iso.3.6.1.4.1.8072.1.3.2.4.1.2.5.100.105.115.107.115.4 = STRING: "/dev/sdd"
iso.3.6.1.4.1.8072.1.3.2.4.1.2.8.99.112.117.99.111.114.101.115.1 = STRING: "Core 0"
iso.3.6.1.4.1.8072.1.3.2.4.1.2.8.99.112.117.99.111.114.101.115.2 = STRING: "Core 1"
iso.3.6.1.4.1.8072.1.3.2.4.1.2.8.99.112.117.116.101.109.112.115.1 = STRING: "46"
iso.3.6.1.4.1.8072.1.3.2.4.1.2.8.99.112.117.116.101.109.112.115.2 = STRING: "43"
iso.3.6.1.4.1.8072.1.3.2.4.1.2.9.100.105.115.107.116.101.109.112.115.1 = STRING: "31"
iso.3.6.1.4.1.8072.1.3.2.4.1.2.9.100.105.115.107.116.101.109.112.115.2 = STRING: "28"
iso.3.6.1.4.1.8072.1.3.2.4.1.2.9.100.105.115.107.116.101.109.112.115.3 = STRING: "29"
iso.3.6.1.4.1.8072.1.3.2.4.1.2.9.100.105.115.107.116.101.109.112.115.4 = STRING: "31"
3 bestanden zijn verder nodig.
-Host template voor cacti , deze moet je laden in cacti.
-2 XML resource files voor in /cactiroot/resource/snmp_queries/
Aangezien de XML files niet als bijlage mogen worden toegevoegd zijn die hier te downloaden :
https://docs.kuipersweb.nl/confluence/p ... eId=655389Import de templates in cacti , voeg nieuwe host toe aan cacti en gebruik de synology host template voor deze server.
Je kan nu de grafieken aanmaken.
EDIT:Typos