MySQLのステータスをsnmpで取って、cactiでグラフ化

まずsnmpd.confにextendで独自の値をとるように設定 (エージェントでたたいてもらうスクリプトを設定しておく)

extend mysqlstatus /usr/local/libexec/mysql_status.sh

mysql_status.shはこんな感じで

#!/bin/bash

echo "show status" | mysql -u root -h localhost | grep Max_used_connections | awk '{print $2}'


snmpwalkでcactiに設定するOIDを調べる

sudo snmpwalk -On -c public -v 1 localhost NET-SNMP-EXTEND-MIB::nsExtendOutLine

.1.3.6.1.4.1.8072.1.3.2.4.1.2.11.109.121.115.113.108.115.116.97.116.117.115.1 = STRING: 1

この数字がOID階層になっています。でこのSTRING:の後の1をcactiで拾ってもらいます。

はまったところ

はじめは

でこれで取れた値を設定してたんですがグラフに反映されなくて、よくよく調べたらOIDは階層になっていてこれだけだと
NET-SNMP-EXTEND-MIB::nsExtendOutLineのトップクラスを指してるだけでした。
これ以下の階層は配列みたいになっているようです。
NET-SNMP-EXTEND-MIB::nsExtendOutLineの1個目の値みたいな考え方。