snmpd pyta o mysqld :)
lipiec 26th, 2007Ostatnio dość intensywnie zgłębiam MRTG i udało mi się zmodyfikować snmpd tak aby pytał o stan daemona MySQL, a uzyskane w ten sposób informacje obrazuję za pomoca mrtg
Na serwerze, gdzie uruchomiony jest serwer baz danych MySQL zainstalowałem snmpd oraz stworzyłem mały skrypt stats
#!/bin/bash
#
data="/usr/bin/mysqladmin -u mysql -pJakiesHaslo extended-status";
#
questions=`echo "$data"|grep 'Questions'|awk -F " " '{print $4}'`;
uptime=`echo "$data"|grep 'Uptime'|awk -F " " '{print $4}'`;
cache=`echo "$data"|grep 'Qcache_hits'|awk -F " " '{print $4}'`;
#
echo "$questions";
echo "$cache";
Wynik testu
-bash-3.2# ./stats
1518
0
Teraz czas na modyfikacje daemona snmpd, konieczne są zmiany w pliku /etc/snmp/snmpd.conf, należy dodać linie
exec .1.3.6.1.4.1.2021.50 mysqltest /bin/sh /var/lib/mysql/diagnose/stats
oraz wykonać restart deamona snmp.
Aby mieć pewność, że wszystko działa
-bash-3.2# snmpwalk -c public -v 1 192.168.22.9 .1.3.6.1.4.1.2021.50
UCD-SNMP-MIB::ucdavis.50.1.1 = INTEGER: 1
UCD-SNMP-MIB::ucdavis.50.2.1 = STRING: "mysqltest"
UCD-SNMP-MIB::ucdavis.50.3.1 = STRING: "/bin/sh /var/lib/mysql/diagnose/stats"
UCD-SNMP-MIB::ucdavis.50.100.1 = INTEGER: 0
UCD-SNMP-MIB::ucdavis.50.101.1 = STRING: "1518"
UCD-SNMP-MIB::ucdavis.50.101.2 = STRING: "0"
UCD-SNMP-MIB::ucdavis.50.102.1 = INTEGER: 0
UCD-SNMP-MIB::ucdavis.50.103.1 = ""
Jak widać wartości zaszyte w .1.3.6.1.4.1.2021.50.101.1 oraz .1.3.6.1.4.1.2021.50.101.2.
Jedyne co pozostaje to dodać do mrtg.cfg sekcję monitorującą mysql na zdalnym serwerze.
Target[snmp-mx1-mysql]: .1.3.6.1.4.1.2021.50.101.1&.1.3.6.1.4.1.2021.50.101.2:public@192.168.22.9
Options[snmp-mx1-mysql]: growright, nopercent, nobanner
Title[snmp-mx1-mysql]: MySQL querys
PageTop[snmp-mx1-mysql]: <H1>MySQL querys</H1>
PageFoot[snmp-mx1-mysql]: www.eqax.pl
YLegend[snmp-mx1-mysql]: Querys
ShortLegend[snmp-mx1-mysql]: q/s
Legend1[snmp-mx1-mysql]: Querys executed
Legend2[snmp-mx1-mysql]: Cache hits
LegendI[snmp-mx1-mysql]: Questions:
LegendO[snmp-mx1-mysql]: Cache hits:
MaxBytes[snmp-mx1-mysql]: 10000
To wszystko
październik 11th, 2007 at 8:25 pm
szukałem szukałem i nie wiem jak mi umknęło extended-status. sprawdza się świetnie dla mrtg. dzięki
styczeń 15th, 2008 at 11:10 am
UPDATE
nowe wersje SNMPd wymagaja zmiany linii zaczynajacej sie od
“exec … ”
na wiersz
extend .1.3.6.1.4.1.2021.50 mysqltest /bin/sh /var/lib/mysql/diagnose/stats