mysql-snmp
mysql-snmp copied to clipboard
Net-SNMP perl agent for monitoring MySQL servers
MySQL Server SNMP Agent. Copyright (c) 2008,2009 Brice Figureau [email protected]
PREAMBLE
mysql-snmp is a MySQL Net-SNMP agent written in Perl, and using the Net-Snmp Perl bindings.
It connects to a mysql server and returns information to Net-SNMP when needed. It parses SHOW INNODB STATUS and other MySQL status variables.
This work is based on Baron Schwartz Mysql Cacti Templates, available at: http://code.google.com/p/mysql-cacti-templates/
This work is based on the blog post about a SNMP agent: http://mysqldump.azundris.com/archives/63-Sysadmins-Nightly-Mental-Pain-SNMP.html
This software is released under the GPL v2.
REQUIREMENTS
This package requires Net-SNMP version 5.4.3 or better. Previous versions have bugs preventing returning 64 bits MIBs objects correctly from a perl agentX.
INSTALL
Debian
Please build the package: $ dpkg-buildpackage -rfakeroot -uc- b
and install it Then, modify /etc/default/mysql-snmp
Other
Modify the Makefile, and: $ sudo make install
Then create an init.d startup script. You can look to the debian one in debian/init.d
Install the MIB file in your mibs directory.
CONFIGURE
Configure net-snmp
Add: master agentx to /etc/snmp/snmpd.conf, and restart snmpd Make sure the mysql-snmp agent is able to open the agentX socket (permissions and location of said socket can be managed with the snmpd.conf agentXPerms directive).
Configure mysql-snmp
Under debian, the daemon can be configured with /etc/default/mysql-snmp. On all platform, the configuration is done with command line arguments:
-h|--host HOST connect to mysql HOST -P|--port PORT port to connect to (default 3306) -u|--user DBUSER use DBUSER as user to connect to mysql -p|--password DBPASS use DBPASS as password to connect to mysql -c|--config FILE read MySQL configuration from FILE
-m|--master check master -s|--slave check slave -b|--heartbeat DB.TABLE table for Percona Toolkit pt-heartbeat --oid OID registering OID -l|--process-list|--procs enable the MySQL process list -i|--refresh refresh interval in seconds
You can specify the mysql connection parameters in a config file using my.cnf format, like this: For example:
[client] host=dbserver port=3306 user=monitor password=secret
OPENNMS
You'll find in the opennms directory the various configuration snippets that can be used to let opennms graph the value reported by this agent.
datacollection-config.xml
Add the content of opennms/mysql.datacollection-config.xml to your datacollection-config.xml file.
Then add this group to your hosts:
<systemDef name="Net-Snmp">
<sysoidMask>.1.3.6.1.4.1.8072.3.</sysoidMask>
And now, add the graph definitions from the opennms/mysql.snmp-graph.properties file to your snmp-graph.properties.