[ZBX-25085] zabbix_sender on Windows mostly fails on TLS connection when sending data to 2 servers simultaneously Created: 2024 Aug 21  Updated: 2024 Nov 19  Resolved: 2024 Sep 13

Status: Closed
Project: ZABBIX BUGS AND ISSUES
Component/s: Agent (G)
Affects Version/s: 7.0.2
Fix Version/s: 7.0.4rc1, 7.2.0alpha1

Type: Problem report Priority: Major
Reporter: Oleksii Zagorskyi Assignee: Michael Veksler
Resolution: Fixed Votes: 1
Labels: None
Remaining Estimate: 1h
Time Spent: 15h
Original Estimate: 16h

Attachments: File not-working.log     File working.log    
Issue Links:
Causes
caused by ZBXNEXT-8758 Load balancing and HA for proxies Closed
Duplicate
Team: Team B
Sprint: S24-W34/35, S24-W36/37
Story Points: 2

 Description   

This is possible to reproduce, using sender v7.0.1, sending to servers version 7.0.1.
Only from Windows, only when using encrypted connection.

When using zabbix_agent2.conf to read TSL params or when specifying them in command line.

Example output (obfuscated):

zabbix_sender.exe [10208]: DEBUG: OpenSSL library (version OpenSSL 1.1.1t  7 Feb 2023) initialized
zabbix_sender.exe [10208]: DEBUG: In zbx_tls_init_child()
zabbix_sender.exe [10208]: DEBUG: zbx_tls_init_child() loaded PSK identity "redacted"
zabbix_sender.exe [10208]: DEBUG: zbx_tls_init_child() loaded PSK from file "redacted"
zabbix_sender.exe [10208]: DEBUG: zbx_tls_init_child() PSK ciphersuites: TLS_CHACHA20_POLY1305_SHA256 TLS_AES_128_GCM_SHA256 ECDHE-PSK-AES128-CBC-SHA256 ECDHE-PSK-AES128-CBC-SHA PSK-AES128-GCM-SHA256 PSK-AES128-CCM8 PSK-AES128-CCM PSK-AES128-CBC-SHA256 PSK-AES128-CBC-SHA
zabbix_sender.exe [10208]: DEBUG: End of zbx_tls_init_child()
zabbix_sender.exe [3536]: DEBUG: In zbx_comms_exchange_with_redirect()
zabbix_sender.exe [128]: DEBUG: In zbx_comms_exchange_with_redirect()
zabbix_sender.exe [3536]: DEBUG: In zbx_connect_to_server() [host777.local]:10051 [timeout:60, connection timeout:3]
zabbix_sender.exe [128]: DEBUG: In zbx_connect_to_server() [host999.local]:10051 [timeout:60, connection timeout:3]
zabbix_sender.exe [3536]: DEBUG: In zbx_is_ip4() ip:'host777.local'
zabbix_sender.exe [128]: DEBUG: In zbx_is_ip4() ip:'host999.local'
zabbix_sender.exe [3536]: DEBUG: End of zbx_is_ip4():FAIL
zabbix_sender.exe [128]: DEBUG: End of zbx_is_ip4():FAIL
zabbix_sender.exe [3536]: DEBUG: In zbx_is_ip6() ip:'host777.local'
zabbix_sender.exe [128]: DEBUG: In zbx_is_ip6() ip:'host999.local'
zabbix_sender.exe [3536]: DEBUG: End of zbx_is_ip6():FAIL
zabbix_sender.exe [128]: DEBUG: End of zbx_is_ip6():FAIL
zabbix_sender.exe [128]: DEBUG: In zbx_is_ip4() ip:'host999.local'
zabbix_sender.exe [3536]: DEBUG: In zbx_is_ip4() ip:'host777.local'
zabbix_sender.exe [128]: DEBUG: End of zbx_is_ip4():FAIL
zabbix_sender.exe [3536]: DEBUG: End of zbx_is_ip4():FAIL
zabbix_sender.exe [128]: DEBUG: In zbx_is_ip6() ip:'host999.local'
zabbix_sender.exe [3536]: DEBUG: In zbx_is_ip6() ip:'host777.local'
zabbix_sender.exe [128]: DEBUG: End of zbx_is_ip6():FAIL
zabbix_sender.exe [3536]: DEBUG: End of zbx_is_ip6():FAIL
zabbix_sender.exe [128]: DEBUG: In zbx_tls_connect(): psk_identity:"redacted"
zabbix_sender.exe [3536]: DEBUG: In zbx_tls_connect(): psk_identity:"redacted"
zabbix_sender.exe [128]: DEBUG: zbx_psk_client_cb() requested PSK identity "redacted"
zabbix_sender.exe [3536]: DEBUG: zbx_psk_client_cb() requested PSK identity "redacted"
zabbix_sender.exe [128]: DEBUG: End of zbx_tls_connect():SUCCEED (established TLSv1.3 TLS_CHACHA20_POLY1305_SHA256)
zabbix_sender.exe [3536]: DEBUG: End of zbx_tls_connect():SUCCEED (established TLSv1.3 TLS_CHACHA20_POLY1305_SHA256)
zabbix_sender.exe [128]: DEBUG: End of zbx_connect_to_server():SUCCEED
zabbix_sender.exe [3536]: DEBUG: End of zbx_connect_to_server():SUCCEED
zabbix_sender.exe [128]: DEBUG: zbx_comms_exchange_with_redirect() sending: {"request":"sender data","data":[{"host":"host9040","key":"patchmanagement.maintenance","value":"maintenance-on"}],"clock":1724163279,"ns":475287500}
zabbix_sender.exe [3536]: DEBUG: zbx_comms_exchange_with_redirect() sending: {"request":"sender data","data":[{"host":"host9040","key":"patchmanagement.maintenance","value":"maintenance-on"}],"clock":1724163279,"ns":477000000,"
zabbix_sender.exe [128]: DEBUG: zbx_comms_exchange_with_redirect() received: {"response":"failed","info":"cannot parse as a valid JSON object: unexpected end of string data"}
zabbix_sender.exe [3536]: DEBUG: zbx_comms_exchange_with_redirect() received: {"response":"failed","info":"cannot parse as a valid JSON object: unexpected end of string data"}
zabbix_sender.exe [128]: DEBUG: End of zbx_comms_exchange_with_redirect():SUCCEED
zabbix_sender.exe [3536]: DEBUG: End of zbx_comms_exchange_with_redirect():SUCCEED
zabbix_sender.exe [128]: Warning: incorrect answer from "host999.local:10051": [{"response":"failed","info":"cannot parse as a valid JSON object: unexpected end of string data"}]
zabbix_sender.exe [3536]: Warning: incorrect answer from "host777.local:10051": [{"response":"failed","info":"cannot parse as a valid JSON object: unexpected end of string data"}]
sent: 1; skipped: 0; total: 1

At the time in zabbix_proxy.log we can see this error:

2184198:20240819:161606.392 received invalid JSON object from 1.1.1.1: cannot parse as a valid JSON object: unexpected end of string data

To reproduce that, just give 2 servers in -z parameter for zabbix sender:

-z "host777.local,host999.local"

Sometimes it's successful, but according to feedback, fails in most cases.

One more NOT working example and working one are attached as files.



 Comments   
Comment by Michael Veksler [ 2024 Sep 11 ]

Available in:

Generated at Wed Apr 02 22:55:59 EEST 2025 using Jira 9.12.4#9120004-sha1:625303b708afdb767e17cb2838290c41888e9ff0.