Scheda MySQL
MySQL% free storage by node
Molti problemi sono causati dall'esaurimento dello spazio di archiviazione di MySQL nell'archiviazione assegnata a MySQL (datadir impostazione di configurazione MySQL, impostazione predefinita: /data/mysql) o dallo spazio insufficiente di tmpdir. Il valore predefinito tmpdir (impostazione MySQL) è /tmp. Il frame MySQL% free storage by node esamina /, /tmp (se definito come montaggio separato) e la percentuale /data/mysql di spazio di archiviazione libero. A partire da MySQL versione 5.7 (MariaDB versione 10.2), le tabelle non compresse tmp vengono scritte in una tablespace tmp nella directory /data/mysql nel file (ibtmp1). Per impostazione predefinita, questo file si espande automaticamente senza limiti. Trattandosi di una tablespace, le dimensioni non diminuiranno e verranno ripristinate 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
Nel frame Galera Number of Nodes in cluster vengono visualizzate le informazioni dei log MySQL. Quando i nodi si uniscono e lasciano un cluster, vengono visualizzati solo i messaggi per l’intervallo di tempo selezionato. Se un nodo lascia il cluster prima dell’intervallo di tempo, non esisterà alcun messaggio in tale intervallo di tempo. Se si sospetta che il database sia a corto di un nodo, espandere l'intervallo di tempo a un periodo più lungo per verificare 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'
- '%members = 1/3%') come '1of3'
- '%members = 1/1%') come '1of1'
- '%[Nota] /usr/sbin/mysqld (mysqld 10.%') as'sql_restart'
- '%Quorum: nessun nodo con stato completo:%') come 'no_node_count'
- '%WSREP: membro 0%') come 'mem_0'
- '%WSREP: membro 1.0%') come 'mem_1'
- '%WSREP: membro 2%') come 'mem2'
- '%WSREP: sincronizzato con il gruppo, pronto per le connessioni%') come 'ready'
- '%/usr/sbin/mysqld, Version:%') come 'mysql_restart_mysql.slow'
- '%[Nota] WSREP: nuova visualizzazione cluster: stato globale:%') come 'galera_cluster_view_chng'
Galera Log by Host
Il frame Galera Log by Host è uguale al frame Galera log, con la differenza che viene suddiviso per nodo per facilitare la risoluzione dei problemi.
Database performance
Il frame Database performance mostra le prestazioni del database durante richieste specifiche. Puoi visualizzare 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 New Relic si trovano in questo frame.
- 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
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 frame Slow Query Traces 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. Per questo frame sono importanti le query di aggiornamento. Se una tabella viene aggiornata da UPDATE, DELETE e INSERT istruzioni, queste potrebbero bloccare le tabelle per un periodo di tempo.
Anche le istruzioni SELECT possono bloccare le righe se utilizzate con FOR UPDATE.
Datastore Operations tables
Cron table change
Il frame Cron table change cerca messaggi di errore "Impossibile acquisire il blocco per il processo cron:", insieme a un errore di memoria PHP specifico e blocchi che riguardano la tabella cron_schedule. Se la tabella cron_schedule è bloccata (ad esempio, da una query DELETE eseguita su di essa), l'esecuzione di altri nodi verrà bloccata.
Deadlocks
Il frame Deadlocks esamina le stringhe seguenti analizzate dai log MySQL:
- '%PHP Errore irreversibile: dimensione di memoria consentita pari a%') 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'
- '%ERROR 1213 (40001): Deadlock trovato durante il tentativo di ottenere il blocco%') come 'sql_1213_lock'
- '%SQLSTATE[40001]: errore di serializzazione: blocco critico 1213 trovato%') come 'sql_1213_lock2'
- '% lock per il processo cron: indexer_update_all_views%') come '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 per il processo cron: 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 per il processo cron: flush_preview_parts%') come 'lock_flush_preview_parts'
- '% lock per OdL cron: sales_send_order_voice_emails%') as 'lock_sales_send_order_voice_emails'
- '% lock per OdL cron: sales_send_order_voice_emails%') as 'lock_sales_send_order_voice_emails'
- '% lock per il processo cron: captcha_delete_expiry_images%') come 'lock_captcha_delete_espirato_images'
- '% lock per il processo cron: magento_newrelicreporting_cron%') come 'lock_magento_newrelicreporting_cron'
- '% lock per il processo cron: outdated_authentication_failures_cleanup%') come 'lock_outdated_authentication_failures_cleanup'
- '% lock per il processo cron: send_notification%') come 'lock_send_notification'
- '% lock per il processo cron: magento_givtcardaccount_generage_codes_pool%') come 'lock_magento_givtcardaccount_generage_codes_pool'
- '% lock per il processo cron: catalog_product_frontend_actions_flush%') come 'lock_catalog_product_frontend_actions_flush'
- '% lock per il processo cron: mysqlmq_clean_messages%') come 'mysqlmq_clean_messages'
- '% lock per il processo cron: catalog_product_attribute_value_synchronize%') come 'lock_catalog_product_attribute_value_synchronize'
- '% lock per il processo cron: ddg_automation_importer%') come 'lock_ddg_automation_importer'
- '% lock for cron job: ddg_automation_Reviews_and_wishlist%') as 'lock_ddg_automation_Reviews_and_wishlist'
- '% lock per il processo cron: captcha_delete_old_attempted%') come 'lock_captcha_delete_old_attempted'
- '% lock per job cron: catalog_product_outdated_price_values_cleanup%') come 'lock_catalog_product_outdated_price_values_cleanup'
- '% lock per il processo cron: consumer_runner%') come 'lock_consumer_runner'
- '% lock per il processo cron: ddg_automation_customer_subscriber_guest_sync%') come 'lock_ddg_automation_customer_subscriber_guest_sync'
- '% 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 per il processo cron: ddg_automation_status%') come 'lock_ddg_automation_status'
- '% lock per il processo cron: ddg_automation_status%') come '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 per il processo cron: staging_apply_version%') come 'lock_staging_apply_version'
- '% lock per job cron: magento_reward_expire_points%') come 'lock_magento_reward_expire_points'
- '% lock per il processo cron: yotpo_yotpo_orders_sync%') come 'lock_yotpo_yotpo_orders_sync'
- '% lock per il processo cron: catalog_event_status_checker%') come 'lock_catalog_event_status_checker'
- '% lock per il processo cron: ddg_automation_campaign%') come 'lock_ddg_automation_campaign'
- '% lock per il processo cron: visitor_clean%') come 'lock_visitor_clean'
- '% lock per il processo cron: scconnector_verify_website%') come 'lock_scconnector_verify_website'
- '% lock for cron job: ddg_automation_email_templates%') as 'lock_ddg_automation_email_templates'
- '% lock per job cron: aggregate_sales_report_order_data%') come 'lock_aggregate_sales_report_order_data'
- '% lock per il processo cron: ddg_automation_catalog_sync%') come '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 frame Database Errors mostra diversi avvisi ed errori del database:
- '%La dimensione della memoria allocata per la tabella temporanea è superiore al 20% di innodb_buffer_pool_size%' come 'temp_tbl_buff_pool'
- '%[ERROR] WSREP: rbr write fail%') come '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'
- '%[Avviso] 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 o vista di base 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 di accesso:%') as'sql_42000'
- '%SQLSTATE[21000]: violazione di cardinalità:%') come 'sql_1241'
- '%SQLSTATE[22003]:%') come 'sql_22003'
- '%SQLSTATE[HY000] [9000] Client con indirizzo IP%') come 'sql_9000'
- '%SQLSTATE[HY000]: errore generale: 2014%') come 'sql_2014'
- '%1927 Connessione terminata%') come 'sql_1927'
- '%1062 [ERROR] InnoDB:%') come 'sql_1062_e'
- ''%[Nota] WSREP: scaricamento mappa memoria su disco…%') come 'mem_map_flush'
- '%Internal MariaDB error code: 1146%') as 'sql_1146'
- '%Internal MariaDB codice errore: 1062%') come 'sql_1062' * '%1062 [Avviso] InnoDB:%') come 'sql_1062_w'
- '%Internal MariaDB error code: 1064%') as 'sql_1064'
- '%InnoDB: errore di asserzione nel file%') come 'assertion_err'
- '%mysqld_safe Numero di processi attualmente in esecuzione: 0%') come 'mysql_oom'
- '%[ERROR] mysqld ha ottenuto il segnale%') come 'mysql_sigterm'
- '%1452 Impossibile aggiungere%') come 'sql_1452'
- '%ERROR 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 (chiave duplicata)%') come 'innodb_dup_key' FROM LOG TIMESERIES
DB Error Table
Il frame DB Error Table mostra le stesse informazioni del frame Database Errors, 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 frame MySQL Non-Sleeping Threads by Node mostra i thread di connessione al database. Questo frame mostra i thread attivi.
MySQL Running and Sleeping Threads by environment
Il frame MySQL Running and Sleeping Threads by environment mostra le connessioni al database attive e in sospeso. Se sono presenti connessioni al database in cui le query lente sono passate alla modalità di sospensione, le connessioni saranno interrotte. Le connessioni in sospensione possono essere query di database bloccate da righe o tabelle bloccate. Questi collegamenti in sospensione sono anche i collegamenti dei lavoratori PHP.
MySQL mem used by node
Il frame MySQL mem used by node mostra l'utilizzo della memoria da parte di MySQL. Su siti più grandi, questo frame può essere barre continue con GB di memoria utilizzata.
Database mysql-slow.log
Il frame Database mysql-slow.log mostra i tipi di istruzioni di query presenti nel file mysql-slow.log per l'intervallo di tempo selezionato.