[ZBX-23980] Zabbix server stopped recogniseing "rtsp" protocol in Web Monitoring Created: 2024 Jan 23  Updated: 2024 Mar 18  Resolved: 2024 Mar 18

Status: Closed
Project: ZABBIX BUGS AND ISSUES
Component/s: Server (S)
Affects Version/s: 6.4.10
Fix Version/s: None

Type: Incident report Priority: Trivial
Reporter: SCHNEIDER Assignee: dimir
Resolution: Won't fix Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: JPEG File 6.2.1_working.jpg     PNG File 6.2.5_working.png     PNG File 6.2.7_working.png     PNG File 6.2.8_KO.png     PNG File Sans titre 3.png     PNG File Sans titre 4.png     PNG File Sans titre 5.png     PNG File Sans titre 6.png     JPEG File image.jpeg     Text File zabbix-6.2.9-web-monitoring-ftp-rtsp.patch     Text File zabbix-6.4.11-web-monitoring-ftp-rtsp.patch    

 Description   

Hi

I'm cross compiling for Synology package since few years.

Since zabbix 6.4 (no pb previously on zabbix 6.2.x), the libcurl used by zabbix server seems to be the one on the target system and not the one compiled with the package. (please have a look on attached files)

I need rtsp protocol and this protocol is supported by the one compiled with the whole package (please see the screen shot with libtree.)

NB : libtree is the equivalent of ldd on Synology.

libtree is saying that zabbix server is well linked with the good libcurl

I'm looking at the problem since a while without finding the solution, and as I said the problem was occurred since the zabbix upgrade from 6.2 to 6.4

I only changed the zabbix version and not the ecosystem.

My makefile configure args :
k
CONFIGURE_ARGS = --enable-server --enable-proxy --enable-agent --with-mysql=$(STAGING_INSTALL_PREFIX)/bin/mysql_config --enable-ipv6 --with-net-snmp=$(STAGING_INSTALL_PREFIX)/bin/net-snmp-config --with-ssh2=$(STAGING_INSTALL_PREFIX) --with-libcurl=$(STAGING_INSTALL_PREFIX)/bin/curl-config --with-libxml2=$(STAGING_INSTALL_PREFIX)/bin/xml2-config --with-openssl=$(STAGING_INSTALL_PREFIX)
]
result of curl-config --libs :

curl-config --libs
-L/spksrc/spksrc/spk/zabbix/work-armada38x-7.0/install/var/packages/zabbix/target/lib -lcurl

Any hits are welcome.

Thanks

Xavier

 



 Comments   
Comment by Alexey Pustovalov [ 2024 Jan 23 ]

Please check that Zabbix server running under zabbix user has knowledge about custom curl library. For example add Script with libtree execution for Zabbix server binary and execute it from web-interface

Comment by dimir [ 2024 Jan 24 ]

Unfortunately we still decide on cURL library features in the compilation time but this is planned to be changed in 7.0: ZBXNEXT-3623

From your screenshots it looks like zabbix_server is using incorrect library. You might want to check out the workaround documented here: https://www.zabbix.com/documentation/6.4/en/manual/installation/known_issues/compilation_issues#library-in-a-non-standard-location

If not helping, you might want to try setting the LDFLAGS variable before the ./configure in the command line:

LDFLAGS="-Wl,--rpath=$(STAGING_INSTALL_PREFIX)/lib $(STAGING_INSTALL_PREFIX)/libcurl.so" ./configure [...]

 

Comment by SCHNEIDER [ 2024 Jan 28 ]

Hello

 

Did what you asked, but didn't changed anything. But what I'm guessing, it's from 6.2, I didn't have the problem. The problem only occurred when I upgrade from 6.2.x to 6.4.1 and no change to 6.4.10.

Xavier

 

Comment by dimir [ 2024 Jan 29 ]

1). Wait, I've read carefully the description again and this is what I noticed:

the libcurl used by zabbix server seems to be the one on the target system and not the one compiled with the package

You know that if you are not compiling zabbix server statically (I see no --static flag) there is no chance the binary will contain the library from the build machine?

In fact, I see no ./configure command at all. Could you provide complete steps to reproduce the issue, with all the commands involved? And please try to keep them as simple as possible.

2). Also what does

curl-config --protocols

say?

3). Do you happen to have 2 curl libraries installed on the target systems?

Comment by SCHNEIDER [ 2024 Feb 03 ]

1./ I don't want to have the binary inside as there is some links. My configure args :

./configure  --host=arm-unknown-linux-gnueabi

--build=i686-pc-linux

--prefix=/var/packages/zabbix/target

--enable-server

--enable-proxy

--enable-agent

--with-mysql=/spksrc/spksrc/spk/zabbix/work-armada38x-7.0/install/var/packages/zabbix/target/bin/mysql_config

--enable-ipv6

--with-net-snmp=/spksrc/spksrc/spk/zabbix/work-armada38x-7.0/install/var/packages/zabbix/target/bin/net-snmp-config

--with-ssh2=/spksrc/spksrc/spk/zabbix/work-armada38x-7.0/install/var/packages/zabbix/target

--with-libcurl=/spksrc/spksrc/spk/zabbix/work-armada38x-7.0/install/var/packages/zabbix/target/bin/curl-config

--with-libxml2=/spksrc/spksrc/spk/zabbix/work-armada38x-7.0/install/var/packages/zabbix/target/bin/xml2-config

--with-openssl=/spksrc/spksrc/spk/zabbix/work-armada38x-7.0/install/var/packages/zabbix/target

 

 

Comment by SCHNEIDER [ 2024 Feb 03 ]

2./

/spksrc/spksrc/spk/zabbix/work-armada38x-7.0/install/var/packages/zabbix/target/bin/curl-config --protocols

DICT
FILE
FTP
FTPS
GOPHER
GOPHERS
HTTP
HTTPS
IMAP
IMAPS
MQTT
POP3
POP3S
RTSP
SMB
SMBS
SMTP
SMTPS
TELNET
TFTP

Comment by SCHNEIDER [ 2024 Feb 03 ]

3./ I have the one on the system that I can't change on the one normally use by the zabbix binary as saying in my libtree

admin@nas_ds416j:/var/packages/zabbix/target/sbin$ libtree -p zabbix_server
zabbix_server 
├── /var/packages/zabbix/target/lib/libcurl.so.4 [rpath]
│   ├── /var/packages/zabbix/target/lib/libssl.so.1.1 [rpath]
│   │   ├── /var/packages/zabbix/target/lib/libcrypto.so.1.1 [rpath]
│   │   │   └── /lib/libpthread.so.0 [default path]
│   │   └── /lib/libpthread.so.0 [default path]
│   ├── /var/packages/zabbix/target/lib/libcrypto.so.1.1 [rpath]
│   ├── /var/packages/zabbix/target/lib/libz.so [rpath]
│   └── /lib/libpthread.so.0 [default path]
├── /var/packages/zabbix/target/lib/libevent_pthreads-2.1.so.7 [rpath]
│   └── /lib/libpthread.so.0 [default path]
├── /var/packages/zabbix/target/lib/libevent-2.1.so.7 [rpath]
│   └── /lib/libpthread.so.0 [default path]
├── /var/packages/zabbix/target/lib/libz.so [rpath]
├── /var/packages/zabbix/target/lib/libssh2.so.1 [rpath]
│   ├── /var/packages/zabbix/target/lib/libssl.so.1.1 [rpath]
│   ├── /var/packages/zabbix/target/lib/libz.so [rpath]
│   └── /var/packages/zabbix/target/lib/libcrypto.so.1.1 [rpath]
├── /var/packages/zabbix/target/lib/libxml2.so.2 [rpath]
│   └── /var/packages/zabbix/target/lib/libz.so [rpath]
├── /var/packages/zabbix/target/lib/libmysqlclient.so.18 [rpath]
│   ├── /var/packages/zabbix/target/lib/libssl.so.1.1 [rpath]
│   ├── /var/packages/zabbix/target/lib/libcrypto.so.1.1 [rpath]
│   └── /lib/libpthread.so.0 [default path]
├── /var/packages/zabbix/target/lib/libcrypto.so.1.1 [rpath]
├── /var/packages/zabbix/target/lib/libssl.so.1.1 [rpath]
├── /var/packages/zabbix/target/lib/libpcre.so.1 [rpath]
├── /lib/libresolv.so.2 [default path]
└── /lib/libpthread.so.0 [default path]

Comment by SCHNEIDER [ 2024 Feb 03 ]

4./ I can assume that in my previous version 6.2.1, the same configure and lib curl, the problem didn't occurred. So I can propose to use the latest 6.2.9, and verify that the problem was not there.

Xavier

Comment by dimir [ 2024 Feb 05 ]

Can you run try the following. When building Zabbix, run your./configure with the following prefix:

LDFLAGS="-Wl,--rpath=/spksrc/spksrc/spk/zabbix/work-armada38x-7.0/install/var/packages/zabbix/target/lib /spksrc/spksrc/spk/zabbix/work-armada38x-7.0/install/var/packages/zabbix/target/libcurl.so" ./configure --host=[...]

When when you get your zabbix_server built run libtree one more time:

libtree -p zabbix_server | grep curl 

 

Comment by SCHNEIDER [ 2024 Feb 09 ]

Hello

 

I have an other input.

I retry from when it was working.

in 6.2.1 with exactly the same configure, same lib curl version, it's working as you can see on the screen shot for the web scenario.

Comment by SCHNEIDER [ 2024 Feb 09 ]

In 6.2.9, it's not working. So I will update from 6.2.1 to 6.2.9 for each zabbix version to discover when the zabbix version will not work.

I will be on vacations next week, so I let you know when I will be able to do that.

Thanks

Xavier

Comment by SCHNEIDER [ 2024 Feb 09 ]

Hello

FYI

I'm currently upgrading from

6.2.1 to 6.2.3 => OK

6.2.3 to 6.2.5 => OK

Comment by SCHNEIDER [ 2024 Feb 09 ]

Upgrade 6.2.5 to 6.2.7 => OK

Comment by SCHNEIDER [ 2024 Feb 09 ]

Upgrade 6.2.7 to 6.2.8 => KO

So, the problem occurred  in 6.2.8 release and it's present from there to 6.4.8,

In 6.2.8 release, I'm seeing some fixes relative to cURL. Perhaps something to have a look on it ?

Thanks 

Xavier

 

Comment by dimir [ 2024 Feb 14 ]

Thanks for you detailed report!

For security reasons we dropped protocols other than "http" and "https" in Web Monitoring, this indeed was introduced in 6.2.8: ZBX-22588

Comment by dimir [ 2024 Feb 14 ]

ZBXNEXT-9015 asks to make this configurable, you're welcome to vote.

Meanwhile here are the patches that enable "rtsp" support that you can try with versions

Comment by SCHNEIDER [ 2024 Feb 24 ]

Hi @dimir

The patch fixes my problem. You can close the case. Thanks for your support.

And as Tony asked in ZBX-23982 is it possible to add it by default in the next releases until ZBXNEXT-9015 will be delivered ?

Regards

 

Xavier

Comment by Bartosz Mickiewicz (Inactive) [ 2024 Mar 04 ]

Adding this to future releases would mean partial implementation of the feature request. For now, it will remain only available as the two patches that were provided. 

Comment by dimir [ 2024 Mar 18 ]

Since no changes in the product were made in the context of this task - closing Won't fix. For those interested - consider either the patches provided or voting for ZBXNEXT-9015.

Generated at Thu May 01 06:56:27 EEST 2025 using Jira 9.12.4#9120004-sha1:625303b708afdb767e17cb2838290c41888e9ff0.