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

[outputs_postgresql] Problem with long column name #15964

Open
Lumiond opened this issue Oct 2, 2024 · 0 comments
Open

[outputs_postgresql] Problem with long column name #15964

Lumiond opened this issue Oct 2, 2024 · 0 comments
Labels
bug unexpected problem or unintended behavior

Comments

@Lumiond
Copy link

Lumiond commented Oct 2, 2024

Relevant telegraf.conf

[global_tags]
[agent]
  interval = "10s"
  round_interval = true
  metric_batch_size = 1000
  metric_buffer_limit = 10000
  collection_jitter = "0s"
  flush_interval = "10s"
  flush_jitter = "0s"
  precision = ""
  hostname = ""
  omit_hostname = false
  debug = false
  quiet = false
  logtarget = "file"
  logfile = "/var/log/telegraf/telegraf.log"

[[outputs.postgresql]]
  connection = "host=192.168.1.2 user=telegraf password=telegraf sslmode=disable dbname=sysmetrics"

  create_templates = [
    '''CREATE TABLE IF NOT EXISTS {{.table}}({{.allColumns}})''',
    '''SELECT create_hypertable({{.table|quoteLiteral}},'time',chunk_time_interval := INTERVAL '1 week',if_not_exists := true)''',
    '''SELECT add_retention_policy({{ .table|quoteLiteral }}, INTERVAL '8 week')''',
  ]

[[inputs.elasticsearch]]
  servers = ["https://192.168.1.3:9200"]

  http_timeout = "5s"

  local = false
  cluster_health = true

  cluster_stats = true
  cluster_stats_only_from_master = true

  indices_include = ["_all"]
  indices_level = "shards"

  node_stats = ["os", "process", "fs", "transport"]

  username = "admin"
  password = "admin"

  tls_ca = "/etc/opensearch/root-ca.pem"
  insecure_skip_verify = true

Logs from Telegraf

2024-10-02T12:47:04Z I! Loading config: /etc/telegraf/telegraf.conf
2024-10-02T12:47:04Z W! DeprecationWarning: Option "http_timeout" of plugin "inputs.elasticsearch" deprecated since version 1.29.0 and will be removed in 1.35.0: use 'timeout' instead
2024-10-02T12:47:04Z W! Agent setting "logtarget" is deprecated, please just set "logfile" and remove this setting! The setting will be removed in v1.40.0.
2024-10-02T12:47:04Z I! Starting Telegraf 1.32.0 brought to you by InfluxData the makers of InfluxDB
2024-10-02T12:47:04Z I! Available plugins: 235 inputs, 9 aggregators, 32 processors, 26 parsers, 62 outputs, 6 secret-stores
2024-10-02T12:47:04Z I! Loaded inputs: elasticsearch
2024-10-02T12:47:04Z I! Loaded aggregators:
2024-10-02T12:47:04Z I! Loaded processors:
2024-10-02T12:47:04Z I! Loaded secretstores:
2024-10-02T12:47:04Z I! Loaded outputs: postgresql
2024-10-02T12:47:04Z I! Tags enabled: host=tst-opnsrch
2024-10-02T12:47:04Z W! Deprecated inputs: 0 and 1 options
2024-10-02T12:47:04Z I! [agent] Config: Interval:10s, Quiet:false, Hostname:"tst-opnsrch", Flush Interval:10s
2024-10-02T12:47:14Z E! [outputs.postgresql] Column name too long: "segments_remote_store_download_total_download_size_started_bytes"
2024-10-02T12:47:14Z E! [outputs.postgresql] Column name too long: "segments_remote_store_download_total_download_size_succeeded_bytes"
2024-10-02T12:47:14Z E! [outputs.postgresql] Table "elasticsearch_clusterstats_indices" is missing columns (omitting fields): segments_remote_store_download_total_download_size_started_bytes double precision, segments_remote_store_download_total_download_size_succeeded_bytes double precision
2024-10-02T12:47:14Z E! [outputs.postgresql] Column name too long: "network_types_http_types_org.opensearch.security.http.SecurityHttpServerTransport"
2024-10-02T12:47:14Z E! [outputs.postgresql] Column name too long: "network_types_transport_types_org.opensearch.security.ssl.http.netty.SecuritySSLNettyTransport"
2024-10-02T12:47:14Z E! [outputs.postgresql] Table "elasticsearch_clusterstats_nodes" is missing columns (omitting fields): network_types_http_types_org.opensearch.security.http.SecurityHttpServerTransport double precision, network_types_transport_types_org.opensearch.security.ssl.http.netty.SecuritySSLNettyTransport double precision
2024-10-02T12:47:14Z E! [outputs.postgresql] Column name too long: "__segments_remote_store_download_total_download_size_failed_bytes"
2024-10-02T12:47:14Z E! [outputs.postgresql] Column name too long: "__segments_remote_store_download_total_download_size_started_bytes"
2024-10-02T12:47:14Z E! [outputs.postgresql] Column name too long: "__segments_remote_store_download_total_download_size_succeeded_bytes"
2024-10-02T12:47:14Z E! [outputs.postgresql] Column name too long: "__segments_remote_store_upload_total_upload_size_succeeded_bytes"
2024-10-02T12:47:14Z E! [outputs.postgresql] Column name too long: "__translog_remote_store_upload_total_upload_size_succeeded_bytes"
2024-10-02T12:47:14Z E! [outputs.postgresql] Column name too long: "segments_remote_store_download_total_download_size_started_bytes"
2024-10-02T12:47:14Z E! [outputs.postgresql] Column name too long: "segments_remote_store_download_total_download_size_succeeded_bytes"
2024-10-02T12:47:14Z E! [outputs.postgresql] Table "elasticsearch_indices_stats_primaries" is missing columns (omitting fields): __segments_remote_store_download_total_download_size_failed_bytes double precision, __segments_remote_store_download_total_download_size_started_bytes double precision, __segments_remote_store_download_total_download_size_succeeded_bytes double precision, __segments_remote_store_upload_total_upload_size_succeeded_bytes double precision, __translog_remote_store_upload_total_upload_size_succeeded_bytes double precision, segments_remote_store_download_total_download_size_started_bytes double precision, segments_remote_store_download_total_download_size_succeeded_bytes double precision
2024-10-02T12:47:14Z E! [outputs.postgresql] Column name too long: "__segments_remote_store_download_total_download_size_failed_bytes"
2024-10-02T12:47:14Z E! [outputs.postgresql] Column name too long: "__segments_remote_store_download_total_download_size_started_bytes"
2024-10-02T12:47:14Z E! [outputs.postgresql] Column name too long: "__segments_remote_store_download_total_download_size_succeeded_bytes"
2024-10-02T12:47:14Z E! [outputs.postgresql] Column name too long: "__segments_remote_store_upload_total_upload_size_succeeded_bytes"
2024-10-02T12:47:14Z E! [outputs.postgresql] Column name too long: "__translog_remote_store_upload_total_upload_size_succeeded_bytes"
2024-10-02T12:47:14Z E! [outputs.postgresql] Column name too long: "segments_remote_store_download_total_download_size_started_bytes"
2024-10-02T12:47:14Z E! [outputs.postgresql] Column name too long: "segments_remote_store_download_total_download_size_succeeded_bytes"
2024-10-02T12:47:14Z E! [outputs.postgresql] Table "elasticsearch_indices_stats_total" is missing columns (omitting fields): __segments_remote_store_download_total_download_size_failed_bytes double precision, __segments_remote_store_download_total_download_size_started_bytes double precision, __segments_remote_store_download_total_download_size_succeeded_bytes double precision, __segments_remote_store_upload_total_upload_size_succeeded_bytes double precision, __translog_remote_store_upload_total_upload_size_succeeded_bytes double precision, segments_remote_store_download_total_download_size_started_bytes double precision, segments_remote_store_download_total_download_size_succeeded_bytes double precision
2024-10-02T12:47:14Z E! [outputs.postgresql] Column name too long: "segments_remote_store_download_total_download_size_started_bytes"
2024-10-02T12:47:14Z E! [outputs.postgresql] Column name too long: "segments_remote_store_download_total_download_size_succeeded_bytes"
2024-10-02T12:47:14Z E! [outputs.postgresql] Table "elasticsearch_indices_stats_shards" is missing columns (omitting fields): segments_remote_store_download_total_download_size_started_bytes double precision, segments_remote_store_download_total_download_size_succeeded_bytes double precision
2024-10-02T12:47:24Z E! [outputs.postgresql] Column name too long: "__segments_remote_store_download_total_download_size_failed_bytes"
2024-10-02T12:47:24Z E! [outputs.postgresql] Column name too long: "__segments_remote_store_download_total_download_size_started_bytes"
2024-10-02T12:47:24Z E! [outputs.postgresql] Column name too long: "__segments_remote_store_download_total_download_size_succeeded_bytes"
2024-10-02T12:47:24Z E! [outputs.postgresql] Column name too long: "__segments_remote_store_upload_total_upload_size_succeeded_bytes"
2024-10-02T12:47:24Z E! [outputs.postgresql] Column name too long: "__translog_remote_store_upload_total_upload_size_succeeded_bytes"
2024-10-02T12:47:24Z E! [outputs.postgresql] Column name too long: "segments_remote_store_download_total_download_size_started_bytes"
2024-10-02T12:47:24Z E! [outputs.postgresql] Column name too long: "segments_remote_store_download_total_download_size_succeeded_bytes"
2024-10-02T12:47:24Z E! [outputs.postgresql] Table "elasticsearch_indices_stats_total" is missing columns (omitting fields): __segments_remote_store_download_total_download_size_failed_bytes double precision, __segments_remote_store_download_total_download_size_started_bytes double precision, __segments_remote_store_download_total_download_size_succeeded_bytes double precision, __segments_remote_store_upload_total_upload_size_succeeded_bytes double precision, __translog_remote_store_upload_total_upload_size_succeeded_bytes double precision, segments_remote_store_download_total_download_size_started_bytes double precision, segments_remote_store_download_total_download_size_succeeded_bytes double precision
2024-10-02T12:47:24Z E! [outputs.postgresql] Column name too long: "segments_remote_store_download_total_download_size_started_bytes"
2024-10-02T12:47:24Z E! [outputs.postgresql] Column name too long: "segments_remote_store_download_total_download_size_succeeded_bytes"
2024-10-02T12:47:24Z E! [outputs.postgresql] Table "elasticsearch_indices_stats_shards" is missing columns (omitting fields): segments_remote_store_download_total_download_size_started_bytes double precision, segments_remote_store_download_total_download_size_succeeded_bytes double precision
2024-10-02T12:47:24Z E! [outputs.postgresql] Column name too long: "network_types_http_types_org.opensearch.security.http.SecurityHttpServerTransport"
2024-10-02T12:47:24Z E! [outputs.postgresql] Column name too long: "network_types_transport_types_org.opensearch.security.ssl.http.netty.SecuritySSLNettyTransport"

System info

Telegraf 1.32.0, Debian 10, PgSQL 13.5, TimescaleDB 2.5.1

Docker

No response

Steps to reproduce

  1. Use elasticsearch input and postgresql output. See config for settings
  2. Start telegraf

Expected behavior

All column's names with long length (greater than default pgsql column length name which equal 63 bytes, see https://www.postgresql.org/docs/current/limits.html) must be cut off. At least I have seen this behavior in old custom telegraf with pgsql_out (version 1.13)

Actual behavior

Long name does not change, so I lose metrics and get many errors in logs.

Additional info

I use elasticsearch input for opensearch cluster

@Lumiond Lumiond added the bug unexpected problem or unintended behavior label Oct 2, 2024
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

No branches or pull requests

1 participant