Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[input.mysql] Slave_IO_Running : MYSQL_SLAVE_RUN_NOT_CONNECT #14510

Closed
tguenneguez opened this issue Dec 28, 2023 · 19 comments · Fixed by #14620
Closed

[input.mysql] Slave_IO_Running : MYSQL_SLAVE_RUN_NOT_CONNECT #14510

tguenneguez opened this issue Dec 28, 2023 · 19 comments · Fixed by #14620
Labels
bug unexpected problem or unintended behavior

Comments

@tguenneguez
Copy link
Contributor

Relevant telegraf.conf

[[inputs.mysql]]
  servers = ["observ@unix(/myqdata/myserver01/data/myserver01.sock)/"]
  metric_version = 2
  gather_global_variables = true
  gather_process_list = true
  interval_slow = "1800"
  gather_slave_status = true

Logs from Telegraf

RAS

System info

1.20.3, Ubuntu 22.04, mariadb 10.11.3

Docker

No response

Steps to reproduce

  1. block network traffic betwin master and slave serveur that are configure to replicate.
  2. Slave_IO_Running contain Connecting
  3. Data exposes doesn't contain mysql_slave_slave_io_running value

Expected behavior

Like writing on https://dev.mysql.com/doc/refman/5.7/en/show-slave-status.html pages, the mysql_slave_slave_io_running may have 3 values :
MYSQL_SLAVE_NOT_RUN. The replica I/O thread is not running. For this state, Slave_IO_Running is No.
MYSQL_SLAVE_RUN_NOT_CONNECT. The replica I/O thread is running, but is not connected to a replication source. For this state, Slave_IO_Running is Connecting.
MYSQL_SLAVE_RUN_CONNECT. The replica I/O thread is running, and is connected to a replication source. For this state, Slave_IO_Running is Yes.

Actual behavior

Data exposes doesn't contain mysql_slave_slave_io_running value

Additional info

MYSQL_SLAVE_NOT_RUN look like value is "0".
MYSQL_SLAVE_RUN_CONNECT look like value is "1".

MYSQL_SLAVE_RUN_NOT_CONNECT may report "2" value for exemple.

@tguenneguez tguenneguez added the bug unexpected problem or unintended behavior label Dec 28, 2023
@powersj
Copy link
Contributor

powersj commented Jan 2, 2024

Hi,

What metric do you get when you are connecting?
Can this be solved using an enum processor?
Do you get an error that the value is unconvertible?

@powersj powersj added the waiting for response waiting for response from contributor label Jan 2, 2024
@tguenneguez
Copy link
Contributor Author

tguenneguez commented Jan 3, 2024

Hi,

What metric do you get when you are connecting ?

mysql,server=/myqdata/myserver01/data/myserver01.sock slave_connect_retry=60i,slave_exec_master_log_pos=389i,slave_last_errno=0i,slave_last_io_errno=2003i,slave_last_io_error="error reconnecting to master '[email protected]:3306' - retry-time: 60 maximum-retries: 100000 message: Can't connect to server on 'Y.Y.Y.Y' (110 "Connection timed out")",slave_last_sql_errno=0i,slave_master_host="Y.Y.Y.Y",slave_master_log_file="myserver01_logbin.000241",slave_master_port=3306i,slave_master_server_id=1i,slave_master_ssl_allowed=0i,slave_master_ssl_verify_server_cert=0i,slave_master_user="replication",slave_parallel_mode="conservative",slave_read_master_log_pos=389i,slave_relay_log_file="myserver01_relaybin.000094",slave_relay_log_pos=508i,slave_relay_log_space=1253i,slave_relay_master_log_file="myserver01_logbin.000241",slave_skip_counter=0i,slave_slave_ddl_groups=0i,slave_slave_io_running="Connecting",slave_slave_io_state="Reconnecting after a failed master event read",slave_slave_non_transactional_groups=0i,slave_slave_sql_running=1i,slave_slave_sql_running_state="Slave has read all relay log; waiting for more updates",slave_slave_transactional_groups=0i,slave_sql_delay=0i,slave_until_condition="None",slave_until_log_pos=0i,slave_using_gtid=0i 1704275476000000000
we can see :
slave_slave_io_running="Connecting"

Can this be solved using an enum processor?

No itn't possible. The both mariadb serveur are running.
You have for exemple this error when network connexion between slave en master is not possible.

Do you get an error that the value is unconvertible?

no

Thanks
Thomas

@telegraf-tiger telegraf-tiger bot removed the waiting for response waiting for response from contributor label Jan 3, 2024
@powersj
Copy link
Contributor

powersj commented Jan 3, 2024

we can see :
slave_slave_io_running="Connecting"

And what do you expect this to report as?

@powersj powersj added the waiting for response waiting for response from contributor label Jan 3, 2024
@tguenneguez
Copy link
Contributor Author

It look like same issue than : #6671
There is a pullrequest, but It doesn't seems merged ?
#9966

I'm in 1.20.3 and it's merged in 1.20.4...
https://github.com/influxdata/telegraf/blob/master/CHANGELOG.md#bugfixes-41
SNIFF

@telegraf-tiger telegraf-tiger bot removed the waiting for response waiting for response from contributor label Jan 4, 2024
@tguenneguez tguenneguez reopened this Jan 15, 2024
@powersj
Copy link
Contributor

powersj commented Jan 16, 2024

@tguenneguez you re-opened the issue without any explanation?

@powersj powersj added the waiting for response waiting for response from contributor label Jan 16, 2024
@tguenneguez
Copy link
Contributor Author

Sorry, ...
The last version of telegraf doesn't solve the problem.
It will be greate to implemente the following solution ?
#6671 (comment)

@telegraf-tiger telegraf-tiger bot removed the waiting for response waiting for response from contributor label Jan 16, 2024
@powersj
Copy link
Contributor

powersj commented Jan 16, 2024

My patience with your issues has run out. In my last message I asked you what you expected to see and you have yet to answer.

Can this be solved using an enum processor?

No itn't possible. The both mariadb serveur are running.

Why is that a problem? You can only pass mysql data to the enum processor.

@powersj powersj added the waiting for response waiting for response from contributor label Jan 16, 2024
@tguenneguez
Copy link
Contributor Author

Sorry for reaching the limit of your patience...
I think (after reflection) I didn't understand what you were proposing by enum processor?

@telegraf-tiger telegraf-tiger bot removed the waiting for response waiting for response from contributor label Jan 16, 2024
@powersj
Copy link
Contributor

powersj commented Jan 16, 2024

When you file a bug, it asks for two items: Actual behavior and Expected behavior. The actual behavior is for you to show what you are actually getting from Telegraf. You said, the data does not expose mysql_slave_slave_io_running. The expected behavior field is there for you to show what data you want. You said it might have three values.

When I then asked you to show me what data you are getting, you pointed out that the slave_slave_io_running field shows connecting:

slave_slave_io_running="Connecting"

This is not the same field name you originally mentioned, note mysql_slave_slave_io_running is not the same as slave_slave_io_running. Is that a typo? Or are these two different fields? If it is not a typo, then the field is there and your actual behavior is wrong.

What I think you are trying to do, but have not actually stated is translate these fields from strings (e.g. "Connecting"), to integer values (e.g. 0), but again I am not actually sure based on what you have provided. Which leads me to wonder, what is the actual request or issue?

If you want help, you need to lay out what you want, because I do not know your use case, what you are actually seeing, and what you are trying to accomplish.

@powersj powersj added the waiting for response waiting for response from contributor label Jan 16, 2024
@tguenneguez
Copy link
Contributor Author

tguenneguez commented Jan 17, 2024

Hi,
Sorry for my first message witch was not complete.
with the last telegraf 1.29.2, I have the following result :

mysql,channel=default,module=mysql/server,module_instance=myserver01,object=myserver01,object_class=OBV_MYQ_SERVER,server=/myqdata/myserver01/data/myserver01.sock slave_connect_retry=60i,slave_exec_master_log_pos=389i,slave_executed_log_entries=748i,slave_gtid_slave_pos="0-2-203",slave_last_errno=0i,slave_last_io_errno=0i,slave_last_sql_errno=0i,slave_master_host="10.118.21.140",slave_master_log_file="myserver01_logbin.000257",slave_master_port=3306i,slave_master_server_id=1i,slave_master_ssl_allowed="No",slave_master_ssl_verify_server_cert="No",slave_master_user="replication",slave_max_relay_log_size=268435456i,slave_parallel_mode="conservative",slave_read_master_log_pos=389i,slave_relay_log_file="myserver01_relaybin.000146",slave_relay_log_pos=692i,slave_relay_log_space=1052i,slave_relay_master_log_file="myserver01_logbin.000257",slave_retried_transactions=0i,slave_seconds_behind_master=0i,slave_skip_counter=0i,slave_slave_ddl_groups=24i,slave_slave_heartbeat_period=90,slave_slave_io_running="Yes",slave_slave_non_transactional_groups=6i,slave_slave_received_heartbeats=38099i,slave_slave_sql_running="Yes",slave_slave_sql_state="Slave has read all relay log; waiting for more updates",slave_slave_transactional_groups=0i,slave_sql_delay=0i,slave_until_condition="None",slave_until_log_pos=0i,slave_using_gtid="No" 1705488207000000000

The expected result should be :

mysql,channel=default,module=mysql/server,module_instance=myserver01,object=myserver01,object_class=OBV_MYQ_SERVER,server=/myqdata/myserver01/data/myserver01.sock slave_connect_retry=60i,slave_exec_master_log_pos=389i,slave_executed_log_entries=748i,slave_gtid_slave_pos="0-2-203",slave_last_errno=0i,slave_last_io_errno=0i,slave_last_sql_errno=0i,slave_master_host="10.118.21.140",slave_master_log_file="myserver01_logbin.000257",slave_master_port=3306i,slave_master_server_id=1i,slave_master_ssl_allowed=1i,slave_master_ssl_verify_server_cert=1i,slave_master_user="replication",slave_max_relay_log_size=268435456i,slave_parallel_mode="conservative",slave_read_master_log_pos=389i,slave_relay_log_file="myserver01_relaybin.000146",slave_relay_log_pos=692i,slave_relay_log_space=1052i,slave_relay_master_log_file="myserver01_logbin.000257",slave_retried_transactions=0i,slave_seconds_behind_master=0i,slave_skip_counter=0i,slave_slave_ddl_groups=24i,slave_slave_heartbeat_period=90,slave_slave_io_running=0i,slave_slave_non_transactional_groups=6i,slave_slave_received_heartbeats=38099i,slave_slave_sql_running=0i,slave_slave_sql_state="Slave has read all relay log; waiting for more updates",slave_slave_transactional_groups=0i,slave_sql_delay=0i,slave_until_condition="None",slave_until_log_pos=0i,slave_using_gtid=1i 1705488207000000000

With Telegraf 1.20.3 :

mysql,module=mysql/server,module_instance=myserver01,object=myserver01,object_class=OBV_MYQ_SERVER,server=/myqdata/myserver01/data/myserver01.sock slave_connect_retry=60i,slave_exec_master_log_pos=127817093i,slave_last_errno=0i,slave_last_io_errno=0i,slave_last_sql_errno=0i,slave_master_host="opspadb01",slave_master_log_file="myserver01_logbin.003777",slave_master_port=3306i,slave_master_server_id=3i,slave_master_ssl_allowed=0i,slave_master_ssl_verify_server_cert=0i,slave_master_user="replication",slave_parallel_mode="conservative",slave_read_master_log_pos=127817093i,slave_relay_log_file="myserver01_relaybin.002438",slave_relay_log_pos=93357597i,slave_relay_log_space=93357957i,slave_relay_master_log_file="myserver01_logbin.003777",slave_seconds_behind_master=0i,slave_skip_counter=0i,slave_slave_ddl_groups=1235i,slave_slave_io_running=1i,slave_slave_non_transactional_groups=0i,slave_slave_sql_running=1i,slave_slave_transactional_groups=166028170i,slave_sql_delay=0i,slave_until_condition="None",slave_until_log_pos=0i,slave_using_gtid=0i 1705489490000000000

I try to understand why ...
It look like if the Yes or true variables aren't convert to int.
perhaps because case ?

If we break connexion between slave and master, we have got with telegraf 1.29.2 :

mysql,channel=default,module=mysql/server,module_instance=myserver01,object=myserver01,object_class=OBV_MYQ_SERVER,server=/myqdata/myserver01/data/myserver01.sock slave_connect_retry=60i,slave_exec_master_log_pos=389i,slave_executed_log_entries=748i,slave_gtid_slave_pos="0-2-203",slave_last_errno=0i,slave_last_io_errno=0i,slave_last_sql_errno=0i,slave_master_host="10.118.21.140",slave_master_log_file="myserver01_logbin.000257",slave_master_port=3306i,slave_master_server_id=1i,slave_master_ssl_allowed="No",slave_master_ssl_verify_server_cert="No",slave_master_user="replication",slave_max_relay_log_size=268435456i,slave_parallel_mode="conservative",slave_read_master_log_pos=389i,slave_relay_log_file="myserver01_relaybin.000146",slave_relay_log_pos=692i,slave_relay_log_space=1052i,slave_relay_master_log_file="myserver01_logbin.000257",slave_retried_transactions=0i,slave_skip_counter=0i,slave_slave_ddl_groups=24i,slave_slave_heartbeat_period=90,slave_slave_io_running="Connecting",slave_slave_non_transactional_groups=6i,slave_slave_received_heartbeats=38116i,slave_slave_sql_running="Yes",slave_slave_sql_state="Slave has read all relay log; waiting for more updates",slave_slave_transactional_groups=0i,slave_sql_delay=0i,slave_until_condition="None",slave_until_log_pos=0i,slave_using_gtid="No" 1705489703000000000

As explain by @jnguiot in the following post :
#6671 (comment)
The slave_slave_io_running should have following values :
Yes
No
Connecting
Preparing

I understand your processors enum you proposed and implement this :

[[processors.enum]]
  [[processors.enum.mapping]]
    field = "slave_slave_io_running"
    dest = "slave_slave_io_running_int"
    default = 4
    [processors.enum.mapping.value_mappings]
      Yes = 0
      No = 1
      Preparing = 2
      Connecting = 3

@telegraf-tiger telegraf-tiger bot removed the waiting for response waiting for response from contributor label Jan 17, 2024
@powersj
Copy link
Contributor

powersj commented Jan 17, 2024

Thanks for the details, that is incredibly helpful and reminds me of: #10697

The parsing of those values changed around v1.20 with a PR, that probably should not have been merged.

I understand your processors enum you proposed and implement this :

That is a workaround. I'll talk to folks later today about the original issue and see how we want to handle this and get back to you.

@powersj
Copy link
Contributor

powersj commented Jan 19, 2024

@tguenneguez I tried creating two node cluster using mariadb-galera docker image and I do not see the slave_slave_io_running metric.

Using this config:

[[inputs.mysql]]
  servers = ["root:my_root_password@tcp(127.0.0.1:3306)/"]
  metric_version = 2
  gather_global_variables = true
  gather_process_list = true
  gather_slave_status = true

Do you have a docker-compose or something similar I can use to reproduce?

@tguenneguez
Copy link
Contributor Author

Sorry I doesn't use docker ...
SNIFF

@powersj
Copy link
Contributor

powersj commented Jan 19, 2024

So what do I need to do to reproduce this? It sounds like at a minimum get mariadb installed and then on a second node, set up clustering between the two?

@tguenneguez
Copy link
Contributor Author

Indeed, you need 2 mysql.
a master and a slave.
a configured replication.
the simplest is to cut the 3306 stream from the slave to the master.
Either wait and the slave should go into connecting.
Otherwise on the slave we do a “stop slave;” then "start slave;"

@powersj
Copy link
Contributor

powersj commented Jan 19, 2024

ok I used two incus containers running 22.04 with mariadb-server 10.6.12. I confirmed I have a 2 node cluster:

root@master:~# mysql -u root -p -e "show status like 'wsrep_%'" | grep cluster_size
Enter password: 
wsrep_cluster_size	2

Here are the metrics I get:

❯ ./telegraf --config config.toml --once
2024-01-19T20:26:53Z I! Loading config: config.toml
2024-01-19T20:26:53Z I! Starting Telegraf 1.30.0-9aee2681 brought to you by InfluxData the makers of InfluxDB
2024-01-19T20:26:53Z I! Available plugins: 241 inputs, 9 aggregators, 30 processors, 24 parsers, 60 outputs, 6 secret-stores
2024-01-19T20:26:53Z I! Loaded inputs: mysql
2024-01-19T20:26:53Z I! Loaded aggregators: 
2024-01-19T20:26:53Z I! Loaded processors: 
2024-01-19T20:26:53Z I! Loaded secretstores: 
2024-01-19T20:26:53Z I! Loaded outputs: file
2024-01-19T20:26:53Z I! Tags enabled: 
2024-01-19T20:26:53Z D! [agent] Initializing plugins
2024-01-19T20:26:53Z D! [agent] Connecting outputs
2024-01-19T20:26:53Z D! [agent] Attempting connection to [outputs.file]
2024-01-19T20:26:53Z D! [agent] Successfully connected to outputs.file
2024-01-19T20:26:53Z D! [agent] Starting service inputs
2024-01-19T20:26:53Z D! [agent] Stopping service inputs
2024-01-19T20:26:53Z D! [agent] Input channel closed
2024-01-19T20:26:53Z I! [agent] Hang on, flushing any cached metrics before shutdown
mysql,server=192.168.100.57:3306 aborted_clients=0i,aborted_connects=1i,aborted_connects_preauth=1i,acl_function_grants=0i,acl_procedure_grants=0i,acl_package_spec_grants=0i,acl_role_grants=0i,aria_pagecache_read_requests=54i,acl_column_grants=0i,acl_database_grants=0i,acl_package_body_grants=0i,acl_proxy_users=1i,acl_table_grants=1i,aria_pagecache_blocks_used=10i,access_denied_errors=0i,acl_roles=0i,acl_users=4i,aria_pagecache_blocks_not_flushed=2i,aria_pagecache_blocks_unused=15639i,aria_pagecache_reads=24i 1705696013000000000
mysql,server=192.168.100.57:3306 bytes_received=10259i,bytes_sent=62137i,binlog_group_commits=0i,binlog_group_commit_trigger_count=0i,binlog_group_commit_trigger_lock_wait=0i,binlog_stmt_cache_use=0i,aria_pagecache_writes=8i,binlog_bytes_written=0i,binlog_cache_use=0i,column_compressions=0i,aria_pagecache_write_requests=9i,aria_transaction_log_syncs=2i,binlog_group_commit_trigger_timeout=0i,binlog_stmt_cache_disk_use=0i,column_decompressions=0i,binlog_commits=0i,binlog_snapshot_position=0i,binlog_cache_disk_use=0i,busy_time=0 1705696013000000000
mysql,server=192.168.100.57:3306 com_backup_lock=0i,com_binlog=0i,com_alter_db=0i,com_alter_event=0i,com_analyze=0i,com_assign_to_keycache=0i,com_alter_user=0i,com_change_master=0i,com_admin_commands=0i,com_alter_db_upgrade=0i,com_alter_function=0i,com_alter_procedure=0i,com_alter_sequence=0i,com_alter_table=3i,com_backup=0i,com_call_procedure=0i,com_alter_server=0i,com_alter_tablespace=0i,com_begin=0i,com_change_db=0i 1705696013000000000
mysql,server=192.168.100.57:3306 com_checksum=0i,com_create_db=0i,com_create_event=0i,com_create_index=0i,com_create_view=0i,com_check=0i,com_create_server=0i,com_create_table=3i,com_create_function=0i,com_create_sequence=0i,com_create_trigger=0i,com_create_udf=0i,com_create_user=3i,com_commit=0i,com_compound_sql=0i,com_create_package=0i,com_create_package_body=0i,com_create_procedure=0i,com_create_role=0i,com_create_temporary_table=0i 1705696013000000000
mysql,server=192.168.100.57:3306 com_do=0i,com_drop_package=0i,com_drop_package_body=0i,com_drop_server=0i,com_drop_sequence=0i,com_drop_table=0i,com_dealloc_sql=0i,com_drop_event=0i,com_drop_view=0i,com_delete_multi=0i,com_drop_function=0i,com_drop_index=0i,com_empty_query=0i,com_delete=4i,com_drop_procedure=0i,com_drop_role=0i,com_drop_temporary_table=0i,com_drop_trigger=0i,com_drop_user=0i,com_drop_db=0i 1705696013000000000
mysql,server=192.168.100.57:3306 com_kill=0i,com_lock_tables=0i,com_optimize=0i,com_prepare_sql=0i,com_help=0i,com_flush=1i,com_grant=4i,com_ha_close=0i,com_ha_open=0i,com_insert_select=0i,com_preload_keys=0i,com_execute_immediate=0i,com_grant_role=0i,com_install_plugin=0i,com_get_diagnostics=0i,com_ha_read=0i,com_insert=0i,com_load=0i,com_purge=0i,com_execute_sql=0i 1705696013000000000
mysql,server=192.168.100.57:3306 com_purge_before_date=0i,com_rename_user=0i,com_reset=0i,com_revoke_role=0i,com_rollback=0i,com_select=32i,com_show_binlogs=0i,com_release_savepoint=0i,com_rename_table=0i,com_revoke=0i,com_rollback_to_savepoint=0i,com_savepoint=0i,com_replace=0i,com_replace_select=0i,com_resignal=0i,com_revoke_all=0i,com_show_authors=0i,com_repair=0i,com_set_option=1i,com_show_binlog_events=0i 1705696013000000000
mysql,server=192.168.100.57:3306 com_show_create_user=0i,com_show_errors=0i,com_show_charsets=0i,com_show_contributors=0i,com_show_create_db=0i,com_show_create_table=0i,com_show_engine_status=0i,com_show_events=0i,com_show_explain=0i,com_show_fields=0i,com_show_collations=0i,com_show_create_event=0i,com_show_create_package=0i,com_show_create_proc=0i,com_show_databases=0i,com_show_engine_mutex=0i,com_show_create_func=0i,com_show_create_package_body=0i,com_show_create_trigger=0i,com_show_engine_logs=0i 1705696013000000000
mysql,server=192.168.100.57:3306 com_show_function_status=0i,com_show_binlog_status=0i,com_show_open_tables=0i,com_show_package_status=0i,com_show_processlist=0i,com_show_relaylog_events=0i,com_show_table_status=0i,com_show_generic=0i,com_show_package_body_status=0i,com_show_privileges=0i,com_show_procedure_status=0i,com_show_slave_status=2i,com_show_status=8i,com_show_grants=0i,com_show_keys=0i,com_show_plugins=0i,com_show_profile=0i,com_show_profiles=0i,com_show_slave_hosts=0i,com_show_storage_engines=0i 1705696013000000000
mysql,server=192.168.100.57:3306 com_show_triggers=0i,com_show_variables=1i,com_show_warnings=0i,com_start_slave=0i,com_stmt_reset=0i,com_uninstall_plugin=0i,com_signal=0i,com_stmt_fetch=0i,com_stop_all_slaves=0i,com_stop_slave=0i,com_truncate=0i,com_unlock_tables=0i,com_shutdown=0i,com_stmt_execute=0i,com_show_tables=0i,com_start_all_slaves=0i,com_stmt_close=0i,com_stmt_prepare=0i,com_stmt_reprepare=0i,com_stmt_send_long_data=0i 1705696013000000000
mysql,server=192.168.100.57:3306 com_xa_commit=0i,com_xa_end=0i,com_xa_start=0i,connection_errors_internal=0i,cpu_time=0,com_xa_prepare=0i,connection_errors_max_connections=0i,connection_errors_peer_address=0i,created_tmp_disk_tables=4i,com_xa_rollback=0i,compression=0i,connection_errors_accept=0i,connection_errors_select=0i,created_tmp_tables=18i,com_update=0i,com_update_multi=0i,com_xa_recover=0i,connection_errors_tcpwrap=0i,connections=45i,created_tmp_files=4i 1705696013000000000
mysql,server=192.168.100.57:3306 delayed_insert_threads=0i,delayed_writes=0i,feature_application_time_periods=0i,feature_dynamic_columns=0i,feature_gis=0i,delete_scan=4i,feature_check_constraint=2i,feature_custom_aggregate_functions=0i,feature_delay_key_write=0i,feature_invisible_columns=0i,feature_system_versioning=0i,delayed_errors=0i,feature_insert_returning=0i,feature_json=49i,feature_subquery=0i,empty_queries=25i,executed_events=0i,executed_triggers=0i,feature_fulltext=0i,feature_locale=0i 1705696013000000000
mysql,server=192.168.100.57:3306 handler_mrr_key_refills=0i,handler_read_last=0i,handler_read_next=1i,handler_read_retry=0i,handler_icp_attempts=0i,handler_mrr_init=0i,handler_external_lock=0i,handler_icp_match=0i,handler_read_key=148i,feature_window_functions=0i,feature_xml=0i,handler_discover=0i,feature_trigger=0i,handler_commit=50i,handler_mrr_rowid_refills=0i,handler_prepare=0i,handler_read_first=3i,handler_read_prev=0i,feature_timezone=0i,handler_delete=2i 1705696013000000000
mysql,server=192.168.100.57:3306 handler_read_rnd=6i,handler_tmp_write=1754i,handler_tmp_update=2i,handler_update=1i,handler_write=6i,innodb_adaptive_hash_non_hash_searches=0i,innodb_background_log_sync=467i,innodb_buffer_pool_pages_data=316i,innodb_buffer_pool_bytes_data=5177344i,handler_read_rnd_deleted=0i,handler_rollback=5i,handler_savepoint=0i,handler_savepoint_rollback=0i,innodb_buffer_pool_load_status="Buffer pool(s) load completed at 240119 20:19:06",innodb_buffer_pool_load_incomplete=0i,handler_read_rnd_next=1802i,handler_tmp_delete=0i,innodb_adaptive_hash_hash_searches=0i 1705696013000000000
mysql,server=192.168.100.57:3306 innodb_buffer_pool_pages_made_not_young=0i,innodb_buffer_pool_reads=171i,innodb_buffer_pool_write_requests=1299i,innodb_buffer_pool_pages_flushed=153i,innodb_buffer_pool_read_ahead_rnd=0i,innodb_buffer_pool_read_ahead=0i,innodb_buffer_pool_pages_free=7796i,innodb_buffer_pool_pages_made_young=0i,innodb_buffer_pool_pages_old=0i,innodb_buffer_pool_pages_total=8112i,innodb_buffer_pool_pages_lru_flushed=0i,innodb_buffer_pool_read_requests=2655i,innodb_buffer_pool_wait_free=0i,innodb_checkpoint_age=8614i,innodb_buffer_pool_pages_dirty=130i,innodb_checkpoint_max_age=80827823i,innodb_buffer_pool_pages_misc=0i,innodb_buffer_pool_pages_lru_freed=0i,innodb_buffer_pool_read_ahead_evicted=0i,innodb_buffer_pool_bytes_dirty=2129920i 1705696013000000000
mysql,server=192.168.100.57:3306 innodb_data_reads=186i,innodb_data_written=2506891i,innodb_ibuf_discarded_delete_marks=0i,innodb_ibuf_discarded_deletes=0i,innodb_ibuf_merged_delete_marks=0i,innodb_ibuf_merged_inserts=0i,innodb_ibuf_merges=0i,innodb_data_pending_reads=0i,innodb_data_pending_fsyncs=0i,innodb_dblwr_pages_written=139i,innodb_dblwr_writes=2i,innodb_deadlocks=0i,innodb_data_fsyncs=42i,innodb_history_list_length=0i,innodb_ibuf_free_list=0i,innodb_data_pending_writes=0i,innodb_data_writes=187i,innodb_ibuf_discarded_inserts=0i,innodb_ibuf_merged_deletes=0i,innodb_data_read=2801664i 1705696013000000000
mysql,server=192.168.100.57:3306 innodb_mem_adaptive_hash=0i,innodb_os_log_pending_fsyncs=0i,innodb_log_waits=0i,innodb_log_write_requests=40i,innodb_lsn_current=59365i,innodb_master_thread_idle_loops=467i,innodb_max_trx_id=28i,innodb_os_log_written=47616i,innodb_ibuf_segment_size=2i,innodb_ibuf_size=1i,innodb_mem_dictionary=862248i,innodb_page_size=16384i,innodb_pages_created=145i,innodb_log_writes=32i,innodb_master_thread_active_loops=0i,innodb_os_log_fsyncs=32i,innodb_os_log_pending_writes=0i,innodb_pages_read=171i,innodb_lsn_flushed=59365i,innodb_lsn_last_checkpoint=50751i 1705696013000000000
mysql,server=192.168.100.57:3306 innodb_row_lock_time_avg=0i,innodb_num_open_files=9i,innodb_rows_updated=0i,innodb_system_rows_deleted=2i,innodb_system_rows_read=4i,innodb_system_rows_updated=0i,innodb_available_undo_logs=128i,innodb_pages_written=153i,innodb_row_lock_current_waits=0i,innodb_rows_deleted=0i,innodb_page_compression_saved=0i,innodb_num_pages_page_compressed=0i,innodb_rows_read=0i,innodb_system_rows_inserted=5i,innodb_undo_truncations=0i,innodb_row_lock_time=0i,innodb_row_lock_waits=0i,innodb_rows_inserted=0i,innodb_row_lock_time_max=0i,innodb_truncated_status_writes=0i 1705696013000000000
mysql,server=192.168.100.57:3306 innodb_defragment_count=0i,innodb_onlineddl_pct_progress=0i,innodb_secondary_index_triggered_cluster_reads=0i,innodb_num_pages_decrypted=0i,innodb_have_lz4=1i,innodb_defragment_compression_failures=0i,innodb_have_snappy=1i,innodb_onlineddl_rowlog_rows=0i,innodb_secondary_index_triggered_cluster_reads_avoided=0i,innodb_num_page_compressed_trim_op=0i,innodb_num_pages_page_compression_error=0i,innodb_have_lzma=0i,innodb_have_punch_hole=1i,innodb_instant_alter_column=0i,innodb_num_pages_page_decompressed=0i,innodb_have_lzo=0i,innodb_have_bzip2=0i,innodb_num_pages_encrypted=0i,innodb_defragment_failures=0i,innodb_onlineddl_rowlog_pct_used=0i 1705696013000000000
mysql,server=192.168.100.57:3306 innodb_encryption_n_merge_blocks_encrypted=0i,innodb_encryption_n_temp_blocks_decrypted=0i,innodb_encryption_rotation_pages_modified=0i,innodb_encryption_n_merge_blocks_decrypted=0i,innodb_encryption_n_temp_blocks_encrypted=0i,key_blocks_not_flushed=0i,key_reads=0i,key_writes=0i,innodb_encryption_n_rowlog_blocks_encrypted=0i,innodb_encryption_num_key_requests=0i,key_blocks_unused=107163i,key_blocks_used=0i,key_write_requests=0i,innodb_encryption_rotation_pages_read_from_cache=0i,innodb_encryption_rotation_pages_read_from_disk=0i,innodb_encryption_rotation_pages_flushed=0i,innodb_encryption_rotation_estimated_iops=0i,innodb_encryption_n_rowlog_blocks_decrypted=0i,key_blocks_warm=0i,key_read_requests=0i 1705696013000000000
mysql,server=192.168.100.57:3306 open_tables=7i,opened_tables=45i,opened_views=1i,performance_schema_accounts_lost=0i,memory_used=35123192i,memory_used_initial=34562800i,open_table_definitions=7i,opened_plugin_libraries=0i,master_gtid_wait_timeouts=0i,not_flushed_delayed_rows=0i,max_statement_time_exceeded=0i,performance_schema_cond_classes_lost=0i,master_gtid_wait_time=0i,max_used_connections=2i,open_files=20i,open_streams=4i,opened_files=388i,opened_table_definitions=50i,last_query_cost=0,master_gtid_wait_count=0i 1705696013000000000
mysql,server=192.168.100.57:3306 performance_schema_digest_lost=0i,performance_schema_memory_classes_lost=0i,performance_schema_rwlock_instances_lost=0i,performance_schema_file_classes_lost=0i,performance_schema_file_handles_lost=0i,performance_schema_hosts_lost=0i,performance_schema_metadata_lock_lost=0i,performance_schema_nested_statement_lost=0i,performance_schema_prepared_statements_lost=0i,performance_schema_rwlock_classes_lost=0i,performance_schema_socket_classes_lost=0i,performance_schema_file_instances_lost=0i,performance_schema_index_stat_lost=0i,performance_schema_mutex_classes_lost=0i,performance_schema_mutex_instances_lost=0i,performance_schema_session_connect_attrs_lost=0i,performance_schema_cond_instances_lost=0i,performance_schema_locker_lost=0i,performance_schema_program_lost=0i,performance_schema_socket_instances_lost=0i 1705696013000000000
mysql,server=192.168.100.57:3306 performance_schema_table_instances_lost=0i,qcache_total_blocks=1i,performance_schema_statement_classes_lost=0i,performance_schema_table_lock_stat_lost=0i,performance_schema_thread_classes_lost=0i,qcache_free_memory=1031304i,qcache_hits=0i,qcache_inserts=0i,resultset_metadata_skipped=0i,performance_schema_stage_classes_lost=0i,performance_schema_users_lost=0i,prepared_stmt_count=0i,qcache_lowmem_prunes=0i,qcache_not_cached=0i,qcache_queries_in_cache=0i,queries=97i,performance_schema_table_handles_lost=0i,performance_schema_thread_instances_lost=0i,qcache_free_blocks=1i,questions=85i 1705696013000000000
mysql,server=192.168.100.57:3306 rows_tmp_read=1759i,rpl_semi_sync_master_get_ack=0i,rpl_semi_sync_master_net_avg_wait_time=0i,rpl_semi_sync_master_request_ack=0i,rpl_semi_sync_slave_send_ack=0i,rpl_semi_sync_master_yes_tx=0i,rows_sent=1627i,rpl_semi_sync_master_clients=0i,rpl_semi_sync_master_net_waits=0i,rpl_semi_sync_master_no_times=0i,rpl_semi_sync_master_wait_pos_backtraverse=0i,rpl_semi_sync_master_wait_sessions=0i,rows_read=14i,rpl_semi_sync_master_net_wait_time=0i,rpl_semi_sync_master_status=0i,rpl_semi_sync_master_tx_avg_wait_time=0i,rpl_semi_sync_master_tx_wait_time=0i,rpl_semi_sync_master_no_tx=0i,rpl_semi_sync_master_timefunc_failures=0i,rpl_semi_sync_master_tx_waits=0i 1705696013000000000
mysql,server=192.168.100.57:3306 slave_skipped_errors=0i,rpl_transactions_multi_engine=0i,select_scan=15i,slave_open_temp_tables=0i,slave_received_heartbeats=0i,slave_running=0i,rpl_status="AUTH_MASTER",select_range=0i,slave_retried_transactions=0i,select_full_range_join=0i,select_range_check=0i,slaves_running=0i,slow_launch_threads=0i,sort_merge_passes=0i,slow_queries=0i,rpl_semi_sync_slave_status=0i,select_full_join=0i,slave_connections=0i,slave_heartbeat_period=0,slaves_connected=0i 1705696013000000000
mysql,server=192.168.100.57:3306 sort_range=0i,sort_rows=6i,ssl_accept_renegotiates=0i,ssl_callback_cache_hits=0i,ssl_connect_renegotiates=0i,ssl_ctx_verify_depth=0i,ssl_ctx_verify_mode=0i,sort_priority_queue_sorts=0i,ssl_accepts=0i,ssl_default_timeout=0i,ssl_finished_accepts=0i,sort_scan=2i,ssl_client_connects=0i,ssl_finished_connects=0i,ssl_session_cache_hits=0i,ssl_session_cache_misses=0i 1705696013000000000
mysql,server=192.168.100.57:3306 tc_log_max_pages_used=0i,ssl_session_cache_overflows=0i,ssl_sessions_reused=0i,table_locks_immediate=105i,ssl_session_cache_size=0i,ssl_used_session_cache_entries=0i,subquery_cache_hit=0i,syncs=109i,table_locks_waited=0i,table_open_cache_misses=46i,tc_log_page_size=4096i,ssl_session_cache_mode="NONE",ssl_session_cache_timeouts=0i,subquery_cache_miss=0i,table_open_cache_active_instances=1i,table_open_cache_hits=77i,table_open_cache_overflows=0i,ssl_verify_depth=0i,ssl_verify_mode=0i 1705696013000000000
mysql,server=192.168.100.57:3306 transactions_gtid_foreign_engine=0i,transactions_multi_engine=0i,update_scan=0i,wsrep_last_committed=9i,threads_running=1i,threadpool_idle_threads=0i,threadpool_threads=0i,threads_cached=0i,uptime_since_flush_status=467i,wsrep_local_state_uuid="fedf18f7-b707-11ee-ad08-9a4f0d426a54",tc_log_page_waits=0i,threads_created=4i,uptime=467i,wsrep_replicated=5i,wsrep_replicated_bytes=2520i,wsrep_repl_keys=5i,wsrep_repl_keys_bytes=160i,threads_connected=2i,wsrep_repl_data_bytes=2030i,wsrep_protocol_version=10i 1705696013000000000
mysql,server=192.168.100.57:3306 wsrep_flow_control_recv=0i,wsrep_repl_other_bytes=0i,wsrep_local_commits=0i,wsrep_local_send_queue_min=0i,wsrep_local_recv_queue_max=2i,wsrep_flow_control_paused=0i,wsrep_flow_control_sent=0i,wsrep_received=8i,wsrep_local_send_queue=0i,wsrep_local_send_queue_max=1i,wsrep_local_recv_queue_avg=0.125,wsrep_flow_control_paused_ns=0i,wsrep_local_cert_failures=0i,wsrep_local_send_queue_avg=0,wsrep_local_recv_queue_min=0i,wsrep_local_cached_downto=1i,wsrep_received_bytes=1462i,wsrep_local_replays=0i,wsrep_local_recv_queue=0i,wsrep_flow_control_active="false" 1705696013000000000
mysql,server=192.168.100.57:3306 wsrep_apply_oooe=0i,wsrep_apply_oool=0i,wsrep_causal_reads=0i,wsrep_cert_deps_distance=1i,wsrep_apply_waits=0i,wsrep_commit_oool=0i,wsrep_incoming_addresses="192.168.100.11:0,192.168.100.57:0",wsrep_flow_control_requested="false",wsrep_commit_oooe=0i,wsrep_local_state=4i,wsrep_cert_interval=0i,wsrep_cluster_weight=2i,wsrep_desync_count=0i,wsrep_apply_window=1i,wsrep_commit_window=1i,wsrep_local_state_comment="Synced",wsrep_cert_index_size=1i,wsrep_open_transactions=0i,wsrep_open_connections=0i 1705696013000000000
mysql,server=192.168.100.57:3306 wsrep_evs_state="OPERATIONAL",wsrep_local_bf_aborts=0i,wsrep_rollbacker_thread_count=1i,wsrep_ready=1i,wsrep_applier_thread_count=1i,wsrep_local_index=1i,wsrep_provider_name="Galera",wsrep_provider_vendor="Codership Oy <[email protected]>",wsrep_evs_repl_latency="0/0/0/0/0",wsrep_gmcast_segment=0i,wsrep_cluster_conf_id=2i,wsrep_cluster_size=2i,wsrep_provider_capabilities=":MULTI_MASTER:CERTIFICATION:PARALLEL_APPLYING:TRX_REPLAY:ISOLATION:PAUSE:CAUSAL_READS:INCREMENTAL_WRITESET:UNORDERED:PREORDERED:STREAMING:NBO:",wsrep_provider_version="4.9(rcece3ba2)",wsrep_gcomm_uuid="feded7ef-b707-11ee-bed0-93a28af1de7d",wsrep_cluster_state_uuid="fedf18f7-b707-11ee-ad08-9a4f0d426a54",wsrep_cluster_status="Primary",wsrep_connected=1i 1705696013000000000
mysql,server=192.168.100.57:3306 wsrep_thread_count=2i 1705696013000000000
mysql_process_list,server=192.168.100.57:3306 threads_sorting_for_order=0i,threads_waiting_for_tables=0i,threads_searching_rows_for_update=0i,threads_statistics=0i,threads_rolling_back=0i,threads_after_create=0i,threads_optimizing=0i,threads_sorting_result=0i,threads_closing_tables=0i,threads_waiting_on_cond=0i,threads_updating=0i,threads_creating_tmp_table=0i,threads_init=0i,threads_flushing_tables=0i,threads_creating_sort_index=0i,threads_sorting_index=0i,threads_repair_with_keycache=0i,threads_fulltext_initialization=0i,threads_reopen_tables=0i,threads_reading_from_net=0i,threads_removing_tmp_table=0i,threads_removing_duplicates=0i,threads_freeing_items=0i,threads_sending_data=0i,threads_login=0i,threads_waiting_for_lock=0i,threads_deleting=0i,threads_altering_table=0i,threads_cleaning_up=0i,threads_preparing=0i,threads_sorting_for_group=0i,threads_other=2i,threads_checking_table=0i,threads_end=0i,threads_analyzing=0i,threads_opening_tables=0i,threads_manage_keys=0i,threads_waiting_for_table_flush=0i,threads_checking_permissions=0i,threads_execution_of_init_command=0i,threads_executing=0i,threads_repair_by_sorting=0i,threads_replication_master=0i,threads_writing_to_net=0i,threads_repair_done=0i,threads_logging_slow_query=0i,threads_copying_to_tmp_table=0i,threads_idle=1i,threads_killed=0i,threads_creating_table=0i,threads_converting_heap_to_myisam=0i 1705696013000000000
mysql_users,server=192.168.100.57:3306,user=admin connections=1i 1705696013000000000
mysql_users,server=192.168.100.57:3306,user=root connections=1i 1705696013000000000
mysql_users,server=192.168.100.57:3306,user=system\ user connections=2i 1705696013000000000

What else am I missing?

@powersj powersj added the waiting for response waiting for response from contributor label Jan 19, 2024
@powersj
Copy link
Contributor

powersj commented Jan 19, 2024

ah I had to get replication going as well...

In v1.20.3:

mysql,server=192.168.100.57:3306 slave_last_sql_errno=0i,slave_slave_non_transactional_groups=0i,slave_connect_retry=60i,slave_master_log_file="mysql-bin.000002",slave_parallel_mode="optimistic",slave_sql_delay=0i,slave_slave_sql_running_state="Slave has read all relay log; waiting for more updates",slave_seconds_behind_master=0i,slave_using_gtid=0i,slave_master_server_id=2i,slave_master_host="192.168.100.11",slave_master_port=3306i,slave_until_log_pos=0i,slave_slave_ddl_groups=0i,slave_relay_log_pos=627i,slave_skip_counter=0i,slave_slave_transactional_groups=0i,slave_master_user="repl_user",slave_relay_log_file="mysqld-relay-bin.000003",slave_master_ssl_allowed=1i,slave_slave_io_state="Waiting for master to send event",slave_exec_master_log_pos=328i,slave_last_errno=0i,slave_relay_log_space=1308i,slave_slave_io_running=1i,slave_slave_sql_running=1i,slave_until_condition="None",slave_master_ssl_verify_server_cert=0i,slave_last_io_errno=0i,slave_read_master_log_pos=328i,slave_relay_master_log_file="mysql-bin.000002" 1705697574000000000

slave_slave_io_running=1i

In v1.20.4:

mysql,server=192.168.100.57:3306 slave_slave_sql_running_state="Slave has read all relay log; waiting for more updates",slave_read_master_log_pos=328i,slave_relay_log_file="mysqld-relay-bin.000003",slave_relay_master_log_file="mysql-bin.000002",slave_until_condition="None",slave_master_port=3306i,slave_last_errno=0i,slave_using_gtid="No",slave_slave_non_transactional_groups=0i,slave_master_ssl_allowed="Yes",slave_seconds_behind_master=0i,slave_connect_retry=60i,slave_master_user="repl_user",slave_master_log_file="mysql-bin.000002",slave_relay_log_space=1308i,slave_last_io_errno=0i,slave_sql_delay=0i,slave_slave_ddl_groups=0i,slave_slave_io_state="Waiting for master to send event",slave_master_host="192.168.100.11",slave_skip_counter=0i,slave_exec_master_log_pos=328i,slave_master_ssl_verify_server_cert="No",slave_last_sql_errno=0i,slave_slave_transactional_groups=0i,slave_relay_log_pos=627i,slave_slave_sql_running="Yes",slave_master_server_id=2i,slave_parallel_mode="optimistic",slave_slave_io_running="Yes",slave_until_log_pos=0i 1705697570000000000

slave_slave_io_running="Yes"

@telegraf-tiger telegraf-tiger bot removed the waiting for response waiting for response from contributor label Jan 19, 2024
@powersj
Copy link
Contributor

powersj commented Jan 19, 2024

ok so here is what happened, previous telegraf had a ParseValue function that would compare the value to "Yes" or "No" and convert that to 1 or 0. The new ParseValue function will compare to "YES" or "NO", and otherwise store it as a string.

The field in question, slave_slave_io_running, has more values than just "Yes" and "No", it also has "Connecting" as you have pointed out.

My current end-of-the week belief is that we should not make any further changes here and instead document the use of the enum processor. THere is no telling how many other states could be added or if other fields run into this. We should not start adding other values for "Connecting" and any future state. Another issue example, #6671, points out the need to have multiple different values and a disagreement on which should be 0 ;)

I'll leave this for now, but will come back with a decision next week.

@tguenneguez
Copy link
Contributor Author

I'm quite in line with your point of view, but it needs to be documented.
There is no sample in the doc of this plugin also.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug unexpected problem or unintended behavior
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants