Journal Surveiller un serveur MySQL avec mytop.

Posté par  (site web personnel) .
Étiquettes :
0
1
déc.
2007
Il est necessaire pour les administrateurs de pouvoir bien surveiller un serveur MySQL. Nous allons utiliser l'outil mytop qui est a mon avis, un tres bon outil pour faire de la surveillance de serveurs MySQL. Comme indique dans le man de mytop, ce dernier est inspire de la commande top. Je ne vais bien entendu pas reecrire le man de mytop, mais je vais tout de meme decrire les informations principales qu'apporte mytop.

  • Installons l'outil en question via aptitude par exemple (puisque ce n'est pas un paquet de base) :
    aptitude install mytop

  • Lancons mytop pour se connecter a une base de donnees test (-d), avec l'utilisateur test (-u), le mot de passe (-p)test, tout ca sur un serveur MySQL local :
    mytop -utest -ptest -h localhost -d test

  • Voci ce que donne la commande ci-dessus (je n'explique les principales informations) :
    MySQL on localhost (5.0.32-Debian_7etch3-log) up 4+04:14:58 [21:12:36]
    Queries: 141.1k qps: 0 Slow: 0.0 Se/In/Up/De(%): 42/00/00/00
    qps now: 0 Slow qps: 0.0 Threads: 2 ( 1/ 6) 00/00/00/00
    Key Efficiency: 99.3% Bps in/out: 0.0/ 0.3 Now in/out: 8.4/ 1.3k

    Id User Host/IP DB Time Cmd Query or State
    -- ---- ------- -- ---- --- ----------
    13633 test localhost test 0 Query show full processlist


    - localhost : hostname du serveur MySQL.
    - up 4+04:14:58 [21:12:36] : uptime du serveur MySQL.
    - La seconde ligne montre le nombre de queries (=requetes), le pourcentage de queries (Select, Insert, Update, Delete).

Comme vous pouvez le voir, mytop est assez explicite ! Je vous invite fortement a lire le man de mytop (man mytop) pour avoir plus d'informations sur les arguments par exemple, mytop est donc par consequent bien plus complet en lisant l'aide disponible, ca ne sert donc a rien que je colle le man ici. :)

En esperant pouvoir aider les differents administrateurs de serveurs MySQL qui passent ici. Je tourne sous debian GNU/Linux pour information.
  • # Re:

    Posté par  . Évalué à -2.

    > Je tourne sous debian GNU/Linux

    Et moi sur ma chaise.

    Je crois que c'est l'heure du dodo.
  • # Mot de passe en argument ?

    Posté par  . Évalué à 4.

    Suis-je le seul gêné par l'idée de mettre le mot de passe en argument de l'application ?
    Si un autre utilisateur, non administrateur, se loggue sur la machine en SSH et affiche les processus, il pourrait voir les mots de passe d'autres utilisateurs mysql.
    • [^] # Re: Mot de passe en argument ?

      Posté par  . Évalué à 0.

      clair c'est moche
      IIRC le client mysql en ligne de commande souffrait du même problème.

      s'il suit la meme fonctionnement que lui il doit y avoir moyen de mettre le pot de masse dans un fichier de conf .cnf
  • # Pourcentage de requêtes

    Posté par  (site web personnel) . Évalué à 5.

    Se/In/Up/De(%): 42/00/00/00

    42% de Select et 0% de Insert+Update+Delete. Il fait quoi alors ?

    ça ne fait pas 100% non plus sur le site de l'auteur
    http://jeremy.zawodny.com/mysql/mytop/mytop.gif
    ni sur la base LinuxFr.

    Pour LinuxFr (un samedi soir à 23h) :
    Queries: 123.1M qps: 32 Slow: 0.0 Se/In/Up/De(%): 34/00/00/00
    • [^] # Re: Pourcentage de requêtes

      Posté par  (site web personnel) . Évalué à 1.

      mytop tire ses infos d'un SHOW STATUS; . Le reste serait à repartir parmi les autres commandes :

      Com_admin_commands Com_alter_db Com_alter_table Com_analyze Com_backup_table Com_begin Com_change_db Com_change_master Com_check Com_checksum Com_commit Com_create_db Com_create_function Com_create_index Com_create_table Com_create_user Com_dealloc_sql Com_delete Com_delete_multi Com_do Com_drop_db Com_drop_function Com_drop_index Com_drop_table Com_drop_user Com_execute_sql Com_flush Com_grant Com_ha_close Com_ha_open Com_ha_read Com_help Com_insert Com_insert_select Com_kill Com_load Com_load_master_data Com_load_master_table Com_lock_tables Com_optimize Com_preload_keys Com_prepare_sql Com_purge Com_purge_before_date Com_rename_table Com_repair Com_replace Com_replace_select Com_reset Com_restore_table Com_revoke Com_revoke_all Com_rollback Com_savepoint Com_select Com_set_option Com_show_binlog_events Com_show_binlogs Com_show_charsets Com_show_collations Com_show_column_types Com_show_create_db Com_show_create_table Com_show_databases Com_show_errors Com_show_fields Com_show_grants Com_show_innodb_status Com_show_keys Com_show_logs Com_show_master_status Com_show_ndb_status Com_show_new_master Com_show_open_tables Com_show_privileges Com_show_processlist Com_show_slave_hosts Com_show_slave_status Com_show_status Com_show_storage_engines Com_show_tables Com_show_triggers Com_show_variables Com_show_warnings Com_slave_start Com_slave_stop Com_stmt_close Com_stmt_execute Com_stmt_fetch Com_stmt_prepare Com_stmt_reset Com_stmt_send_long_data Com_truncate Com_unlock_tables Com_update Com_update_multi Com_xa_commit Com_xa_end Com_xa_prepare Com_xa_recover Com_xa_rollback Com_xa_start
      • [^] # Re: Pourcentage de requêtes

        Posté par  (site web personnel) . Évalué à 3.

        Queries: 124.2M qps: 31 Slow: 0.0 Se/In/Up/De/Ot(%): 34/00/00/00/00

        Tant que j'y suis à discuter tout seul, la réponse est non. Dans 'Ot' j'ai placé les autres types de requêtes et ça ne fait toujours pas 100%.

        La formule pour "Se" c'est (Com_select + Qcache_hits) / Questions
        avec Com_select qui est quasi nul, et Qcache_hits qui vaut 1/3 de Questions. Je ne sais pas encore comment se répartit les 2/3 restants.

        La doc MySQL correspondant :
        http://dev.mysql.com/doc/refman/5.0/en/server-status-variabl(...)
  • # infos

    Posté par  . Évalué à -3.


    # Voci ce que donne la commande ci-dessus (je n'explique les principales informations) :
    - localhost : hostname du serveur MySQL.
    - up 4+04:14:58 [21:12:36] : uptime du serveur MySQL.


    Heureusement que t'as précisé !

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.