Il MySQL scheda
MySQL% free storage by node
Molti problemi sono causati dall'esaurimento dello spazio di archiviazione di MySQL nell'archivio assegnato a MySQL (datadir
impostazione di configurazione MySQL, l'impostazione predefinita è /data/mysql
) o dall'esaurimento tmpdir
dello spazio. L'impostazione predefinita tmpdir
(MySQL) è /tmp
. Il MySQL% free storage by node telaio esamina il /, /tmp
(se definito come un supporto separato) e la /data/mysql
percentuale di memorizzazione gratuito. A partire dalla versione 5.7 di MySQL (MariaDB versione 10.2), le /data/mysql
tabelle non compresse tmp
vengono scritte in un tmp
tablespace nella directory del file (ibtmp1). Per impostazione predefinita, questo file si espande automaticamente senza limiti. Poiché si tratta di un tablespace, non diminuirà di dimensioni e verrà ripristinato a 12 MB al riavvio di MySQL.
MySQL Connections by Node
Il frame MySQL Connections by Node indica periodi di interruzioni del nodo del database o di elevati volumi di connessioni.
MySQL Node Summary
La tabella MySQL Node Summary mostra i dettagli del nodo del database, ad esempio la versione del software e il tipo di istanza (dimensione).
Galera Number of Nodes in cluster
Il Galera Number of Nodes in cluster frame visualizza informazioni dai log MySQL. Quando i nodi si uniscono ed escono da un cluster, vengono visualizzati solo i messaggi per il arco temporale selezionato. Se un nodo lascia il cluster prima del arco temporale, non sarà presente alcun messaggio durante tale arco temporale. Se si sospetta che il database sia a corto di un nodo, espandere il arco temporale a un periodo più lungo per vedere se è possibile visualizzare ulteriori informazioni. Se durante il periodo di tempo sono presenti informazioni che indicano meno di tutti i nodi nel cluster Galera, espandere l'intervallo di tempo per verificare se è possibile determinare quando il nodo ha lasciato il cluster.
MySQL shutdowns and starts
Il frame MySQL shutdowns and starts rileva quando si verifica l'arresto di un nodo. I nodi Galera verranno rimossi e rimossi automaticamente dal nodo Galera. In genere, questo comporta il riavvio del servizio MySQL.
Galera log
Il frame Galera log mostra i conteggi di segnali particolari provenienti dai registri MySQL relativi ai nodi Galera, ai relativi stati e alle modifiche di stato del cluster Galera.
- '%1047 WSREP non ha ancora preparato il nodo per l'utilizzo dell'applicazione (percentuale)' come 'node_not_prep_for_use'
- '%[ERROR] WSREP: impossibile leggere da: wsrep_sst_xtrabackup-v2%') come 'xtrabackup_read_fail'
- '%[ERROR] WSREP: Processo completato con errore: wsrep_sst_xtrabackup-v2 %') come 'xtrabackup_compl_w_err'
- '%[ERROR] WSREP: rbr write fail%') come 'rbr_write_fail'
- '%self-leave%') come 'susp_node'
- '%members = 3/3 (join/total)%') as'3of3'
- '%members = 2/3 (join/total)%') as'2of3'
- '%members = 2/2%') come '2of2'
- '%members = 1/2%') come '1of2'
- '%membri = 1/3%') come '1of3'
- '%membri = 1/1%') come '1of1'
- '%[Nota] /usr/sbin/mysqld (mysqld 10.%') come 'sql_restart'
- '%Quorum: nessun nodo con stato completo:%') come 'no_node_count'
- '%WSREP: iscritto 0%') come 'mem_0'
- '%WSREP: iscritto 1.0%') come 'mem_1'
- '%WSREP: iscritto 2%') as'mem2'
- '%WSREP: Sincronizzato con il gruppo, pronto per le connessioni%') come 'pronto'
- '%/usr/sbin/mysqld, Versione:%') as 'mysql_restart_mysql.slow'
- '%[Nota] WSREP: Nuovo cluster view: global state:%') come 'galera_cluster_view_chng'
Galera Log by Host
Il Galera Log by Host frame è uguale al frame, tranne per il fatto che è suddiviso per nodo per facilitare la Galera log risoluzione dei problemi.
Database performance
Il Database performance frame mostra le prestazioni del database durante richieste specifiche. Puoi vedere ogni metrica facendo clic su di essa nelle icone colorate sotto il grafico. Molte delle metriche richiamate in Monitoraggio delle prestazioni del database MySQL con Nuovo Relic si trovano in questo frame.
- average(query.queriesPerSecond)
- average(query.slowQueriesPerSecond)
- average(db.createdTmpDiskTablesPerSecond)
- average(db.createdTmpFilesPerSecond)
- media(db.tablesLocksWaitedPerSecond)
- media (db.innodb.rowLockTimeAvg)
- average(db.innodb.rowLockWaitsPerSecond)
Transaction Database Call Count
Il frame Transaction Database Call Count mostra il numero di chiamate al database effettuate da ogni facet di transazione. Questo sembra essere incentrato sulle righe e non sulle istruzioni.
Cron_schedule table updates
Nel frame Cron_schedule table updates viene visualizzata la durata massima degli aggiornamenti del database alla tabella cron_schedule per il periodo di tempo selezionato.
Slow Query Traces
Nel Slow Query Traces frame vengono visualizzati la tabella e il tipo di richiesta in cui sono presenti tracce di query lente. Viene creata una traccia di query lenta per le transazioni di query che richiedono più di cinque secondi. Importanti per questo frame sono le query di aggiornamento. Se una tabella viene aggiornata da UPDATE
, DELETE
e INSERT
istruzioni, questi possono bloccare le tabelle per un certo periodo di tempo.
Anche SELECT
le istruzioni possono bloccare le righe se utilizzate con FOR UPDATE.
Datastore Operations tables
Cron table change
Il Cron table change frame cerca i messaggi di errore "impossibile acquisire il blocco per cron job:", insieme a uno specifico errore di memoria PHP e blocchi che coinvolgono la cron_schedule
tabella. Se la cron_schedule
tabella è bloccata (ad esempio, da una DELETE
query eseguita su di essa), bloccherà l'esecuzione di altri cron.
Deadlocks
Il Deadlocks frame esamina le seguenti stringhe analizzate dai log MySQL:
- '%PHP Errore irreversibile: dimensione della memoria consentita di%') come php_mem_error
- '%get lock; provare a riavviare la transazione, query: DELETE FROM `cron_schedule%') as cron_sched_lock_del
- '% lock per il processo cron: indexer_reindex_all_invalid%') come 'lock_indexer_reindex_all_invalid%'
- '% lock per job cron: cron_schedule%') come 'lock_cron_schedule'
- '% lock per il processo cron:%') come 'total_cron_lock'
- '%Errore generale: timeout attesa blocco 1205 superato%') come 'sql_1205_lock'
- '%ERRORE 1213 (40001): Deadlock rilevato durante il tentativo di ottenere il blocco%') come 'sql_1213_lock'
- '%SQLSTATE[40001]: Errore di serializzazione: 1213 Deadlock trovato%') come 'sql_1213_lock2'
- '% lock for cron job: indexer_update_all_views%') as 'lock_indexer_update_all_views'
- '% lock per job cron: sales_grid_order_invoc_async_insert%') come 'lock_sales_grid_order_invoc_async_insert',
- '% lock per il processo cron: staging_remove_updates%') come 'lock_staging_remove_updates'
- '% lock per OdL cron: sales_grid_order_shipping_async_insert%') come 'lock_sales_grid_order_shipping_async_insert'
- '% lock per job cron: amazon_payments_process_queued_returns%') come 'lock_amazon_payments_process_queued_returns'
- '% lock per OdL cron: sales_send_order_shipping_emails%') as 'lock_sales_send_order_shipping_emails'
- '% lock per job cron: staging_synchronize_entities_period%') come 'lock_staging_synchronize_entities_period'
- '% lock per il processo cron: indexer_clean_all_changelogs%') come 'lock_indexer_clean_all_changelogs'
- '% lock per il processo cron: magento_targetrule_index_reindex%') come 'lock_magento_targetrule_index_reindex'
- '% lock for cron job: newsletter_send_all%') come 'lock_newsletter_send_all'
- '% lock per il processo cron: newsletter_send_all%') come 'lock_newsletter_send_all'
- '% lock per processo cron: sales_send_order_emails%') as 'lock_sales_send_order_emails'
- '% lock per processo cron: sales_send_order_creditmemo_emails%') as 'lock_sales_send_order_creditmemo_emails'
- '% lock per job cron: sales_grid_order_creditmemo_async_insert%') come 'lock_sales_grid_order_creditmemo_async_insert'
- '% lock per il processo cron: bulk_cleanup%') come 'lock_bulk_cleanup'
- '% lock for cron job: flush_preview_quotas%') as 'lock_flush_preview_quotas'
- '% lock for cron job: sales_send_order_invoice_emails%') as 'lock_sales_send_order_invoice_emails'
- '% lock for cron job: sales_send_order_invoice_emails%') as 'lock_sales_send_order_invoice_emails'
- '% lock for cron job: captcha_delete_expired_images%') as 'lock_captcha_delete_expired_images'
- '% lock for cron job: magento_newrelicreporting_cron%') as 'lock_magento_newrelicreporting_cron'
- '% lock for cron job: outdated_authentication_failures_cleanup%') as 'lock_outdated_authentication_failures_cleanup'
- '% lock for cron job: send_notifica%') as 'lock_send_notifica'
- '% lock for cron job: magento_giftcardaccount_generage_codes_pool%') as 'lock_magento_giftcardaccount_generage_codes_pool'
- '% lock for cron job: catalog_product_frontend_actions_flush%') come 'lock_catalog_product_frontend_actions_flush'
- '% lock for cron job: mysqlmq_clean_messages%') come 'mysqlmq_clean_messages'
- '% lock for cron job: catalog_product_attribute_value_synchronize%') as 'lock_catalog_product_attribute_value_synchronize'
- '% lock for cron job: ddg_automation_importer%') as 'lock_ddg_automation_importer'
- '% lock for cron job: ddg_automation_reviews_and_wishlist%') come 'lock_ddg_automation_reviews_and_wishlist'
- '% lock for cron job: captcha_delete_old_attempts%') come 'lock_captcha_delete_old_attempts'
- '% lock for cron job: catalog_product_outdated_price_values_cleanup%') come 'lock_catalog_product_outdated_price_values_cleanup'
- '% lock for cron job: consumers_runner%') come 'lock_consumers_runner'
- '% lock for cron job: ddg_automation_customer_subscriber_guest_Sincronizzazione%') as 'lock_ddg_automation_customer_subscriber_guest_Sincronizzazione'
- '% lock per il processo cron: get_amazon_capture_updates%') come 'lock_get_amazon_capture_updates'
- '% lock per il processo cron: get_amazon_authorization_updates%') come 'lock_send_get_amazon_authorization_updates'
- '% lock per il processo cron: temando_process_platform_events%') come 'lock_temando_process_platform_events'
- '% lock for cron job: ddg_automation_status%') as 'lock_ddg_automation_status'
- '% lock for cron job: ddg_automation_status%') as 'lock_ddg_automation_status'
- '% lock per processo cron: sales_clean_orders%') as 'lock_sales_clean_orders'
- '% lock per job cron: catalog_index_refresh_price%') come 'lock_catalog_index_refresh_price'
- '% lock per job cron: magento_reward_balance_warning_notification%') come 'lock_magento_reward_balance_warning_notification'
- '% lock per il processo cron: analytics_update%') come 'lock_analytics_update'
- '% lock per il processo cron: messagequeue_clean_outdated_locks%') come 'lock_messagequeue_clean_outdated_locks'
- '% lock per il processo cron: messagequeue_clean_outdated_locks%') come 'lock_messagequeue_clean_outdated_locks'
- '% lock for cron job: staging_apply_version%') as 'lock_staging_apply_version'
- '% lock for cron job: magento_reward_expire_points%') as 'lock_magento_reward_expire_points'
- '% lock for cron job: yotpo_yotpo_orders_Sincronizzazione%') as 'lock_yotpo_yotpo_orders_Sincronizzazione'
- '% lock for cron job: catalog_event_status_checker%') as 'lock_catalog_event_status_checker'
- '% lock for cron job: ddg_automation_campaign%') as 'lock_ddg_automation_campaign'
- '% lock for cron job: visitor_clean%') as 'lock_visitor_clean'
- '% lock for cron job: scconnector_verify_website%') as 'lock_scconnector_verify_website'
- '% lock for cron job: ddg_automation_email_templates%') as 'lock_ddg_automation_email_templates'
- '% lock for cron job: aggregato_sales_report_order_data%') as 'lock_aggregato_sales_report_order_data'
- '% lock for cron job: ddg_automation_catalog_Sincronizzazione%') as 'lock_ddg_automation
DB Statistics
Nel frame DB Statistics vengono visualizzate eliminazioni, scritture, righe lette, aggiornamenti e query lente al secondo.
Request frequency
Database Errors
Il Database Errors frame mostra una varietà di avvisi ed errori🔗 del database:
- '%La dimensione della memoria allocata per la tabella temporanea è superiore al 20% del innodb_buffer_pool_size%' come 'temp_tbl_buff_pool'
- '%[ERROR] WSREP: rbr write fail%') as 'rbr_write_fail'
- '%mysqld: disco pieno%') come 'disk_full'
- '%Error number 28%') come 'err_28'
- '%rollback%') come 'rollback'
- '%Foreign key_constraint' non riesce per la tabella%') come 'foreign_key_constraint'
- '%Error_code: 1114%') come 'sql_1114_full'%CRITICAL: SQLSTATE[HY000] [2006] Il server MySQL è scomparso%') come 'sql_gone'
- '%SQLSTATE[HY000] [1040] Troppe connessioni%') come 'sql_1040'
- '%CRITICAL: SQLSTATE[HY000] [2002]%') come 'sql_2002'
- '%SQLSTATE[08S01]:%') come 'sql_1047'
- '%[Avvertenza] Connessione interrotta%') come 'aborted_conn'
- '%SQLSTATE[23000]: Violazione del vincolo di integrità:%') come 'sql_23000'
- '%1205 Lock wait timeout%') come 'sql_1205'
- '%SQLSTATE[HY000] [1049] Database sconosciuto%') come 'sql_1049'
- '%SQLSTATE[42S02]: Tabella di base o vista non trovata:%') come 'sql_42S02'
- '%Errore generale: 1114%') come 'sql_1114'
- '%SQLSTATE[40001]%') come 'sql_1213'
- '%SQLSTATE[42S22]: Colonna non trovata: 1054 colonna sconosciuta%') come 'sq1_1054'
- '%SQLSTATE[42000]: Errore di sintassi o violazione accesso:%') as'sql_42000'
- '%SQLSTATE[21000]: Violazione di cardinalità:%') come 'sql_1241'
- '%SQLSTATE[22003]:%') come 'sql_22003'
- '%SQLSTATE[HY000 [] 9000] Client with IP address%') as 'sql_9000'
- '%SQLSTATE[HY000]: Errore generale: 2014%') come 'sql_2014'
- '%1927 Connection was killed%') come 'sql_1927'
- '%1062 [ERROR] InnoDB:%') come 'sql_1062_e'
- ''%[Nota] WSREP: Scaricamento della mappa della memoria su disco…%') come 'mem_map_flush'
- '%Internal MariaDB error code: 1146%') as 'sql_1146'
- '%Internal MariaDB error code: 1062%') as 'sql_1062' * '%1062 [Avvertenza] InnoDB:%') as 'sql_1062_w'
- '%Codice di errore MariaDB interno: 1064%') come 'sql_1064'
- '%InnoDB: Errore di asserzione nel file%') come 'assertion_err'
- '%mysqld_safe Numero di processi in esecuzione ora: 0%') come 'mysql_oom'
- '%[ERROR] mysqld got signal%') as 'mysql_sigterm'
- '%1452 Impossibile aggiungere%') come 'sql_1452'
- '%ERRORE 1698%') come 'sql_1698'
- '%SQLSTATE[HY000]: errore generale: 3%') come 'cnt_wrt_tmp'
- '%General error: 1 %') come 'sql_syntax'
- '%42S22%') come 'sql_42S22'
- '%InnoDB: Errore (Duplicate key)%') as 'innodb_dup_key' FROM Log TIMESERIES
DB Error Table
Il DB Error Table frame mostra le stesse informazioni del Database Errors frame, ma è possibile visualizzarlo per nodo e in formato tabella. Per ulteriori informazioni, vedere Codici di errore MariaDB.
Database Traces
Il frame Database Traces mostra le tracce del database per tipo nella sequenza temporale selezionata.
Database processes
Il frame Database processes mostra i processi di database, gli ambienti e gli identificatori di nodo.
MySQL Non-Sleeping Threads by Node
Il MySQL Non-Sleeping Threads by Node frame mostra i thread di connessione al database. Questo frame mostra i thread attivi.
MySQL Running and Sleeping Threads by environment
Il MySQL Running and Sleeping Threads by environment frame mostra le connessioni attive e dormienti al database. Se sono presenti connessioni al database in cui le query lente sono entrate in stato di sospensione, ci saranno connessioni in stato di sospensione. Le connessioni sospensione possono essere query di database bloccate da righe o tabelle bloccate. Queste connessioni dormienti contengono anche connessioni PHP worker.
MySQL mem used by node
Il MySQL mem used by node frame mostra l'utilizzo del nodo della memoria da parte di MySQL. Nei siti più grandi, questo frame può essere barre continue con GB di memoria utilizzata.
Database mysql-slow.log
Il Database mysql-slow.log frame mostra i tipi di mysql-slow.log
istruzioni di query presenti nel file nella arco temporale selezionata.