snmpd pyta o mysqld :)

lipiec 26th, 2007

Ostatnio 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 :)

2 Responses to “snmpd pyta o mysqld :)”

  1. 1 breusz
    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 :)

  2. 2 daniel
    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

Leave a Reply