[ZBXNEXT-8014] Provide the binaries for the actual Linux kernel versions and most common PC architecture (amd64) Created: 2022 Oct 05 Updated: 2024 Jun 06 |
|
Status: | READY TO DEVELOP |
Project: | ZABBIX FEATURE REQUESTS |
Component/s: | Packages (C) |
Affects Version/s: | None |
Fix Version/s: | 7.0 (plan) |
Type: | New Feature Request | Priority: | Major |
Reporter: | Igor Gorbach (Inactive) | Assignee: | Alexander Vladishev |
Resolution: | Unresolved | Votes: | 1 |
Labels: | None | ||
Remaining Estimate: | Not Specified | ||
Time Spent: | Not Specified | ||
Original Estimate: | Not Specified |
Issue Links: |
|
||||||||
Team: | |||||||||
Sprint: | Sprint 105 (Oct 2023), Sprint 106 (Nov 2023), Sprint 107 (Dec 2023), S2401 | ||||||||
Story Points: | 1 |
Description |
Most common architecture now - amd64 Linux 4.x and 5.x kernels released a time ago But Zabbix still provides the binaries for the deprecated versions only, the only available option for the amd64 - 3.0 And this one failed to work on Ubuntu 22, for example, Please, provide the binaries for the download page for the actual Linux kernel versions |
Comments |
Comment by Constantin Oshmyan [ 2022 Oct 05 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
arm64? Probably, misprint, do you mean amd64? | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Comment by Constantin Oshmyan [ 2023 Oct 10 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
alexei, as
Up to now, we successfully used a statically-linked Zabbix agents available by the link in the Description part.
Unfortunately, both variants are bad, especially for appliances (when we don't have compilers and other SDK for that specific platforms). So, we are kindly asking you to continue to provide statically linked agents, for newest Linux kernels too. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Comment by Constantin Oshmyan [ 2023 Oct 23 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Hi guys, I'd like to clarify some moments and to collect here a useful information together. 1. The main purpose of this ticket: to provide a binaries of Zabbix Agent for Linux (zabbix_agentd, as well as supplemental utilities – zabbix_get and zabbix_sender) as portable as possible (independently of specific brand/distro/kernel/etc.). 2. The agent has dependencies on the system library (glibc) and some number of applied libraries (mandatory: pcre2, and optional: curl, ssh, crypto, ldap, etc.). 3. In minimal configuration the only one applied library (pcre2) is necessary; however, some platforms (like VMware Photon and other appliances) don't provide even this library by default. So, it's desirable to have an applied libraries statically linked for portability. 4. As absolutely rightly noted by jlambda in the 5. Just an example. Result of our experiment: the version of the Zabbix Agent 6.0.22, compiled on the SLES 15 sp5 (kernel 5.14, glibc version 2.31) with the statically linked pcre2 and dynamically linked glibc is compatible with all tested versions of Linux used in our lab, starting with kernel v3.x (see the table below):
A bit more details: really compatibility depends on the version of glibc (that could depend on the version of kernel). In our example, the binary (build on the system with glibc v2.31) requires glibc v2.14 or above. So, the only incompatible system occurred is the very old CentOS 6 based appliance with the kernel v2.6.32 and glibc v2.12. However, the currently provided by Zabbix built (zabbix_agent-6.0.4-linux-2.6-amd64-static.tar.gz) runs on this platform perfectly. 6. In theory, newer versions of glibc could be incompatible with the older ones. However, in practice, the backward compatibility is supported very long time. For example, glibc v2.31 from SLES 15 sp5 claims about compatibility with the almost all versions starting with 2.2.5 (with some exceptions: 2.19 – 2.21). 7. So, just "for now" it seems that we solved our problem – compiling agents by ourself (I'll describe the procedure a bit later if somebody wants to repeat). It's not very difficult; however, much better to have these binaries available from Zabbix company as official trusted source and with an official support. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Comment by Constantin Oshmyan [ 2023 Oct 24 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1) Just some links regarding why statically linking of glibc is a bad idea:
2) Description of the procedure to build the agent. IntroductionWe use the SUSE Linux Enterprise Server (SLES) 15 (sp5 at the moment) as a main Linux platform, so we will build on this platform. Additionally, we are a financial organization, so we have to follow strict requirements from regulatory authorities; therefore we could not just use, for example, the "git" command (it doesn't have direct access to Internet, any downloads we should perform manually via HTTP proxy). To have a statically linked library, we should build this library from the sources before. The very minimum is the pcre2 library (we will use only it in this example); but if necessary – it's possible to compile and build other optional libraries as well. We will use the "/opt/" directory for our builds: "/opt/sources/" for source files and just "/opt/" for installed libraries (to not interfere with the standard system paths used during the usual building of Zabbix Server with dynamic libraries). Building of PCRE2 library
If we need another libraries, we can build them using the same approach. Building of Zabbix Agent
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Comment by Constantin Oshmyan [ 2024 Jun 06 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Hi!
The version 7.0.0 has been released. What is the status of this ticket? |