La ficha MySQL
MySQL% free storage by node
Muchos problemas se deben a que MySQL se está quedando sin almacenamiento en el almacenamiento asignado a MySQL (datadir
configuración de MySQL, el valor predeterminado es /data/mysql
) o a que tmpdir
se está quedando sin espacio. El valor predeterminado tmpdir
(configuración de MySQL) es /tmp
. El fotograma MySQL% free storage by node examina /, /tmp
(si se define como un montaje independiente) y el porcentaje /data/mysql
de almacenamiento libre. A partir de MySQL versión 5.7 (MariaDB versión 10.2), las tablas tmp
sin comprimir se escriben en un tablespace tmp
en el directorio /data/mysql
del archivo (ibtmp1). Este archivo se expande automáticamente sin límite de forma predeterminada. Como es un tablespace, no disminuirá de tamaño y se restablecerá a 12 MB cuando se reinicie MySQL.
MySQL Connections by Node
El marco MySQL Connections by Node indica períodos de interrupciones en el nodo de la base de datos o volúmenes altos de conexiones.
MySQL Node Summary
La tabla MySQL Node Summary muestra detalles del nodo de la base de datos, como la versión del software y el tipo de instancia (tamaño).
Galera Number of Nodes in cluster
El marco Galera Number of Nodes in cluster muestra información de los registros MySQL. A medida que los nodos se unen y salen de un clúster, solo se mostrarán los mensajes del periodo de tiempo seleccionado. Si un nodo abandona el clúster antes del periodo de tiempo, no aparecerá ningún mensaje durante ese periodo de tiempo. Si cree que la base de datos puede estar quedando corta de un nodo, expanda el periodo de tiempo a un periodo mayor para ver si puede ver información adicional. Si hay información durante el período de tiempo que indica menos que todos los nodos del clúster Galera, expanda el intervalo de tiempo para ver si puede determinar cuándo abandonó el nodo el clúster.
MySQL shutdowns and starts
El marco MySQL shutdowns and starts detecta cuándo se apaga un nodo. Los nodos Galera se expulsarán y se autoexpulsarán del nodo Galera. Esto generalmente resulta en un reinicio del servicio MySQL.
Galera log
El marco Galera log muestra el recuento de señales particulares de los registros MySQL relacionados con Galera nodos, sus estados y los cambios de estado del clúster Galera.
- '%1047 WSREP aún no ha preparado el nodo para el uso de la aplicación (%) como 'node_not_prep_for_use'
- '%[ERROR] WSREP: No se pudo leer de: wsrep_sst_xtrabackup-v2%') como 'xtrabackup_read_fail'
- '%[ERROR] WSREP: Proceso completado con error: wsrep_sst_xtrabackup-v2 %') as 'xtrabackup_compl_w_err'
- '%[ERROR] WSREP: rbr write fail%') as 'rbr_write_fail'
- '%self-left%') como 'susp_node'
- '%members = 3/3 (unidos/total)%') as'3de3'
- '%members = 2/3 (unidos/total)%') as'2of3'
- '%members = 2/2%') como '2of2'
- '%members = 1/2%') como '1of2'
- '%members = 1/3%') como '1of3'
- '%members = 1/1%') como '1of1'
- '%[Nota] /usr/sbin/mysqld (mysqld 10.%') as'sql_restart'
- '%Quorum: no hay ningún nodo con estado completo:%') como 'no_node_count'
- '%WSREP: miembro 0%') como 'mem_0'
- '%WSREP: miembro 1,0%') como 'mem_1'
- '%WSREP: miembro 2%') as'mem2'
- '%WSREP: sincronizado con el grupo, listo para conexiones%') como 'listo'
- '%/usr/sbin/mysqld, Version:%') as 'mysql_restart_mysql.slow'
- '%[Nota] WSREP: Nueva vista de clúster: estado global:%') como 'galera_cluster_view_chang'
Galera Log by Host
El marco Galera Log by Host es el mismo que el marco Galera log, con la diferencia de que está dividido por nodos para ayudar a solucionar problemas.
Database performance
El marco Database performance muestra el rendimiento de la base de datos durante solicitudes específicas. Puede ver cada métrica haciendo clic en ella en los iconos de color debajo del gráfico. Muchas de las métricas llamadas en Monitorización del rendimiento de la base de datos MySQL con New Relic se encuentran en este marco.
- average(query.queriesPerSecond)
- average(query.slowQueriesPerSecond)
- average(db.createdTmpDiskTablesPerSecond)
- average(db.createdTmpFilesPerSecond)
- average(db.tablesLocksWaitedPerSecond)
- average(db.innodb.rowLockTimeAvg)
- average(db.innodb.rowLockWaitsPerSecond)
Transaction Database Call Count
El marco Transaction Database Call Count muestra el número de llamadas a la base de datos realizadas por cada faceta de transacción. Esto parece estar centrado en la fila y no en las instrucciones.
Cron_schedule table updates
El marco Cron_schedule table updates muestra la duración máxima de las actualizaciones de la base de datos en la tabla cron_schedule durante el período de tiempo seleccionado.
Slow Query Traces
El marco Slow Query Traces muestra la tabla y el tipo de solicitud donde existen trazos de consulta lentos. Se crea un seguimiento de consulta lento para las transacciones de consulta que tardan más de cinco segundos. De importancia para este marco son las consultas de actualización. Si una tabla se actualiza mediante las instrucciones UPDATE
, DELETE
y INSERT
, pueden bloquear las tablas durante un período de tiempo.
Incluso las instrucciones SELECT
pueden bloquear filas si se utilizan con FOR UPDATE.
Datastore Operations tables
Cron table change
El marco Cron table change busca mensajes de error "no se pudo adquirir el bloqueo para el trabajo cron:", junto con un error específico de memoria PHP y bloqueos que involucran la tabla cron_schedule
. Si la tabla cron_schedule
está bloqueada (por ejemplo, por una consulta DELETE
que se está ejecutando en ella), bloqueará la ejecución de otros crons.
Deadlocks
El marco Deadlocks observa las siguientes cadenas analizadas desde los registros MySQL:
- '%PHP Error grave: tamaño de memoria permitido (%) como php_mem_error
- '%get lock; intente reiniciar la transacción, la consulta era: DELETE FROM `cron_schedule%') as cron_sched_lock_del
- '% lock para el trabajo cron: indexer_reindex_all_invalid%') as 'lock_indexer_reindex_all_invalid%'
- '% lock para trabajo cron: cron_schedule%') as 'lock_cron_schedule'
- '% lock para trabajo cron:%') como 'total_cron_lock'
- '%Error general: 1205 Se superó el tiempo de espera de bloqueo (%) como 'sql_1205_lock'
- '%ERROR 1213 (40001): se encontró un interbloqueo al intentar obtener el bloqueo (%) como 'sql_1213_lock'
- '%SQLSTATE[40001]: Error de serialización: se encontró un interbloqueo 1213%') como 'sql_1213_lock2'
- '% lock para el trabajo cron: indexer_update_all_views%') as 'lock_indexer_update_all_views'
- '% lock para trabajo cron: sales_grid_order_invoice_async_insert%') as 'lock_sales_grid_order_invoice_async_insert',
- '% lock para el trabajo cron: staging_remove_updates%') as 'lock_staging_remove_updates'
- '% lock para trabajo cron: sales_grid_order_shipping_async_insert%') as 'lock_sales_grid_order_shipping_async_insert'
- '% lock para trabajo cron: amazon_payments_process_queued_reembolsos%') como 'lock_amazon_payments_process_queued_reembolsos'
- '% lock para trabajo cron: sales_send_order_shipping_emails%') as 'lock_sales_send_order_shipping_emails'
- '% lock para el trabajo cron: staging_sync_entities_period%') as 'lock_staging_sync_entities_period'
- '% bloqueo para trabajo cron: indexer_clean_all_changelogs%') como 'lock_indexer_clean_all_changelogs'
- '% lock para trabajo cron: magento_targetrule_index_reindex%') as 'lock_magento_targetrule_index_reindex'
- '% lock para trabajo cron: newsletter_send_all%') as 'lock_newsletter_send_all'
- '% lock para trabajo cron: newsletter_send_all%') as 'lock_newsletter_send_all'
- '% lock para trabajo cron: sales_send_order_emails%') as 'lock_sales_send_order_emails'
- '% lock para trabajo cron: sales_send_order_creditmemo_emails%') as 'lock_sales_send_order_creditmemo_emails'
- '% lock para trabajo cron: sales_grid_order_creditmemo_async_insert%') as 'lock_sales_grid_order_creditmemo_async_insert'
- '% lock para el trabajo cron: bulk_cleanup%') as 'lock_bulk_cleanup'
- '% lock para el trabajo cron: flush_preview_quotas%') as 'lock_flush_preview_quotas'
- '% lock para el trabajo cron: sales_send_order_invoice_emails%') as 'lock_sales_send_order_invoice_emails'
- '% lock para el trabajo cron: sales_send_order_invoice_emails%') as 'lock_sales_send_order_invoice_emails'
- '% lock para trabajo cron: captcha_delete_expire_images%') as 'lock_captcha_delete_expire_images'
- '% lock para trabajo cron: magento_newrelicreporting_cron%') as 'lock_magento_newrelicreporting_cron'
- '% lock para el trabajo cron: outdated_authentication_failures_cleanup%') as 'lock_outdated_authentication_failures_cleanup'
- '% lock para trabajo cron: send_notification%') as 'lock_send_notification'
- '% lock para trabajo cron: magento_giftcardaccount_generage_codes_pool%') as 'lock_magento_giftcardaccount_generage_codes_pool'
- '% lock para trabajo cron: catalog_product_frontend_actions_flush%') as 'lock_catalog_product_frontend_actions_flush'
- '% bloqueo para trabajo cron: mysqlmq_clean_messages%') como 'mysqlmq_clean_messages'
- '% lock para el trabajo cron: catalog_product_attribute_value_sync%') as 'lock_catalog_product_attribute_value_sync'
- '% lock para trabajo cron: ddg_automation_importer%') como 'lock_ddg_automation_importer'
- '% de bloqueo para el trabajo cron: ddg_automation_review_and_wishlist%') como 'lock_ddg_automation_review_and_wishlist'
- '% lock para trabajo cron: captcha_delete_old_tries%') as 'lock_captcha_delete_old_tries'
- '% lock para trabajo cron: catalog_product_outdated_price_values_cleanup%') as 'lock_catalog_product_outdated_price_values_cleanup'
- '% lock para el trabajo cron: consumer_runner%') as 'lock_consumer_runner'
- '% de bloqueo para el trabajo cron: ddg_automation_customer_subscriber_guest_sync%') como 'lock_ddg_automation_customer_subscriber_guest_sync'
- '% lock para trabajo cron: get_amazon_capture_updates%') as 'lock_get_amazon_capture_updates'
- '% lock para trabajo cron: get_amazon_authorization_updates%') as 'lock_send_get_amazon_authorization_updates'
- '% lock para cron job: temando_process_platform_events%') as 'lock_temando_process_platform_events'
- '% lock para trabajo cron: ddg_automation_status%') as 'lock_ddg_automation_status'
- '% lock para trabajo cron: ddg_automation_status%') as 'lock_ddg_automation_status'
- '% lock para trabajo cron: sales_clean_orders%') as 'lock_sales_clean_orders'
- '% lock para el trabajo cron: catalog_index_refresh_price%') como 'lock_catalog_index_refresh_price'
- '% lock para trabajo cron: magento_premio_balance_warning_notification%') como 'lock_magento_recompensa_balance_warning_notification'
- '% lock para trabajo cron: analytics_update%') as 'lock_analytics_update'
- '% lock para trabajo cron: messagequeue_clean_outdated_locks%') as 'lock_messagequeue_clean_outdated_locks'
- '% lock para trabajo cron: messagequeue_clean_outdated_locks%') as 'lock_messagequeue_clean_outdated_locks'
- '% lock para el trabajo cron: staging_apply_version%') as 'lock_staging_apply_version'
- '% lock para trabajo cron: magento_recompensa_expira_points%') as 'lock_magento_recompensa_expira_points'
- '% lock para trabajo cron: yotpo_yotpo_orders_sync%') as 'lock_yotpo_yotpo_orders_sync'
- '% lock para el trabajo cron: catalog_event_status_checker%') como 'lock_catalog_event_status_checker'
- '% lock para trabajo cron: ddg_automation_campaign%') as 'lock_ddg_automation_campaign'
- '% lock para trabajo cron: visitor_clean%') as 'lock_visitor_clean'
- '% lock para el trabajo cron: scconnector_verify_website%') as 'lock_scconnector_verify_website'
- '% lock para trabajo cron: ddg_automation_email_templates%') as 'lock_ddg_automation_email_templates'
- '% lock para trabajo cron: aggregate_sales_report_order_data%') as 'lock_aggregate_sales_report_order_data'
- '% lock para trabajo cron: ddg_automation_catalog_sync%') as 'lock_ddg_automation
DB Statistics
El marco DB Statistics muestra eliminaciones, escrituras, filas leídas, actualizaciones y consultas lentas por segundo.
Request frequency
Database Errors
El marco Database Errors muestra diversas advertencias y errores de la base de datos:
- '%El tamaño de memoria asignado para la tabla temporal es superior al 20% de innodb_buffer_pool_size%' como 'temp_tbl_buff_pool'
- '%[ERROR] WSREP: rbr write fail%') as 'rbr_write_fail'
- '%mysqld: Disco lleno%') como 'disk_full'
- '%Error número 28%') como 'err_28'
- '%rollback%') como 'rollback'
- '%Foreign key constraint falla para table%') como 'Foreign_key_constraint'
- '%Error_code: 1114%') as 'sql_1114_full'%CRITICAL: SQLSTATE[HY000] [2006] El servidor MySQL ha desaparecido%') as 'sql_gone'
- '%SQLSTATE[HY000] [1040] Demasiadas conexiones%') como 'sql_1040'
- '%CRITICAL: SQLSTATE[HY000] [2002]%') como 'sql_2002'
- '%SQLSTATE[08S01]:%') como 'sql_1047'
- '%[Advertencia] (conexión anulada%) como 'aborted_conn'
- '%SQLSTATE[23000]: infracción de restricción de integridad:%') como 'sql_23000'
- '%1205 Bloquear tiempo de espera (%) como 'sql_1205'
- '%SQLSTATE[HY000] [1049] Base de datos desconocida%') como 'sql_1049'
- '%SQLSTATE[42S02]: no se encontró la tabla o vista base:%') como 'sql_42S02'
- '%Error general: 1114%') como 'sql_1114'
- '%SQLSTATE[40001]%') como 'sql_1213'
- '%SQLSTATE[42S22]: Columna no encontrada: 1054 Columna desconocida%') como 'sq1_1054'
- '%SQLSTATE[42000]: error de sintaxis o infracción de acceso:%') as'sql_42000'
- '%SQLSTATE[21000]: Infracción de cardinalidad:%') como 'sql_1241'
- '%SQLSTATE[22003]:%') como 'sql_22003'
- '%SQLSTATE[HY000] [9000] cliente con dirección IP%') como 'sql_9000'
- '%SQLSTATE[HY000]: Error general: 2014%') como 'sql_2014'
- '%1927 Conexión se eliminó%') como 'sql_1927'
- '%1062 [ERROR] InnoDB:%') como 'sql_1062_e'
- ''%[Nota] WSREP: vaciando asignación de memoria al disco…%') como 'mem_map_flush'
- '%Internal MariaDB error code: 1146%') as 'sql_1146'
- '%Internal MariaDB error code: 1062%') as 'sql_1062' * '%1062 [Warning] InnoDB:%') as 'sql_1062_w'
- '%Internal MariaDB error code: 1064%') as 'sql_1064'
- '%InnoDB: error de aserción en el archivo '%') como 'assertion_err'
- '%mysqld_safe Número de procesos que se ejecutan ahora: 0%') como 'mysql_oom'
- '%[ERROR] mysqld tiene señal%') como 'mysql_sigterm'
- '%1452 No se puede agregar%') como 'sql_1452'
- '%ERROR 1698%') como 'sql_1698'
- '%SQLSTATE[HY000]: Error general: 3%') como 'cnt_wrt_tmp'
- '%Error general: 1 %') como 'sql_syntax'
- '%42S22%') como 'sql_42S22'
- '%InnoDB: Error (clave duplicada)%') as 'innodb_dup_key' FROM Log TIMESERIES
DB Error Table
El marco DB Error Table muestra la misma información que el marco Database Errors, pero puede verlo por nodo y en formato de tabla. Consulte Códigos de error de MariaDB para obtener más información.
Database Traces
El fotograma Database Traces muestra los seguimientos de la base de datos por tipo en la escala de tiempo seleccionada.
Database processes
El marco Database processes muestra los procesos, entornos e identificadores de nodo de la base de datos.
MySQL Non-Sleeping Threads by Node
El marco MySQL Non-Sleeping Threads by Node muestra los subprocesos de conexión con la base de datos. Este marco muestra los hilos activos.
MySQL Running and Sleeping Threads by environment
El marco MySQL Running and Sleeping Threads by environment muestra las conexiones activas y en espera a la base de datos. Si hay conexiones a la base de datos en las que las consultas lentas se han suspendido, habrá conexiones en suspensión. Las conexiones durmientes pueden ser consultas de base de datos bloqueadas por filas o tablas bloqueadas. Estas conexiones durmientes también tienen conexiones de trabajo PHP.
MySQL mem used by node
El marco MySQL mem used by node muestra el uso de memoria del nodo por MySQL. En sitios más grandes, este cuadro puede ser barras continuas con GB de memoria utilizados.
Database mysql-slow.log
El fotograma Database mysql-slow.log muestra los tipos de instrucciones de consulta que estaban en el archivo mysql-slow.log
en el periodo de tiempo seleccionado.