telegraf: MySQL plugin: received error partial write
Relevant telegraf.conf:
# # Read metrics from one or many mysql servers
[[inputs.mysql]]
# ## specify servers via a url matching:
# ## [username[:password]@][protocol[(address)]]/[?tls=[true|false|skip-verify|custom]]
# ## see https://github.com/go-sql-driver/mysql#dsn-data-source-name
# ## e.g.
# ## servers = ["user:passwd@tcp(127.0.0.1:3306)/?tls=false"]
# ## servers = ["user@tcp(127.0.0.1:3306)/?tls=false"]
# #
# ## If no servers are specified, then localhost is used as the host.
# servers = ["tcp(127.0.0.1:3306)/"]
# servers = telegraf@unix
servers = ["telegraf@unix(/var/run/mysqld/mysqld.sock)/information_schema"]
#
# ## Selects the metric output format.
# ##
# ## This option exists to maintain backwards compatibility, if you have
# ## existing metrics do not set or change this value until you are ready to
# ## migrate to the new format.
# ##
# ## If you do not have existing metrics from this plugin set to the latest
# ## version.
# ##
# ## Telegraf >=1.6: metric_version = 2
# ## <1.6: metric_version = 1 (or unset)
metric_version = 2
#
# ## the limits for metrics form perf_events_statements
perf_events_statements_digest_text_limit = 120
perf_events_statements_limit = 250
perf_events_statements_time_limit = 86400
# #
# ## if the list is empty, then metrics are gathered from all databasee tables
# table_schema_databases = []
# #
# ## gather metrics from INFORMATION_SCHEMA.TABLES for databases provided above list
gather_table_schema = false
# #
# ## gather thread state counts from INFORMATION_SCHEMA.PROCESSLIST
gather_process_list = true
# #
# ## gather user statistics from INFORMATION_SCHEMA.USER_STATISTICS
gather_user_statistics = true
# #
# ## gather auto_increment columns and max values from information schema
gather_info_schema_auto_inc = true
# #
# ## gather metrics from INFORMATION_SCHEMA.INNODB_METRICS
gather_innodb_metrics = true
# #
# ## gather metrics from SHOW SLAVE STATUS command output
gather_slave_status = false
# #
# ## gather metrics from SHOW BINARY LOGS command output
gather_binary_logs = false
# #
# ## gather metrics from PERFORMANCE_SCHEMA.TABLE_IO_WAITS_SUMMARY_BY_TABLE
gather_table_io_waits = true
# #
# ## gather metrics from PERFORMANCE_SCHEMA.TABLE_LOCK_WAITS
gather_table_lock_waits = false
# #
# ## gather metrics from PERFORMANCE_SCHEMA.TABLE_IO_WAITS_SUMMARY_BY_INDEX_USAGE
gather_index_io_waits = false
# #
# ## gather metrics from PERFORMANCE_SCHEMA.EVENT_WAITS
gather_event_waits = false
# #
# ## gather metrics from PERFORMANCE_SCHEMA.FILE_SUMMARY_BY_EVENT_NAME
gather_file_events_stats = false
# #
# ## gather metrics from PERFORMANCE_SCHEMA.EVENTS_STATEMENTS_SUMMARY_BY_DIGEST
gather_perf_events_statements = false
# #
# ## Some queries we may want to run less often (such as SHOW GLOBAL VARIABLES)
interval_slow = "1h"
#
# ## Optional TLS Config (will be used if tls=custom parameter specified in server uri)
# # tls_ca = "/etc/telegraf/ca.pem"
# # tls_cert = "/etc/telegraf/cert.pem"
# # tls_key = "/etc/telegraf/key.pem"
# ## Use TLS but skip chain & host verification
# # insecure_skip_verify = false
System info:
Telegraf 1.9, Ubuntu 18.04, MariaDB 10.3
Steps to reproduce:
A couple of weeks ago I activated the mysql plugin the first time on an Ubuntu 14.04 host with MySQL 5.6.33 and telegraf 1.8 with the config above. Then I eneabled the same config on the new host with newer versions.
Expected behavior:
no error messages
Actual behavior:
2018-11-28T20:51:40Z E! [outputs.influxdb]: when writing to [https://idb.example.com:8082]: received error partial write: field type conflict: input field “ssl_ctx_verify_depth” on measurement “mysql” is type float, already exists as type integer dropped=1; discarding points
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Reactions: 1
- Comments: 29 (16 by maintainers)
Commits related to this issue
- Fix inconsistent metric types in mysql Fixes #8319, #5711, #5055, #7421 See #5529, #6624 This could be easily extended to fix #6671 as well — committed to fxedel/telegraf by fxedel 3 years ago
- Fix inconsistent metric types in mysql Fixes #8319, #5711, #5055, #7421 See #5529, #6624 This could be easily extended to fix #6671 as well — committed to fxedel/telegraf by fxedel 3 years ago
- Parse some wsrep variables as float (see #5055) — committed to fxedel/telegraf by fxedel 3 years ago
Wsrep is not fully supported by the Telegraf’s MySQL plugin. I created an extended version of it here: https://github.com/go-extras/telegraf-mysql-wsrep