Skip to content

zageyiff/mysql-snmp

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Zageyiffzageyiff
Zageyiff
and
Aug 6, 2013
30ea94d · Aug 6, 2013

History

76 Commits
Feb 4, 2012
Aug 15, 2011
Aug 15, 2011
Aug 6, 2013
Apr 13, 2009
Nov 22, 2012
Aug 13, 2011
Nov 30, 2012
Oct 23, 2009
Aug 6, 2013
Nov 30, 2012

Repository files navigation

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>
  <collect>
    <includeGroup>mib2-host-resources-system</includeGroup>
    <includeGroup>mib2-host-resources-memory</includeGroup>
    <includeGroup>net-snmp-disk</includeGroup>
    <includeGroup>ucd-loadavg</includeGroup>
    <includeGroup>ucd-memory</includeGroup>
    <includeGroup>ucd-sysstat</includeGroup>
    <includeGroup>mysql</includeGroup>
  </collect>
</systemDef>

And now, add the graph definitions from the opennms/mysql.snmp-graph.properties file 
to your snmp-graph.properties.

Packages

No packages published

Languages

  • Perl 100.0%