diff --git a/system-user-zabbix.conf b/system-user-zabbix.conf new file mode 100644 index 0000000..f882a47 --- /dev/null +++ b/system-user-zabbix.conf @@ -0,0 +1,7 @@ +#Type Name ID GECOS Home directory Shell +g zabbix - "Zabbix agent" +g zabbixs - "Zabbix server" +u zabbix - "Zabbix agent" /var/lib/zabbix - +u zabbixs - "Zabbix agent" /var/lib/zabbixs - +m zabbix zabbix +m zabbixs zabbixs diff --git a/zabbix-6.0.25.tar.gz b/zabbix-6.0.25.tar.gz deleted file mode 100644 index baf4250..0000000 --- a/zabbix-6.0.25.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7b321c523790fed3127da6a4ab9477e4f75d08aa9ee081348b961d999c5843a0 -size 44109483 diff --git a/zabbix-6.0.27.tar.gz b/zabbix-6.0.27.tar.gz new file mode 100644 index 0000000..930b8b7 --- /dev/null +++ b/zabbix-6.0.27.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9593a32a1a6783dfcf7522835b09f93f6ef4bc554f517f140c4ac6f00e43d57c +size 44522147 diff --git a/zabbix-agentd.firewall b/zabbix-agentd.firewall deleted file mode 100644 index 3264b01..0000000 --- a/zabbix-agentd.firewall +++ /dev/null @@ -1,17 +0,0 @@ -## Name: zabbix-agentd -## Description: Opens ports for zabbix-agentd - -# space separated list of allowed TCP ports -TCP="10050" - -# space separated list of allowed UDP ports -UDP="" - -# space separated list of allowed RPC services -RPC="" - -# space separated list of allowed IP protocols -IP="" - -# space separated list of allowed UDP broadcast ports -BROADCAST="" diff --git a/zabbix-agentd.xml b/zabbix-agentd.xml new file mode 100644 index 0000000..e28cb84 --- /dev/null +++ b/zabbix-agentd.xml @@ -0,0 +1,6 @@ + + + Zabbix Agent + Enables Zabbix Agent for monitoring data collection and sending to a Zabbix server. + + diff --git a/zabbix-java-gateway.firewall b/zabbix-java-gateway.firewall deleted file mode 100644 index 02742ba..0000000 --- a/zabbix-java-gateway.firewall +++ /dev/null @@ -1,17 +0,0 @@ -## Name: zabbix-java-gateway -## Description: Opens ports for zabbix-java-gateway - -# space separated list of allowed TCP ports -TCP="10052" - -# space separated list of allowed UDP ports -UDP="" - -# space separated list of allowed RPC services -RPC="" - -# space separated list of allowed IP protocols -IP="" - -# space separated list of allowed UDP broadcast ports -BROADCAST="" diff --git a/zabbix-java-gateway.xml b/zabbix-java-gateway.xml new file mode 100644 index 0000000..db0c150 --- /dev/null +++ b/zabbix-java-gateway.xml @@ -0,0 +1,6 @@ + + + Zabbix Java Gateway + Enables Zabbix Java Gateway for JMX monitoring and data collection from Java applications. + + diff --git a/zabbix-proxy.firewall b/zabbix-proxy.firewall deleted file mode 100644 index b442d6b..0000000 --- a/zabbix-proxy.firewall +++ /dev/null @@ -1,17 +0,0 @@ -## Name: zabbix-proxy -## Description: Opens ports for zabbix-proxy - -# space separated list of allowed TCP ports -TCP="10051" - -# space separated list of allowed UDP ports -UDP="" - -# space separated list of allowed RPC services -RPC="" - -# space separated list of allowed IP protocols -IP="" - -# space separated list of allowed UDP broadcast ports -BROADCAST="" diff --git a/zabbix-proxy.xml b/zabbix-proxy.xml new file mode 100644 index 0000000..0c95661 --- /dev/null +++ b/zabbix-proxy.xml @@ -0,0 +1,6 @@ + + + Zabbix Proxy + Enables Zabbix Proxy for data collection from monitored devices and sending to Zabbix server. + + diff --git a/zabbix-server.firewall b/zabbix-server.firewall deleted file mode 100644 index 7c53a99..0000000 --- a/zabbix-server.firewall +++ /dev/null @@ -1,17 +0,0 @@ -## Name: zabbix-server -## Description: Opens ports for zabbix-server - -# space separated list of allowed TCP ports -TCP="10051" - -# space separated list of allowed UDP ports -UDP="" - -# space separated list of allowed RPC services -RPC="" - -# space separated list of allowed IP protocols -IP="" - -# space separated list of allowed UDP broadcast ports -BROADCAST="" diff --git a/zabbix-server.xml b/zabbix-server.xml new file mode 100644 index 0000000..afe5088 --- /dev/null +++ b/zabbix-server.xml @@ -0,0 +1,6 @@ + + + Zabbix Server + Enables Zabbix Server for processing monitoring data, sending notifications, and visualization. + + diff --git a/zabbix.changes b/zabbix.changes index 2da3054..400fce8 100644 --- a/zabbix.changes +++ b/zabbix.changes @@ -1,3 +1,79 @@ +------------------------------------------------------------------- +Fri Mar 22 07:49:43 UTC 2024 - Boris Manojlovic + +- update to latest release 6.0.27 +- replaced zabbix-agentd.firewall zabbix-java-gateway.firewall zabbix-proxy.firewall zabbix-server.firewall + with firewalld xml definitions zabbix-agentd.xml zabbix-java-gateway.xml zabbix-proxy.xml zabbix-server.xml +- New Features and Improvements + + ZBXNEXT-8983 Updated max supported MariaDB version to 11.2 + + ZBXNEXT-8984 Updated max supported MySQL version to 8.3 + + ZBXNEXT-8762 Added YugabyteDB by HTTP and YugabyteDB Cluster by HTTP templates + + ZBXNEXT-8891 Updated max supported MySQL version to 8.2 + + ZBXNEXT-8524 Added support for HTTP proxy in GCP templates + + ZBXNEXT-8759 Added dashboards in Azure templates + + ZBXNEXT-8580 Added new discovery rules, refactored discovery rules to dependent items + and made few minor changes in MSSQL by ODBC template + + ZBXNEXT-8730 Added Azure Cost Management by HTTP template + + -Bug Fixes + + ZBX-23124 Fixed items with disabled history being sometimes stuck in non-supported state + + ZBX-23586 Fixed filter evaluation type of organizations discovery in Cisco Meraki dashboard by HTTP template + + ZBX-23766 Updated Zabbix agent 2 Ceph plugin readme setup instructions + + ZBX-24094 Fixed network interfaces LLD filtering macro in Linux by Prom template + + ZBX-23202 Fixed unused tag value being saved in tag filter + + ZBX-22555 Updated regexp to case insensitive in Nginx templates + + ZBX-23973 Fixed trends being retrieved from database for new items and for items with infrequent update interval + + ZBX-22745 Removed incorrect description of network interfaces administrative status filter macro in SNMP templates + + ZBX-24015 Improved zabbix[queue] internal item not to block history syncers and pollers + + ZBX-23509 Fixed JSONPath of Keyspace discovery master item in Redis by Zabbix agent 2 template + + ZBX-24059 Fixed libmodbus unnecessary linking into all binaries + + ZBX-24055 Added missing API port macros in URL of script items in HPE Synergy by HTTP and HPE Primera by HTTP templates + + ZBX-20525 Fixed vfs.dir.size performance issues when walking through directory that has a lot of subdirs/files + + ZBX-23773 Improved trigger functionality for Acronis Cyber Protect Cloud MSP by HTTP template + + ZBX-23979 Improved trend recalculation performance by performing trend updates in own transaction + + ZBX-23688 Improved new item value retrieval performance by adding such items to value cache after configuration sync + + ZBX-22130 Changed JSONPath expression evaluator to treat null values as empty variants + + ZBX-23986 Added a license to the Go module + + ZBX-23587 Fixed widget input field selecting when clicking on label + + ZBX-23640 Fixed preload hints opening + + ZBX-22433 Fixed web scenario and web scenario step configuration field trimming and field sorting + + ZBX-23684 Fixed transactions query file for PostgreSQL by Zabbix agent template + + ZBX-22371 Fixed process tags option not adding tags for service events + + ZBX-17208 Fixed invalid command-line flag handling in Zabbix agent 2 + + ZBX-23937 Fixed JavaScript for AWS EC2 instances discovery + + ZBX-22715 Fixed map shape dimension changes on resizing in scaled browser mode + + ZBX-23722 Added garbage collection after executing JavaScript code + + ZBX-23740 Fixed netsnmp persistent state disabling without affecting its configuration + + ZBX-23257 Fixed log items not using MaxLinesPerSecond setting correctly for Zabbix agent 2 + + ZBX-23890 Removed non-existing headers from compiler checks: mtent.h and knlist.h + + ZBX-23912 Removed Jira with CustomFields media type in data.tmpl + + ZBX-23761 Fixed JavaScript in Jira media type + + ZBX-22558 Fixed trigger expression for retrieval of stub page in Nginx templates + + ZBX-23691 Fixed LLD filters evaluation type for devices discovery in Cisco SD-WAN by HTTP template + + ZBX-23540 Added error checks for RegisterMetrics calls + + ZBX-23605 Removed getting location buckets in AWS by HTTP template + added discovery filters for request metrics in AWS S3 bucket by HTTP template + + ZBX-23466 Fixed data aggregation errors in Graphs and Top hosts widgets with Elasticsearch backend + + ZBX-23835 Updated Meraki templates + + ZBX-23723 Fixed proxy params in JavaScript AWS templates + + ZBX-23733 Fixed error when downloading graph as .png image if item name contains multibyte characters + + ZBX-22983 Fixed ellipsed dropdown options in items mass update in preprocessing + + ZBX-23715 Fixed persistent directory path not following symlinks upon creation + + ZBX-23825 Fixed query_fields values for Acronis and Nomand templates + + ZBX-22055 Fixed map image of map widget not being updated when pressing Apply button + + ZBX-23629 Fixed interface icon cursor to pointer + + ZBX-22536 Fixed TimescaleDB compression detection for history.clear API method and proper error appearance in frontend + + ZBX-23145 Disabled deprecated automatic reconnection in MySQL + + ZBX-22933 Improved vfs.file.regmatch and vfs.file.regexp items to use buffered file read + + ZBX-23439 Fixed sorting of numeric items with/without aggregation enabled in Top hosts widget + + ZBX-21973 Changed deprecated X-Frame option allow-from to Content-Security-Policy frame-ancestors + + ZBX-23633 Fixed service alarms to be recovered with problem time in case of negative problem duration + + ZBX-23738 Fixed Zabbix backend sources for libxml2 2.12.0 version changes + + ZBX-23746 Fixed creation of tickets during escalation for Zammad media type + + ZBX-23561 Fixed spacing between filter and results table + + ZBX-18873 Fixed disabled chevrons color in problem view + + ZBX-23636 Fixed some fields in Administration section not being trimmed on form submit + ------------------------------------------------------------------- Tue Feb 20 12:05:38 UTC 2024 - Dominique Leuenberger diff --git a/zabbix.spec b/zabbix.spec index 87425bb..11042f5 100644 --- a/zabbix.spec +++ b/zabbix.spec @@ -18,12 +18,11 @@ %define server_user zabbixs %define server_group zabbixs -# keep zabbix user for backwards compatibility of agent %define agent_user zabbix %define agent_group zabbix -%define SUSEfirewall_services_dir %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services + Name: zabbix -Version: 6.0.25 +Version: 6.0.27 Release: 0 Summary: Distributed monitoring system License: GPL-2.0-or-later @@ -36,15 +35,16 @@ Source3: zabbix-java-gateway.sh Source4: zabbix-logrotate.in Source5: apache2-zabbix.conf Source6: README.SUSE -Source7: zabbix-server.firewall -Source8: zabbix-agentd.firewall -Source9: zabbix-proxy.firewall -Source10: zabbix-java-gateway.firewall +Source7: zabbix-server.xml +Source8: zabbix-agentd.xml +Source9: zabbix-proxy.xml +Source10: zabbix-java-gateway.xml Source11: zabbix-proxy.service Source12: zabbix-agentd.service Source13: zabbix-server.service Source14: zabbix-java-gateway.service Source15: README-SSL.SUSE +Source16: system-user-zabbix.conf # PATCH-FIX-OPENSUSE zabbix-6.0.12-netsnmp-fixes.patch fix for removed md5 auth protocol Patch3: zabbix-6.0.12-netsnmp-fixes.patch BuildRequires: apache-rpm-macros @@ -52,6 +52,7 @@ BuildRequires: apache2-devel BuildRequires: autoconf BuildRequires: automake BuildRequires: fdupes +BuildRequires: firewall-macros BuildRequires: gcc BuildRequires: java-devel >= 1.6 BuildRequires: libmysqlclient-devel @@ -61,6 +62,7 @@ BuildRequires: net-snmp-devel BuildRequires: openldap2-devel BuildRequires: pkgconfig BuildRequires: systemd-rpm-macros +BuildRequires: sysuser-tools BuildRequires: unixODBC-devel BuildRequires: update-alternatives BuildRequires: pkgconfig(OpenIPMI) @@ -73,6 +75,8 @@ BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(openssl) BuildRequires: pkgconfig(sqlite3) BuildRequires: pkgconfig(zlib) +%sysusers_requires + %{?systemd_requires} %if 0%{?suse_version} >= 1600 || 0%{?sle_version} > 150100 BuildRequires: postgresql-server-devel @@ -102,8 +106,10 @@ Group: System/Monitoring Requires: logrotate Requires(pre): %fillup_prereq Requires(pre): shadow +Requires: update-alternatives +Requires: group(%{agent_group}) +Requires: user(%{agent_user}) Conflicts: zabbix-agent -Provides: group(zabbix) %description agent The Zabbix agent monitors local resources and relays information to the server. @@ -117,8 +123,9 @@ Requires: update-alternatives Requires: zabbix_server_binary = %{version}-%{release} Requires(pre): %fillup_prereq Requires(pre): shadow +Requires: group(%{server_group}) +Requires: user(%{server_user}) Conflicts: zabbix-server -Provides: group(zabbix) %description server The Zabbix server component. @@ -132,8 +139,9 @@ Requires: update-alternatives Requires: zabbix_proxy_binary = %{version}-%{release} Requires(pre): %fillup_prereq Requires(pre): shadow +Requires: group(%{server_group}) +Requires: user(%{server_user}) Conflicts: zabbix-proxy -Provides: group(zabbix) %description proxy The Zabbix proxy component. @@ -155,7 +163,9 @@ Requires: php8-xmlwriter Suggests: php8-mysqli Suggests: php8-pgsql Conflicts: zabbix-phpfrontend +Provides: zabbix-phpfrontend Obsoletes: zabbix-phpfrontend < 6.0.0 +BuildArch: noarch %description ui The Zabbix PHP frontend allows access via standard web browsers. @@ -238,6 +248,9 @@ Requires: jre Requires(pre): shadow Conflicts: zabbix-java-gateway Provides: %{name} = %{version}-%{release} +Requires: group(%{server_group}) +Requires: user(%{server_user}) +BuildArch: noarch %description java-gateway JMX monitoring can be used to monitor JMX counters of a Java @@ -246,6 +259,19 @@ host, the Zabbix server queries the Zabbix Java gateway, which in turn uses the JMX management API to query the application of interest remotely. +%package -n system-user-zabbix +Summary: Users and groups +Group: System +Requires(pre): pwdutils +Provides: group(%{agent_group}) +Provides: group(%{server_group}) +Provides: user(%{agent_user}) +Provides: user(%{server_user})%define server_user zabbixs +BuildArch: noarch + +%description -n system-user-zabbix +Zabbix users and groups required by zabbix packages + %prep %autosetup -p0 -n zabbix-%{version} @@ -297,6 +323,7 @@ cp -r zabbix-%{version} zabbix-%{version}-sqlite cd - %build +%sysusers_generate_pre %{SOURCE1} zabbix system-user-zabbix.conf ZABBIX_BASIC_CONFIG="--enable-proxy --enable-server --enable-agent --sysconfdir=%{_sysconfdir}/zabbix \ --with-openipmi --enable-java --enable-ipv6 --with-ssh2 --with-ldap --with-unixodbc \ --with-libcurl --with-net-snmp --with-libxml2 --with-openssl --with-libpcre --with-libevent" @@ -321,6 +348,7 @@ autoreconf -fvi cd - %install +install -D -m 0644 %{SOURCE1} %{buildroot}%{_sysusersdir}/system-user-zabbix.conf # install the binaries %make_install -C ../zabbix-%{version}-sqlite @@ -368,14 +396,11 @@ sed -e 's|COMPONENT|proxy|g; s|USER|zabbixs|g' %{SOURCE4} > \ %fdupes %{buildroot} -# install firewall description files for SLE 12 / Leap 42 -%if 0%{?suse_version} < 1500 -install -Dm 0644 %{SOURCE7} %{buildroot}%{SUSEfirewall_services_dir}/zabbix_server -install -Dm 0644 %{SOURCE8} %{buildroot}%{SUSEfirewall_services_dir}/zabbix_agentd -install -Dm 0644 %{SOURCE9} %{buildroot}%{SUSEfirewall_services_dir}/zabbix_proxy -install -Dm 0644 %{SOURCE10} %{buildroot}%{SUSEfirewall_services_dir}/zabbix-java-gateway -%endif - +# install firewalld service files +install -Dm 0644 %{SOURCE7} %{buildroot}%{_prefix}/lib/firewalld/services/zabbix-server.xml +install -Dm 0644 %{SOURCE8} %{buildroot}%{_prefix}/lib/firewalld/services/zabbix-agentd.xml +install -Dm 0644 %{SOURCE9} %{buildroot}%{_prefix}/lib/firewalld/services/zabbix-proxy.xml +install -Dm 0644 %{SOURCE10} %{buildroot}%{_prefix}/lib/firewalld/services/zabbix-java-gateway.xml # install systemd unit files install -Dm 0644 %{SOURCE11} %{buildroot}%{_unitdir}/zabbix_proxy.service install -Dm 0644 %{SOURCE12} %{buildroot}%{_unitdir}/zabbix_agentd.service @@ -425,43 +450,41 @@ cp %{SOURCE15} . %pre server # Server daemon -%{_bindir}/getent group %{server_group} >/dev/null || %{_sbindir}/groupadd -r %{server_group} -%{_bindir}/getent passwd %{server_user} >/dev/null || %{_sbindir}/useradd -r -d %{_localstatedir}/lib/%{server_user} -s /bin/false -c "Zabbix Server Daemon" -g %{server_group} %{server_user} %service_add_pre zabbix_server.service %pre proxy # Proxy daemon -%{_bindir}/getent group %{server_group} >/dev/null || %{_sbindir}/groupadd -r %{server_group} -%{_bindir}/getent passwd %{server_user} >/dev/null || %{_sbindir}/useradd -r -d %{_localstatedir}/lib/%{server_user} -s /bin/false -c "Zabbix Proxy Daemon" -g %{server_group} %{server_user} %service_add_pre zabbix_proxy.service %pre agent # Agent daemon -%{_bindir}/getent group %{agent_group} >/dev/null || %{_sbindir}/groupadd -r %{agent_group} -%{_bindir}/getent passwd %{agent_user} >/dev/null || %{_sbindir}/useradd -r -d %{_localstatedir}/lib/%{agent_user} -s /bin/false -c "Zabbix Agent Daemon" -g %{agent_group} %{agent_user} %service_add_pre zabbix_agentd.service %pre java-gateway # Java daemon -%{_bindir}/getent group %{server_group} >/dev/null || %{_sbindir}/groupadd -r %{server_group} -%{_bindir}/getent passwd %{server_user} >/dev/null || %{_sbindir}/useradd -r -d %{_localstatedir}/lib/%{server_user} -s /bin/false -c "Zabbix Java Daemon" -g %{server_group} %{server_user} %service_add_pre zabbix-java-gateway.service +%pre -n system-user-zabbix -f zabbix.pre + %post server +%firewalld_reload %service_add_post zabbix_server.service %tmpfiles_create %{_tmpfilesdir}/zabbix_server.conf echo "Please read %{_docdir}/%{name}-server/README-SSL.SUSE to set up SSL on Zabbix server." %post proxy +%firewalld_reload %service_add_post zabbix_proxy.service %tmpfiles_create %{_tmpfilesdir}/zabbix_proxy.conf echo "Please read %{_docdir}/%{name}-proxy/README-SSL.SUSE to set up SSL on Zabbix proxy." %post java-gateway +%firewalld_reload %service_add_post zabbix-java-gateway.service %tmpfiles_create %{_tmpfilesdir}/zabbix-java-gateway.conf %post agent +%firewalld_reload %service_add_post zabbix_agentd.service %tmpfiles_create %{_tmpfilesdir}/zabbix_agentd.conf echo "Please read %{_docdir}/%{name}-agent/README-SSL.SUSE to set up SSL on Zabbix agent." @@ -532,9 +555,9 @@ fi %files server %doc AUTHORS ChangeLog database/mysql database/oracle database/postgresql database/sqlite3 rn6.0.0.html README-SSL.SUSE -%if 0%{?suse_version} < 1500 -%config %{SUSEfirewall_services_dir}/zabbix_server -%endif +%config %{_prefix}/lib/firewalld/services/zabbix-server.xml +%dir %{_prefix}/lib/firewalld +%dir %{_prefix}/lib/firewalld/services %dir %{_sysconfdir}/zabbix %config(noreplace) %attr(0640, root, %{server_group}) %{_sysconfdir}/zabbix/zabbix_server.conf %{_bindir}/zabbix_get @@ -556,9 +579,9 @@ fi %files proxy %doc README-SSL.SUSE -%if 0%{?suse_version} < 1500 -%config %{SUSEfirewall_services_dir}/zabbix_proxy -%endif +%config %{_prefix}/lib/firewalld/services/zabbix-proxy.xml +%dir %{_prefix}/lib/firewalld +%dir %{_prefix}/lib/firewalld/services %{_sbindir}/zabbix_proxy %{_sbindir}/zabbix-proxy %{_sbindir}/rczabbix_proxy @@ -576,9 +599,9 @@ fi %files agent %doc README-SSL.SUSE -%if 0%{?suse_version} < 1500 -%config %{SUSEfirewall_services_dir}/zabbix_agentd -%endif +%config %{_prefix}/lib/firewalld/services/zabbix-agentd.xml +%dir %{_prefix}/lib/firewalld +%dir %{_prefix}/lib/firewalld/services %dir %{_sysconfdir}/zabbix %config(noreplace) %attr(0640, root, %{agent_group}) %{_sysconfdir}/zabbix/zabbix_agent*.conf %{_sbindir}/rczabbix_agentd @@ -627,9 +650,9 @@ fi %ghost %{_sysconfdir}/alternatives/zabbix_proxy %files java-gateway -%if 0%{?suse_version} < 1500 -%config %{SUSEfirewall_services_dir}/zabbix-java-gateway -%endif +%config %{_prefix}/lib/firewalld/services/zabbix-java-gateway.xml +%dir %{_prefix}/lib/firewalld +%dir %{_prefix}/lib/firewalld/services %dir %{_sysconfdir}/zabbix %config(noreplace) %attr(0640, root, %{server_group}) %{_sysconfdir}/zabbix/zabbix-java-gateway.conf %config(noreplace) %attr(0640, root, %{server_group}) %{_sysconfdir}/zabbix/zabbix-java-gateway-log.xml @@ -646,4 +669,7 @@ fi %{_unitdir}/zabbix-java-gateway.service %{_tmpfilesdir}/zabbix-java-gateway.conf +%files -n system-user-zabbix +%{_sysusersdir}/system-user-zabbix.conf + %changelog