[ZBX-4332] Zabbix Proxy via stunnel fails to detect connection errors with the Zabbix Server Created: 2011 Nov 08  Updated: 2017 May 30  Resolved: 2012 Feb 20

Status: Closed
Project: ZABBIX BUGS AND ISSUES
Component/s: Proxy (P)
Affects Version/s: 1.8.5
Fix Version/s: None

Type: Incident report Priority: Critical
Reporter: dazman Assignee: Unassigned
Resolution: Won't fix Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

CentOS, stunnel



 Description   

When Zabbix Proxy sends data back to the Zabbix Server via stunnel, if the stunnel connection fails to the server, Zabbix Proxy still thinks that the data has been sent. As such, data is lost during connectivity issues between the stunnel client and the stunnel server.

The ids in the ids table on the Proxy also keeps incrementing even if stunnel is reporting "connection reset by peer", with 0 bytes sent. It can be seen in the stunnel logs that Zabbix keeps sending data through stunnel, in line with the items Interval.

Without stunnel, it seems Proxy detects a connectivity issue, and waits a while before trying again - it doesn't just keep trying to send individual items back. Once the connection is back up, it logs "Connection restored.". You don't get that when going over stunnel.

This could be due to that the Proxy is always able to connect to the TCP port stunnel is forwarding - it's running on the same box. The problem is, if the stunnel part fails, Proxy doesn't detect that the Zabbix server didn't get the data, and carries on as if it has.



 Comments   
Comment by Alexei Vladishev [ 2012 Feb 20 ]

I am not sure it is Zabbix issue. I believe stunnel should emulate normal TCP behavior.

Comment by dazman [ 2012 Apr 03 ]

It seems Zabbix Proxy sends data as soon as it gets a connection to whatever Server/ServerPort is set to. Usually this is fine, but, stunnel always allows a connection, if the server side is up or not. I think we would need some checking by the proxy to ensure that the server is responding before sending the data.

Is there any checking done by the Proxy beyond the initial connect()?

Thanks.

Comment by richlv [ 2013 Apr 19 ]

this probably happened because proxy treats certain network errors as... success. see ZBX-6526 for more detail

Generated at Sun May 04 06:54:29 EEST 2025 using Jira 9.12.4#9120004-sha1:625303b708afdb767e17cb2838290c41888e9ff0.