configuration du moniteur mysql de 3 minutes

Une petite montée sur les cartes de configuration du mois mysql pendant trois jours, parce que sur la main un ne sont pas familiers avec, d'une part, j'étais hier à 18:00 la configuration est terminée, il n'y a pas de données pendant une longue période, ils ont fermé les désespérés, hier soir, je reste empêtré ou non de continuer à étudier, aujourd'hui ouvert, un tableau de données. Le moniteur d'origine mysql, prendre un peu de temps pour prendre effet.

Lorsque vous connaissez la bonne voie, je suis sur une autre configuration du serveur, en fait, à seulement 3 minutes

  1. modèle d'association Mysql

Étape: Configuration> Hôtes> Cliquez sur l'hôte> Modèles

Voir Fig.

Dump échoué
à retélécharger
Annuler
Cliquez pour aller voir le modèle de description du modèle

Conditions requises pour le fonctionnement du modèle:
1.Installer agent de Zabbix et le client MySQL.
2.Copie Template_DB_MySQL.conf dans le dossier de configuration de l' agent Zabbix (/etc/zabbix/zabbix_agentd.d/ par défaut). Ne pas oublier le redémarrage zabbix-agent.
Utilisateur 3.Créez MySQL pour la surveillance. Par exemple:
CREATE USER 'zbx_monitor' @ '%' identified by '<mot de passe>';
GRANT USAGE, CLIENT REPLICATION, PROCESSUS, SHOW DATABASES, SHOW VIEW ON . A 'zbx_monitor' @ '%';
Pour plus d' informations , consultez la documentation MYSQL https://dev.mysql.com/doc/refman/8.0/en/grant.html , s'il vous plaît.
4.Créez .my.cnf dans le répertoire personnel de l' agent Zabbix pour Linux (/ var / lib / zabbix par défaut) ou my.cnf dans c: \ Windows. Par exemple:

user = zbx_monitor
password = <mot de passe>
 
 
Vous pouvez discuter de ce modèle ou Laissez un commentaire sur notre forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/384189-discussion-thread-for-official-zabbix -template-db-mysql
 
version outillage de modèle utilisé: 0,35

  1. Définir la fin du modèle mysql
    Remarque: mai pas une petite augmentation de la machine et / var / lib / zabbix ne peut pas trouver le modèle Template_DB_MySQL.conf, donc je me retrouve avec une autre userparameter_mysql.conf

1) modèles de suivi mysql pour voir zabbix dans, trouver / -name userparameter_mysql.conf

[Root @ ~] # la Recherche / -name userparameter_mysql.conf
/backup/soft/zabbix-4.4.6/conf/zabbix_agentd/userparameter_mysql.conf
la première phrase de ce document

template_db_mysql.conf de ZABBIX pour le # Créé par « Modèle DB MySQL » et de Zabbix 4.2
2) Copié dans zabbix_agentd.conf.d / répertoire

-r /backup/soft/zabbix-4.4.6/conf/zabbix_agentd/userparameter_mysql.conf /usr/local/etc/zabbix_agentd.conf.d/ cp
3) motifs de test sont valides

zabbix_agentd -t mysql.ping -c /usr/local/etc/zabbix_agentd.conf.d/userparameter_mysql.conf

 
mysql.ping [T | mysqladmin: Connectez -vous à -P serveur AT a échoué
erreur: 'Unknown l'hôte MySQL Server' -P '(2)'
. 4) pour modifier le modèle

cat /usr/local/etc/zabbix_agentd.conf.d/userparameter_mysql.conf

UserParameter = mysql.ping [*], mysqladmin -h "$ 1" -P "$ 2" ping
dit -P ne savent pas ce paramètre $ 1 $ 2 devrait être passé de paramètres ailleurs.

Le processus de test suivant emmêlés écriture, écrire la forme finale du modèle

UserParameter = mysql.ping [ ], HOME = / etc / zabbix mysqladmin ping
 
UserParameter = mysql.get_status_variables [
], HOME = / etc / mysql zabbix -sNX -e "afficher l' état global"
UserParameter = mysql.version [ ], HOME = / etc / zabbix mysqladmin Version
UserParameter = mysql.uptime, HOME = / etc / zabbix mysqladmin status | cut -d -f2 ":" | cut -d -f1 "T" | tr -d ""
 
UserParameter = mysql.db.discovery [
], HOME = / etc / mysql zabbix -sN -e "show databases"
UserParameter = mysql.dbsize [ ], HOME = / etc / mysql zabbix -sN -e " SELECT SUM (DATA_LENGTH + INDEX_LENGTH) DE INFORMATION_SCHEMA.TABL
ES OÙ TABLE_SCHEMA = '$ 3' »
UserParameter = mysql.replication.discovery [
],
UserParameter = mysql.slave_status [*], HOME = / etc / mysql zabbix -sNX -e "statut esclave show"
J'ai copié ce modèle et, en fait, un seul plus HOME = / etc / zabbix (natif de croire libellé du modèle)

5) et faire partie de cette .my.cnf

[MySQL]
l'utilisateur = zbx_monitor
password = Javaer123456
[mysqladmin]
l'utilisateur = zbx_monitor
password = Javaer123456
chemin /etc/zabbix/.my.cnf et au- dessus HOME = / etc / zabbix est pas le même, à droite, cela signifie HOME « Big Brother Je suis venu ici ".

6) Recommencer zabbix_agentd

Après cette étape, attendez, attendez 5 minutes, 10 minutes, ne vous inquiétez pas.

7) les données de surveillance Look> Dernières données

8) Regardez l'icône du moniteur> Graphics en

Dump échoué
retélécharger
Annuler
Je pense que le processus est répété userparameter_mysql.conf Tangled parce que beaucoup de choses n'ont pas compris.
FIN

===== ====== magnifique ligne de démarcation
sont présentés ci - dessous, le nombre suivant d'enregistrements logiques contenant test peut continuer à lire le fond du fichier de configuration.

  1. Comment confirmer le fichier de configuration peut lire une clé

zabbix_agentd de la mysql.ping [*] -c /usr/local/etc/zabbix_agentd.conf.d/userparameter_mysql.conf

  1. Comment vérifier le bon fonctionnement de MySQL

mysqladmin -uzbx_monitor -p'Javaer123456' -hlocalhost ping

  1. Comment confirmer l'agent zabbix_server peut lire avec succès la clé

zabbix_get -slocalhost -p 10050 -k mysql.ping

  1. A paramètres de test obligatoires

zabbix_agentd de la mysql.ping [*] -c /usr/local/etc/zabbix_agentd.conf.d/userparameter_mysql.conf
forcé dans une mort écrite, je testerons mysql.ping un paramètre

UserParameter = mysql.ping [*], mysqladmin -uzbx_monitor -p'Javaer123456' -hlocalhost ping
zabbix_agentd -t mysql.ping -c /usr/local/etc/zabbix_agentd.conf.d/userparameter_mysql.conf
mysql.ping [t | mysqladmin: [Avertissement] l' utilisation d' un mot de passe sur l'interface de ligne de commande peut être précaire.
est vivant mysqld]
查看mysqladmin是否正常

-uzbx_monitor -p'Javaer123456 #mysqladmin « -hlocalhost de ping
mysqladmin :. [Avertissement] Un mot de passe sur l'utilisation de l'interface de ligne de commande peut être dans l'insécurité
mysqld vivant
amélioration de la ligne de commande, retourne 1 ou 0

mysqladmin -uzbx_monitor -p'Javaer123456' -hlocalhost ping | grep -c vivant

J'ai créé un test .my.cnf dans / etc / zabbix

UserParameter = mysql.ping, HOME = / etc / zabbix / mysqladmin ping | grep -c vivant
cette commande "UserParameter" indique que c'est un script défini par l' utilisateur, après le signe "=" est le contenu du script; « mysql.ping « Oui clé », « le nombre va lancer une commande pour obtenir l' agent dans Zabbix Server » est appelée lorsque demandé mysql.ping « la clé et la valeur de retour au serveur.

D'autres paramètres commentées

# UserParameter = mysql.ping [ ], mysqladmin -h "$ 1" -P "$ 2" ping
UserParameter = mysql.ping [
], mysqladmin -uzbx_monitor -p'Javaer123456' -hlocalhost ping
# UserParameter = mysql.get_status_variables [ ], mysql -h "$ 1" -P "$ 2" -sNX -e "afficher le statut global"
# UserParameter = mysql.version [
], mysqladmin rsh "$ 1" -P "$ 2" Version
# UserParameter = mysql.db.discovery [ ], mysql -h "$ 1" -P "2 $" -sN -e "show databases"
# UserParameter = mysql.dbsize [
], mysql -h "$ 1" -P "$ 2" -sN -e « SELECT SUM ( DATA_LENGTH + INDEX_LENGTH) DE INFORMATION_SCHEMA.TABLES OU TABLE_SCHEMA = '3 $' »
# UserParameter = mysql.replication.découverte [ ], mysql -h "$ 1" -P "$ 2" -sNX -e "statut d'esclave show"
# UserParameter = mysql.slave_status [
], Mysql -h "$ 1" -P "$ 2" -sNX -e "statut d'esclave show"
重启动

Lorsque le test de lecture côté serveur

zabbix_get -slocalhost -p 10050 -k mysql.ping
mysqld est vivant

  1. zabbix test Mysql dans d'autres états étendus statut

mysqladmin -uzbx_monitor -p'Javaer123456 « -hlocalhost prolongée état
d'un tas de choses

mysqladmin -uzbx_monitor -p'Javaer123456' -hlocalhost extended-status | grep "Threads_connected" de | cut -d "|" -f 3
mysqladmin: [Avertissement] L' utilisation d' un mot de passe sur l'interface de ligne de commande peut être précaire.
71

Tester cette chose

UserParameter = mysql.status [*], mysqladmin -uzbx_monitor -p'Javaer123456' -hlocalhost extended-status | grep "Threads_connected" de | cut -d "|" -f 3

zabbix_agentd -t mysql.status -c /usr/local/etc/zabbix_agentd.conf.d/userparameter_mysql.conf

mysql.status [t | mysqladmin: [Avertissement] L' utilisation d' un mot de passe sur l'interface de ligne de commande peut être précaire.
71]
zabbix_get -slocalhost -p 10050 -k mysql.status
mysqladmin -uzbx_monitor -p'Javaer123456' -hlocalhost extended-status | grep « Les connexions » de | cut -d "|" -f 3
抄写个脚本给配置文件用

# / Bin / bash!
 
#Filename: chk_mysql.sh
 
MYSQL_SOCK = "/ var / lib / MySQL / mysql.sock"
mysql_user = 'zbx_monitor'
MYSQL_PASSWORD = 'Javaer123456'
MYSQL_HOST = 'localhost'
la MYSQL_PORT = '3306'
mysql_connect = « / usr / bin / mysqladmin -u mysql_user -p $ $ $ MYSQL_HOST MYSQL_PASSWORD -H -S -P $ $ MYSQL_SOCK le MYSQL_PORT "
 
IF [$ # -ne 1.], alors
echo" S'il vous plaît un arguement INPUT "
Fi
 
. Case $ 1
 
le Uptime) # MySQL en cours d' exécution temps statistique après le début de cette enquête
les = Résultat ${MYSQL_Connect} status 2&gt;/dev/null | cut -d ":" -f 2 | cut -d " " -f 2
echo $ le résultat
;;
 
slow_queries) # Voir la requête lente actuelle le nombre de
la Résultat = ${MYSQL_Connect} extended-status 2&gt;/dev/null | grep -w "Slow_queries" | cut -d "|" -f 3
echo $ le résultat
;;
 
Com_rollback) # nombre de rollback de
la = Résultat ${MYSQL_Connect} extended-status 2&gt;/dev/null | grep -w "Com_rollback" | cut -d "|" -f 3
echo $ le résultat
;;
 
Questions)
Résultat = ${MYSQL_Connect} extended-status 2&gt;/dev/null | grep -w "Questions" | cut -d "|" -f 3
echo $ résultat
;;
 
Com_commit)
Les = Résultat ${MYSQL_Connect} extended-status 2&gt;/dev/null | grep -w "Com_commit" | cut -d "|" -f 3
echo $ Résultat
;;
 
Bytes_sent) # Octets envoyés
= Résultat ${MYSQL_Connect} extended-status 2&gt;/dev/null | grep -w "Bytes_sent" | cut -d "|" -f 3
echo $ Résultat
;;
 
Bytes_received) # nombre d'octets accepté
= Résultat ${MYSQL_Connect} extended-status 2&gt;/dev/null | grep -w "Bytes_received" | cut -d "|" -f 3
echo $ Résultat
;;
 
Com_begin)
Résultat = ${MYSQL_Connect} extended-status 2&gt;/dev/null | grep -w "Com_begin" | cut -d "|" -f 3
echo $ Résultat
;;
 
Open_tables) # Voir le nombre actuel de tables ouvrir
les = Résultat ${MYSQL_Connect} status 2&gt;/dev/null | cut -d ":" -f 5 | cut -d " " -f 2
echo $ le résultat
;;
 
Threads_connected) # Voir le nombre de connexions ouvertes actuellement
le résultat = ${MYSQL_Connect} extended-status 2&gt;/dev/null | grep -w "Threads_connected" | cut -d "|" -f 3
echo $ le résultat
;;
 
Threads_cached) # Voir le nombre de threads dans le cache de fil
les = Résultat ${MYSQL_Connect} extended-status 2&gt;/dev/null | grep -w "Threads_cached" | cut -d "|" -f 3
echo $ le résultat
;;
 
Threads_created ) # Voir le nombre de threads créés pour les connexions de poignée. Si Threads_created grand, vous pouvez augmenter la valeur thread_cache_size.
= Le résultat d' ${MYSQL_Connect} extended-status 2&gt;/dev/null | grep -w "Threads_created" | cut -d "|" -f 3
écho du $ Résultat
;;
 
Threads_running) # Voir les sujets actifs (état non-sommeil)
résultat = ${MYSQL_Connect} extended-status 2&gt;/dev/null | grep -w "Threads_running" | cut -d "|" -f 3
echo $ le résultat
;;
 
Slow_launch_threads) # Voir le nombre de threads pour créer plus de secondes slow_launch_time
résultat = ${MYSQL_Connect} extended-status 2&gt;/dev/null | grep -w "Slow_launch_threads" | cut -d "|" -f 3
echo $ le résultat
;;
 
Com_select) # Voir le nombre d'exécution de l'instruction Select
résultat = ${MYSQL_Connect} extended-status 2&gt;/dev/null | grep -w "Com_select" |cut -d "|" -f 3
le résultat echo $
;;
 
Com_insert) # Voir insérer le nombre d'exécution de la peine
la = Résultat ${MYSQL_Connect} extended-status 2&gt;/dev/null | grep -w "Com_insert" |cut -d "|" -f 3
echo $ le résultat
;;
 
Com_update) # Voir mise à jour numéro d'exécution de l' instruction de
la = Résultat ${MYSQL_Connect} extended-status 2&gt;/dev/null | grep -w "Com_update" | cut -d "|" -f 3
echo $ le résultat
;;
 
le nombre d'exécution Com_delete) # Voir instruction delete
le résultat = ${MYSQL_Connect} extended-status 2&gt;/dev/null | grep -w "Com_delete" | cut -d "|" -f 3
echo $ le résultat
;;
 
connexions) # Voir tente de se connecter à MySQL (nombre de connexions indépendamment du fait que la connexion est réussie) de
la = Résultat ${MYSQL_Connect} extended-status 2&gt;/dev/null | grep -w "Connections" | cut -d "|" -f 3
echo $ le résultat
;;
 
Table_locks_immediate) # Voir le numéro de la table de verrouillage immédiatement obtenu
la = Résultat ${MYSQL_Connect} extended-status 2&gt;/dev/null | grep -w "Table_locks_immediate" | cut -d "|" -f 3
echo $ le résultat
;;
 
table de Table_locks_waited) Vues # ne peut pas être obtenu immédiatement. Si la valeur est plus élevée, et il y a des problèmes de performance, vous devez d' abord optimiser la requête, puis le partage de la table ou de copier
les = Résultat ${MYSQL_Connect} extended-status 2&gt;/dev/null | grep -w "Table_locks_waited" | cut -d "|" -f 3
echo $ le résultat
;;
 
*)
echo « Utilisation: $ 0 (Uptime | Com_update | slow_queries | Com_select | Com_rollback | Questions | Com_insert | Com_delete | Com_commit | Bytes_sent | Bytes_received | Com_begin) "
;;
esac
Utilisation: ./ chk.sh (Uptime | Com_update | slow_queries | Com_select | Com_rollback | questions | Com_insert | Com_delete | Com_commit | Bytes_sent | Bytes_received | Com_begin)
fichier chemin

/usr/local/etc/zabbix_agentd.conf.d/chk.sh
scénario introduit dans le fichier de configuration

UserParameter = mysql.status [*], / usr / local / etc / zabbix_agentd.conf.d / chk.sh 1 $
pour tester l'utilité chk.sh

-k -p 10050 -slocalhost zabbix_get "mysql.status [Com_update]"
zabbix_get -slocalhost -p 10050 -k "mysql.threads_connected"
former une nouvelle version de la touche correspondant à Zabbix.
mysql.connections.rate

mysql.threads_connected

résultat = ${MYSQL_Connect} extended-status 2&gt;/dev/null | grep -w “Threads_connected” | cut -d “|” -f 3
echo $ résultat

Un paramètre de configuration unique mysql.threads_connected
UserParameter = mysql.threads_connected, mysqladmin -uzbx_monitor -p'Javaer123456 « Statut -hlocalhost-Extended | grep -w "Connexions" | cut -d "|". -F 3

journal zabbix

cat /tmp/zabbix_server.log

https://java-er.com/blog/zabbix-mysql-monitor/

Je suppose que tu aimes

Origine blog.51cto.com/yuexiaosheng/2481353
conseillé
Classement