net-mgmt/zabbix7: Add zabbix 7.0 ports

Add new ports for zabbix 7.0, an enterprise-class monitoring system.

Release notes:	https://www.zabbix.com/rn/rn7.0.0
This commit is contained in:
Juraj Lutter 2024-06-04 22:17:50 +02:00
parent 4d5ce46ee3
commit 44d1279844
18 changed files with 2680 additions and 0 deletions

View file

@ -420,5 +420,10 @@
SUBDIR += zabbix64-java SUBDIR += zabbix64-java
SUBDIR += zabbix64-proxy SUBDIR += zabbix64-proxy
SUBDIR += zabbix64-server SUBDIR += zabbix64-server
SUBDIR += zabbix7-agent
SUBDIR += zabbix7-frontend
SUBDIR += zabbix7-java
SUBDIR += zabbix7-proxy
SUBDIR += zabbix7-server
.include <bsd.port.subdir.mk> .include <bsd.port.subdir.mk>

View file

@ -0,0 +1,12 @@
PORTNAME= zabbix7
PORTREVISION= 0
CATEGORIES= net-mgmt
PKGNAMESUFFIX= -agent
MASTERDIR= ${.CURDIR}/../${PORTNAME}-server
PLIST= ${PKGDIR}/pkg-plist.agent
OPTIONS_DEFINE= CURL IPV6 MODBUS
OPTIONS_DEFAULT= CURL OPENSSL
.include "${MASTERDIR}/Makefile"

View file

@ -0,0 +1,30 @@
PORTNAME= zabbix7
PORTREVISION= 0
CATEGORIES= net-mgmt
PKGNAMESUFFIX= -frontend${PHP_PKGNAMESUFFIX}
USES+= php:web,flavors
USE_PHP= bcmath ctype filter gd gettext ldap mbstring session \
simplexml sockets xml xmlreader xmlwriter
MASTERDIR= ${.CURDIR}/../${PORTNAME}-server
PATCHDIR=
NO_ARCH= yes
NO_BUILD= yes
PLIST= ${PKGDIR}/pkg-plist.frontend
OPTIONS_DEFINE= MYSQLI ORACLE PGSQL
OPTIONS_DEFAULT= MYSQLI
MYSQLI_DESC= MySQLI backend
MYSQLI_USE= PHP=mysqli
ORACLE_CONFIGURE_WITH= oracle
PGSQL_USE= PHP=pgsql
do-install:
@${MKDIR} ${STAGEDIR}${WWWDIR}
(cd ${WRKSRC}/ui && \
${COPYTREE_SHARE} . ${STAGEDIR}${WWWDIR})
.include "${MASTERDIR}/Makefile"

View file

@ -0,0 +1,13 @@
PORTNAME= zabbix7
PORTREVISION= 0
CATEGORIES= net-mgmt
PKGNAMESUFFIX= -java
MASTERDIR= ${.CURDIR}/../${PORTNAME}-server
PLIST= ${PKGDIR}/pkg-plist.java
OPTIONS_DEFINE= IPV6
USE_JAVA= yes
.include "${MASTERDIR}/Makefile"

View file

@ -0,0 +1,8 @@
PORTNAME= zabbix7
PORTREVISION= 0
CATEGORIES= net-mgmt
PKGNAMESUFFIX= -proxy
MASTERDIR= ${.CURDIR}/../${PORTNAME}-server
.include "${MASTERDIR}/Makefile"

View file

@ -0,0 +1,255 @@
PORTNAME= zabbix7
DISTVERSION= 7.0.0
PORTREVISION?= 0
CATEGORIES= net-mgmt
MASTER_SITES= https://cdn.zabbix.com/zabbix/sources/stable/${DISTVERSION:R}/
PKGNAMESUFFIX?= -server
DISTNAME= zabbix-${DISTVERSION}
MAINTAINER= otis@FreeBSD.org
COMMENT= Enterprise-class open source distributed monitoring (${PKGNAMESUFFIX:S/^-//})
WWW= https://www.zabbix.com/
LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC}/COPYING
CONFLICTS_INSTALL= ${PORTNAME}[0-9]${PKGNAMESUFFIX} \
zabbix[0-6][0-9]${PKGNAMESUFFIX}
ZABBIX_BUILD= ${PKGNAMESUFFIX:S/^-//:S/-$//}
.if ${ZABBIX_BUILD} != "frontend" # frontend only needs the version/distribution settings
.if ${ZABBIX_BUILD} != "agent"
CONFIGURE_ARGS+= --cache-file=${WRKSRC}/config.cache \
--with-libevent=${LOCALBASE} \
--with-libxml2
LIB_DEPENDS+= libevent.so:devel/libevent
USE_RC_SUBR= zabbix_${ZABBIX_BUILD}
.else
USE_RC_SUBR= zabbix_${ZABBIX_BUILD}d
.endif
USES= gnome iconv pkgconfig
USE_GNOME= libxml2
USERS= zabbix
GROUPS= zabbix
.if ${ZABBIX_BUILD} == "proxy"
PLIST_SUB= PROXY=""
.else
PLIST_SUB= PROXY="@comment "
.endif
.if ${ZABBIX_BUILD} == "server"
PLIST_SUB+= SERVER=""
.else
PLIST_SUB+= SERVER="@comment "
.endif
PLIST_SUB+= DISTVERSION=${DISTVERSION} \
ZABBIX_BUILD=${ZABBIX_BUILD}
SUB_LIST= ZABBIX_BUILD=${ZABBIX_BUILD}
MAKE_ARGS+= ARCH=freebsd
GNU_CONFIGURE= yes
GNU_CONFIGURE_MANPREFIX= ${PREFIX}/share
CONFIGURE_ARGS+= --datadir=${ETCDIR} \
--enable-${ZABBIX_BUILD} \
--sysconfdir=${ETCDIR} \
--with-iconv=${ICONV_PREFIX}
PORTSCOUT= limit:^7\.0\.
.if ${ZABBIX_BUILD} != "java"
OPTIONS_DEFAULT+= PCRE2
OPTIONS_SINGLE+= PCRE
OPTIONS_SINGLE_PCRE= PCRE1 PCRE2
PCRE_DESC= PCRE library to use
PCRE1_DESC= Use PCRE v1 library
PCRE2_DESC= Use PCRE v2 library
PCRE1_LIB_DEPENDS= libpcre.so:devel/pcre
PCRE1_CONFIGURE_WITH= libpcre
PCRE2_LIB_DEPENDS= libpcre2-8.so:devel/pcre2
PCRE2_CONFIGURE_WITH= libpcre2
.if ${ZABBIX_BUILD} != "agent"
CPPFLAGS+= -I${LOCALBASE}/include
SUB_FILES= pkg-message
OPTIONS_DEFAULT+= CURL FPING IPMI IPV6 LIBXML2 MYSQL OPENSSL SNMP SSH UNIXODBC
OPTIONS_DEFINE= CURL FPING IPMI IPV6 LDAP LIBXML2 NMAP SNMP SSH UNIXODBC
OPTIONS_SINGLE+= DB SSL
OPTIONS_SINGLE_DB= MDB5 MDB6 MYSQL MYSQLDV ORACLE PGSQL
.if ${ZABBIX_BUILD} == "proxy"
OPTIONS_SINGLE_DB+= SQLITE
.endif
OPTIONS_SINGLE_SSL= GNUTLS OPENSSL
OPTIONS_SUB= yes
FPING_DESC= Build/install fping for ping checks
IPMI_DESC= Support for IPMI checks
LDAP_DESC= Support for LDAP server checks
NMAP_DESC= Build/install nmap for o/s detection
SNMP_DESC= Support for SNMP checks
SSH_DESC= Support for SSH-based checks
UNIXODBC_DESC= Support for database checks via ODBC
LIBXML2_DESC= Support for libxml2 (required by monitoring VMware)
MYSQL_DESC= MySQL 8.0 database support
MYSQLDV_DESC= MYSQL DEFAULT_VERSIONS= (poudriere)
FPING_RUN_DEPENDS= fping:net/fping
IPMI_CONFIGURE_WITH= openipmi
IPMI_LIB_DEPENDS= libOpenIPMI.so:sysutils/openipmi
LDAP_CONFIGURE_WITH= ldap
LDAP_USES= ldap
MYSQL_CONFIGURE_ON= --with-mysql
MYSQL_USES+= compiler:c11 mysql:80
MYSQLDV_CONFIGURE_ON= --with-mysql
MYSQLDV_USES+= compiler:c11 mysql
MDB5_CONFIGURE_ON= --with-mysql=${LOCALBASE}/bin/mysql_config
MDB5_USES+= compiler:c11 mysql:105m
MDB5_DESC= Mariadb 10.5 database support
MDB6_CONFIGURE_ON= --with-mysql=${LOCALBASE}/bin/mysql_config
MDB6_USES+= compiler:c11 mysql:106m
MDB6_DESC= Mariadb 10.6 database support
ORACLE_CONFIGURE_WITH= oracle
PGSQL_CONFIGURE_WITH= postgresql
PGSQL_USES+= pgsql
SNMP_LIB_DEPENDS= libnetsnmp.so:net-mgmt/net-snmp
SNMP_CONFIGURE_WITH= net-snmp
SQLITE_CONFIGURE_WITH= sqlite3
SQLITE_USES+= sqlite:3
SSH_CONFIGURE_WITH= ssh2
SSH_LIB_DEPENDS= libssh2.so:security/libssh2
UNIXODBC_CONFIGURE_WITH= unixodbc
UNIXODBC_LIB_DEPENDS= libodbc.so:databases/unixODBC
.elif ${ZABBIX_BUILD} == "agent"
OPTOINS_DEFINE+= PCRE
OPTIONS_SINGLE+= SSL
OPTIONS_SINGLE_SSL= GNUTLS OPENSSL
.endif # if ${ZABBIX_BUILD} != "agent"
CURL_DESC= Support for web monitoring
CURL_CONFIGURE_WITH= libcurl
CURL_LIB_DEPENDS= libcurl.so:ftp/curl
IPV6_CONFIGURE_ENABLE= ipv6
MODBUS_DESC= Support for Modbus checks
MODBUS_CONFIGURE_WITH= libmodbus
MODBUS_LIB_DEPENDS= libmodbus.so:comms/libmodbus
NMAP_RUN_DEPENDS= nmap:security/nmap \
sudo:security/sudo
OPENSSL_CONFIGURE_WITH= openssl
OPENSSL_USES= ssl
OPENSSL_VARS= BROKEN_SSL="libressl libressl-devel" \
BROKEN_SSL_REASON="PSK is not provided by LibreSSL"
GNUTLS_CONFIGURE_WITH= gnutls
GNUTLS_LIB_DEPENDS= libgnutls.so:security/gnutls
.endif # if ${ZABBIX_BUILD} != "java"
.include <bsd.port.pre.mk>
post-patch:
@${GREP} -rl "/etc/zabbix" ${WRKSRC} \
| ${XARGS} ${REINPLACE_CMD} -e 's#/usr/local/etc#${ETCDIR}#g'
@${REINPLACE_CMD} -e 's#/usr/sbin/fping#${LOCALBASE}/sbin/fping#g' \
${WRKSRC}/conf/zabbix_*.conf \
${WRKSRC}/src/zabbix_proxy/proxy.c \
${WRKSRC}/src/zabbix_server/server.c
.if ${ZABBIX_BUILD} == "server"
@${REINPLACE_CMD} -e 's#/tmp/zabbix_server.pid#/var/run/zabbix/zabbix_server.pid#g' \
${WRKSRC}/conf/zabbix_server.conf \
${WRKSRC}/src/zabbix_server/server.c
@${REINPLACE_CMD} -e 's#/tmp/zabbix_server.log#/var/log/zabbix/zabbix_server.log#g' \
${WRKSRC}/conf/zabbix_server.conf
.endif
.if ${ZABBIX_BUILD} == "proxy"
@${REINPLACE_CMD} -e 's#/tmp/zabbix_proxy.pid#/var/run/zabbix/zabbix_proxy.pid#g' \
${WRKSRC}/conf/zabbix_proxy.conf \
${WRKSRC}/src/zabbix_proxy/proxy.c
@${REINPLACE_CMD} -e 's#/tmp/zabbix_proxy.log#/var/log/zabbix/zabbix_proxy.log#g' \
${WRKSRC}/conf/zabbix_proxy.conf
.endif
.if ${ZABBIX_BUILD} == "agent"
@${REINPLACE_CMD} -e 's#/tmp/zabbix_agentd.pid#/var/run/zabbix/zabbix_agentd.pid#g' \
${WRKSRC}/conf/zabbix_agentd.conf \
${WRKSRC}/src/zabbix_agent/zabbix_agentd.c
@${REINPLACE_CMD} -e 's#/tmp/zabbix_agentd.log#/var/log/zabbix/zabbix_agentd.log#g' \
${WRKSRC}/conf/zabbix_agentd.conf
.endif
.if ${ZABBIX_BUILD} == "java"
@${REINPLACE_CMD} -e 's#/tmp/zabbix_java.pid#/var/run/zabbix/zabbix_java.pid#g' \
${WRKSRC}/src/zabbix_java/settings.sh
.endif
.if ${ZABBIX_BUILD} != "agent"
. for d in mysql oracle postgresql sqlite3
@${REINPLACE_CMD} \
-e 's|/usr/bin/traceroute|/usr/sbin/traceroute|g' \
-e 's|sudo /usr/bin/nmap|sudo ${LOCALBASE}/bin/nmap|g' \
${WRKSRC}/database/${d}/data.sql
. endfor
.endif
@${FIND} ${WRKSRC} -type f \( -name '*.bak' -or -name '*.orig' \) \
-exec ${RM} {} +
pre-configure:
@echo "ac_cv_env_PKG_CONFIG_set=${LOCALBASE}/bin/pkgconf" > ${WRKSRC}/config.cache
post-install:
.if ${ZABBIX_BUILD} == "java"
${MV} ${STAGEDIR}${PREFIX}/sbin/zabbix_java/settings.sh \
${STAGEDIR}${PREFIX}/sbin/zabbix_java/settings.sh.sample
@${MKDIR} ${STAGEDIR}/var/run/zabbix
.endif
.if ${ZABBIX_BUILD} != "agent" && ${ZABBIX_BUILD} != "java"
${MKDIR} ${STAGEDIR}${DATADIR}/${ZABBIX_BUILD:Q}/database
${FIND} ${WRKSRC}/database -name 'Makefile*' -delete
(cd ${WRKSRC}/database/ && \
${COPYTREE_SHARE} "mysql oracle postgresql sqlite3" \
${STAGEDIR}${DATADIR}/${ZABBIX_BUILD:Q}/database/)
${MV} ${STAGEDIR}${ETCDIR}/zabbix_${ZABBIX_BUILD}.conf \
${STAGEDIR}${ETCDIR}/zabbix_${ZABBIX_BUILD}.conf.sample
.endif
.if ${ZABBIX_BUILD} == "agent"
${MV} ${STAGEDIR}${ETCDIR}/zabbix_${ZABBIX_BUILD}d.conf \
${STAGEDIR}${ETCDIR}/zabbix_${ZABBIX_BUILD}d.conf.sample
.endif
.if ${ZABBIX_BUILD} == "proxy"
${MV} ${STAGEDIR}${LOCALBASE}/bin/zabbix_js \
${STAGEDIR}${LOCALBASE}/bin/zabbix_proxy_js
.endif
.else # frontend
.include <bsd.port.pre.mk>
.endif
.include <bsd.port.post.mk>

View file

@ -0,0 +1,3 @@
TIMESTAMP = 1717514330
SHA256 (zabbix-7.0.0.tar.gz) = 520641483223f680ef6e685284b556ba34a496d886a38dc3bca085cde21031b1
SIZE (zabbix-7.0.0.tar.gz) = 47919968

View file

@ -0,0 +1,11 @@
--- src/libs/zbxembed/duktape.h.orig 2022-02-14 01:54:29.000000000 -0800
+++ src/libs/zbxembed/duktape.h 2022-02-15 13:48:15.058093000 -0800
@@ -160,7 +160,7 @@
#if !defined(DUKTAPE_H_INCLUDED)
#define DUKTAPE_H_INCLUDED
-#define DUK_SINGLE_FILE
+#undef DUK_SINGLE_FILE
/*
* BEGIN PUBLIC API

View file

@ -0,0 +1,47 @@
[
{ type: install
message: <<EOM
Log files are now under /var/log/zabbix directory instead of /tmp as it was
previously.
For Zabbix server and proxy daemons, as well as Zabbix frontend, a database is
required. It is not needed to run Zabbix agent.
% cd %%DATADIR%%/%%ZABBIX_BUILD%%/database
And follow the instructions:
https://www.zabbix.com/documentation/7.0/manual/appendix/install/db_scripts
Upgrade notes for 7.0.0:
https://www.zabbix.com/documentation/7.0/en/manual/installation/upgrade_notes_700
Upgrade procedure:
https://www.zabbix.com/documentation/7.0/manual/installation/upgrade/sources
Please see https://www.zabbix.com/ for detailed information about Zabbix.
Official Zabbix documentation:
https://www.zabbix.com/documentation/7.0/en/manual
For Zabbix frontend "Welcome" screen. Enter the user name Admin with password
zabbix to log in as a Zabbix superuser.
For use NMAP please edit sudoers.
This is a Zabbix LTS release!
Zabbix LTS releases are supported for Zabbix customers during five (5) years
i.e. 3 years of Full Support (general, critical and security issues) and 2
additional years of Limited Support (critical and security issues only).
Zabbix LTS version release will result in change of the first version number.
Release name: Zabbix 7.0 LTS
Release date: 2024-06-04
End of Full Support: 2027-06-30
End of Limited Support: 2029-06-31
Zabbix Life Cycle & Release Policy:
https://www.zabbix.com/life_cycle_and_release_policy
EOM
}
]

View file

@ -0,0 +1,67 @@
#!/bin/sh
# PROVIDE: zabbix_agentd
# REQUIRE: DAEMON
# KEYWORD: shutdown
#
# Add the following lines to /etc/rc.conf.local or /etc/rc.conf to
# enable zabbix_agentd:
#
# zabbix_agentd_enable (bool): Set to NO by default. Set it to YES to
# enable zabbix_agentd.
# zabbix_agentd_config (string): Set to the standard config file path by
# default.
# zabbix_agentd_pidfile (string): Location of the zabbix_agent pid file
# Default is /var/run/zabbix/zabbix_agentd.pid
# zabbix_agentd_paths (string): Set to standard path by default. Set a search
# if you have custom userparams that need binaries elsewhere.
#
. /etc/rc.subr
name="zabbix_agentd"
rcvar=zabbix_agentd_enable
load_rc_config $name
: ${zabbix_agentd_enable:=NO}
: ${zabbix_agentd_config:=%%ETCDIR%%/${name}.conf}
: ${zabbix_agentd_pidfile:=/var/run/zabbix/zabbix_agentd.pid}
: ${zabbix_agentd_paths:=$PATH}
command="%%PREFIX%%/sbin/${name}"
required_files="${zabbix_agentd_config}"
start_cmd=zabbix_agentd_cmd
start_precmd=zabbix_agentd_precmd
status_precmd=zabbix_agentd_precmd
stop_precmd=zabbix_agentd_precmd
zabbix_agentd_precmd()
{
pidfile=${zabbix_agentd_pidfile}
if get_pidfile_from_conf PidFile ${zabbix_agentd_config}; then
pidfile="$_pidfile_from_conf"
fi
logfile=/var/log/zabbix/zabbix_agentd.log
if get_pidfile_from_conf LogFile ${zabbix_agentd_config}; then
logfile="$_pidfile_from_conf"
fi
local rundir=${pidfile%/*}
local logdir=${logfile%/*}
[ -d $rundir ] || install -d -m 0755 -o zabbix -g zabbix $rundir
[ -d $logdir ] || install -d -m 0755 -o zabbix -g zabbix $logdir
# This shouldn't be necessary with pidfile, but empirically it was the
# only way to reap the parent PID instead of all PIDs from
# check_process, which may leak SysV IPC objects and prevent restart
# and/or race condition on restart.
rc_pid=$(check_pidfile ${pidfile} ${command})
}
zabbix_agentd_cmd()
{
PATH=$zabbix_agentd_paths $command -c $zabbix_agentd_config
}
run_rc_command "$1"

View file

@ -0,0 +1,47 @@
#!/bin/sh
# PROVIDE: zabbix_java
# REQUIRE: NETWORKING SERVERS
# BEFORE: DAEMON
# KEYWORD: shutdown
#
# Options to configure zabbix_java via /etc/rc.conf:
#
# zabbix_java_enable (bool):
# Enable service on boot.
# Default: NO
#
. /etc/rc.subr
name="zabbix_java"
rcvar=zabbix_java_enable
load_rc_config $name
: ${zabbix_java_enable:=NO}
start_cmd="/usr/bin/su -m zabbix -c %%PREFIX%%/sbin/zabbix_java/startup.sh"
stop_cmd="/usr/bin/su -m zabbix -c %%PREFIX%%/sbin/zabbix_java/shutdown.sh"
status_cmd="zabbix_java_status"
extra_commands="status"
zabbix_java_status() {
if get_pidfile_from_conf PID_FILE %%PREFIX%%/sbin/zabbix_java/settings.sh; then
PID_FILE="$_pidfile_from_conf"
fi
if [ -n "$PID_FILE" -a -f "$PID_FILE" ]; then
PID=`cat "$PID_FILE"`
if ps -p "$PID" > /dev/null 2>&1; then
echo "${name} is running as pid ${PID}"
else
echo "${name} is not running"
fi
else
echo "${name} is not running"
fi
}
run_rc_command "$1"

View file

@ -0,0 +1,71 @@
#!/bin/sh
# PROVIDE: zabbix_proxy
# REQUIRE: DAEMON
%%PGSQL%%# REQUIRE: postgresql
%%MYSQL%%# REQUIRE: mysql
%%MYSQLDV%%# REQUIRE: mysql
%%MDB5%%# REQUIRE: mysql
%%MDB6%%# REQUIRE: mysql
# KEYWORD: shutdown
#
# Add the following lines to /etc/rc.conf.local or /etc/rc.conf to
# enable zabbix_proxy:
#
# zabbix_proxy_enable (bool): Set to NO by default. Set it to YES to
# enable zabbix_proxy.
# zabbix_proxy_config (string): Set to the standard config file path by
# default.
# zabbix_proxy_pidfile (string): Location of the zabbix_proxy pid file
# Default is /var/run/zabbix/zabbix_proxy.pid
# zabbix_proxy_paths (string): Set to standard path by default. Set a search
# if you have custom userparams that need binaries elsewhere.
#
. /etc/rc.subr
name="zabbix_proxy"
rcvar=zabbix_proxy_enable
load_rc_config $name
: ${zabbix_proxy_enable:=NO}
: ${zabbix_proxy_config:=%%ETCDIR%%/${name}.conf}
: ${zabbix_proxy_pidfile:=/var/run/zabbix/zabbix_proxy.pid}
command="%%PREFIX%%/sbin/${name}"
required_files="${zabbix_proxy_config}"
start_cmd=zabbix_proxy_cmd
start_precmd=zabbix_proxy_precmd
status_precmd=zabbix_proxy_precmd
stop_precmd=zabbix_proxy_precmd
zabbix_proxy_precmd()
{
pidfile=${zabbix_proxy_pidfile}
if get_pidfile_from_conf PidFile ${zabbix_proxy_config}; then
pidfile="$_pidfile_from_conf"
fi
logfile=/var/log/zabbix/zabbix_proxy.log
if get_pidfile_from_conf LogFile ${zabbix_proxy_config}; then
logfile="$_pidfile_from_conf"
fi
local rundir=${pidfile%/*}
local logdir=${logfile%/*}
[ -d $rundir ] || install -d -m 0755 -o zabbix -g zabbix $rundir
[ -d $logdir ] || install -d -m 0755 -o zabbix -g zabbix $logdir
# This shouldn't be necessary with pidfile, but empirically it was the
# only way to reap the parent PID instead of all PIDs from
# check_process, which may leak SysV IPC objects and prevent restart
# and/or race condition on restart.
rc_pid=$(check_pidfile ${pidfile} ${command})
}
zabbix_proxy_cmd()
{
PATH=$zabbix_proxy_paths $command -c $zabbix_proxy_config
}
run_rc_command "$1"

View file

@ -0,0 +1,72 @@
#!/bin/sh
# PROVIDE: zabbix_server
# REQUIRE: DAEMON
%%PGSQL%%# REQUIRE: postgresql
%%MYSQL%%# REQUIRE: mysql
%%MYSQLDV%%# REQUIRE: mysql
%%MDB5%%# REQUIRE: mysql
%%MDB6%%# REQUIRE: mysql
# KEYWORD: shutdown
#
# Add the following lines to /etc/rc.conf.local or /etc/rc.conf to
# enable zabbix_server:
#
# zabbix_server_enable (bool): Set to NO by default. Set it to YES to
# enable zabbix_server.
# zabbix_server_config (string): Set to the standard config file path by
# default.
# zabbix_server_pidfile (string): Location of the zabbix_server pid file
# Default is /var/run/zabbix/zabbix_server.pid
# zabbix_server_paths (string): Set to standard path by default. Set a search
# if you have custom userparams that need binaries elsewhere.
#
. /etc/rc.subr
name="zabbix_server"
rcvar=zabbix_server_enable
load_rc_config $name
: ${zabbix_server_enable:=NO}
: ${zabbix_server_config:=%%ETCDIR%%/${name}.conf}
: ${zabbix_server_pidfile:=/var/run/zabbix/zabbix_server.pid}
: ${zabbix_server_paths:=$PATH}
command="%%PREFIX%%/sbin/${name}"
required_files="${zabbix_server_config}"
start_cmd=zabbix_server_cmd
start_precmd=zabbix_server_precmd
status_precmd=zabbix_server_precmd
stop_precmd=zabbix_server_precmd
zabbix_server_precmd()
{
pidfile=${zabbix_server_pidfile}
if get_pidfile_from_conf PidFile ${zabbix_server_config}; then
pidfile="$_pidfile_from_conf"
fi
logfile=/var/log/zabbix/zabbix_server.log
if get_pidfile_from_conf LogFile ${zabbix_server_config}; then
logfile="$_pidfile_from_conf"
fi
local rundir=${pidfile%/*}
local logdir=${logfile%/*}
[ -d $rundir ] || install -d -m 0755 -o zabbix -g zabbix $rundir
[ -d $logdir ] || install -d -m 0755 -o zabbix -g zabbix $logdir
# This shouldn't be necessary with pidfile, but empirically it was the
# only way to reap the parent PID instead of all PIDs from
# check_process, which may leak SysV IPC objects and prevent restart
# and/or race condition on restart.
rc_pid=$(check_pidfile ${pidfile} ${command})
}
zabbix_server_cmd()
{
PATH=$zabbix_server_paths $command -c $zabbix_server_config
}
run_rc_command "$1"

View file

@ -0,0 +1,8 @@
Zabbix is an enterprise-class open source distributed monitoring solution.
Zabbix is software that monitors numerous parameters of a network and the
health and integrity of servers. Zabbix uses a flexible notification
mechanism that allows users to configure e-mail based alerts for virtually
any event. This allows a fast reaction to server problems. Zabbix offers
excellent reporting and data visualisation features based on the stored
data. This makes Zabbix ideal for capacity planning.

View file

@ -0,0 +1,41 @@
%%DATADIR%%/%%ZABBIX_BUILD%%/database/mysql/data.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/mysql/images.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/mysql/option-patches/history_upgrade_prepare.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/mysql/schema.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/oracle/data.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/oracle/images.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/oracle/option-patches/history_upgrade_prepare.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/oracle/option-patches/items_nvarchar_prepare.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/oracle/schema.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/postgresql/data.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/postgresql/images.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/postgresql/option-patches/history_upgrade_prepare.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/postgresql/schema.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/postgresql/timescaledb/option-patches/with-compression/history_upgrade.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/postgresql/timescaledb/option-patches/with-compression/history_upgrade_log.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/postgresql/timescaledb/option-patches/with-compression/history_upgrade_prepare.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/postgresql/timescaledb/option-patches/with-compression/history_upgrade_str.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/postgresql/timescaledb/option-patches/with-compression/history_upgrade_text.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/postgresql/timescaledb/option-patches/with-compression/history_upgrade_uint.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/postgresql/timescaledb/option-patches/with-compression/trends_upgrade.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/postgresql/timescaledb/option-patches/without-compression/history_upgrade.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/postgresql/timescaledb/option-patches/without-compression/history_upgrade_log.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/postgresql/timescaledb/option-patches/without-compression/history_upgrade_prepare.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/postgresql/timescaledb/option-patches/without-compression/history_upgrade_str.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/postgresql/timescaledb/option-patches/without-compression/history_upgrade_text.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/postgresql/timescaledb/option-patches/without-compression/history_upgrade_uint.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/postgresql/timescaledb/option-patches/without-compression/trends_upgrade.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/postgresql/timescaledb/schema.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/sqlite3/data.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/sqlite3/images.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/sqlite3/schema.sql
@sample %%ETCDIR%%/zabbix_%%ZABBIX_BUILD%%.conf.sample
%%PROXY%%bin/zabbix_proxy_js
%%PROXY%%@dir %%ETCDIR%%/zabbix_proxy.conf.d
%%SERVER%%bin/zabbix_js
%%SERVER%%@dir %%ETCDIR%%/zabbix_server.conf.d
%%SERVER%%@dir %%ETCDIR%%/zabbix/alertscripts
share/man/man8/zabbix_%%ZABBIX_BUILD%%.8.gz
sbin/zabbix_%%ZABBIX_BUILD%%
@dir %%ETCDIR%%/zabbix/externalscripts
@dir lib/modules

View file

@ -0,0 +1,9 @@
@sample %%ETCDIR%%/zabbix_agentd.conf.sample
bin/zabbix_get
bin/zabbix_sender
share/man/man1/zabbix_get.1.gz
share/man/man1/zabbix_sender.1.gz
share/man/man8/zabbix_%%ZABBIX_BUILD%%d.8.gz
sbin/zabbix_agentd
@dir %%ETCDIR%%/zabbix_agentd.conf.d
@dir lib/modules

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,11 @@
sbin/zabbix_java/shutdown.sh
sbin/zabbix_java/lib/logback-console.xml
sbin/zabbix_java/lib/logback-core-1.2.9.jar
sbin/zabbix_java/lib/logback-classic-1.2.9.jar
sbin/zabbix_java/lib/logback.xml
sbin/zabbix_java/lib/slf4j-api-1.7.32.jar
sbin/zabbix_java/lib/android-json-4.3_r3.1.jar
@sample sbin/zabbix_java/settings.sh.sample
sbin/zabbix_java/startup.sh
sbin/zabbix_java/bin/zabbix-java-gateway-%%DISTVERSION%%.jar
@dir(zabbix,zabbix,755) /var/run/zabbix