2009-04-23 7 views
3

On m'a demandé de voir si nous pouvions surveiller la «santé» du serveur mysql d'une manière ou d'une autre. La proposition était qu'il pourrait y avoir un support snmp (c'est pour la version 5.0.x). Je n'ai pas pu trouver d'informations définitives à ce sujet - Un lien vers une référence serait génial.surveiller MySQL par programme? SNMP?

Le véritable problème est d'obtenir des informations périodiques sur la «santé» ou l'état de mysql. Nous pourrions écrire notre propre processus sur ces sites et en parler activement, puis le publier sur notre interface graphique (l'interface graphique ne parle pas à mysql maintenant).

Existe-t-il un mécanisme simple qui peut être utilisé, ou d'autres bonnes pratiques lorsque le contenu de mysql ne vous intéresse pas, mais que vous voulez simplement savoir quel est son statut? (Haut, bas, disponible, d'autres, etc.)

L'application IUG est java, le reste de nos affaires est un mélange de java et C++

Je ne suis pas à la recherche d'une solution tierce partie - je veux juste savoir si mysql "publie" des données snmp pour que d'autres puissent les consommer.

Répondre

1

Cela pourrait aider: MySQL Activity Report

n'a pas vu que vous le vouliez portée à votre application GUI. Cependant, si votre application peut afficher des images, vous pouvez simplement charger les images que MySQL AR sort ...

+0

l'interface graphique n'a pas besoin de faire autre chose que montrer une sorte de lumière verte/jaune/rouge. – Tim

+0

Je ne pense pas que cela va marcher pour nous - en fonction de la GPL et de la façon dont elle est implémentée. Mais merci pour le lien. – Tim

1

Je pense qu'il existe un agent SNMP disponible dans MySQL Enterprise Monitor, mais c'est bien sûr pour la version commerciale. Il existe également plusieurs autres agents snmp commerciaux disponibles.

Il existe une API C pour MYSQL qui peut être utilisée pour de nombreuses tâches de surveillance qui pourraient vous intéresser: mysql_ping, mysql_sqlstate, etc. Puisque vous avez mentionné que vous utilisiez C++, cela pourrait être une option.

Jetez un coup d'œil à MySQL C API pour une documentation complète.

Cela dit, il y a aussi des informations d'état disponibles que vous pouvez chercher des instructions SQL: 'SHOW PROCESSLIST', 'SHOW SLAVE STATUS, etc.

Documentation sur ce que vous pouvez trouver à SHOW Syntax