net-mgmt/zabbix64: Add zabbix 6.4 ports

Add new ports for zabbix 6.4, an enterprise-class monitoring system.
Release notes: https://www.zabbix.com/rn/rn6.4.0

PR:		269992
PR:		270012
PR:		270013
2023Q2
Juraj Lutter 2023-03-08 11:18:53 +01:00
parent c671fee529
commit b76c437779
18 changed files with 2399 additions and 0 deletions

View File

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

View File

@ -0,0 +1,11 @@
PORTNAME= zabbix64
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= zabbix64
CATEGORIES= net-mgmt
PKGNAMESUFFIX= -frontend${PHP_PKGNAMESUFFIX}
USES+= php:web,flavors
USE_PHP= bcmath ctype gd gettext mbstring session sockets xml \
xmlreader xmlwriter
IGNORE_WITH_PHP= 82
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= zabbix64
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,7 @@
PORTNAME= zabbix64
CATEGORIES= net-mgmt
PKGNAMESUFFIX= -proxy
MASTERDIR= ${.CURDIR}/../${PORTNAME}-server
.include "${MASTERDIR}/Makefile"

View File

@ -0,0 +1,254 @@
PORTNAME= zabbix64
DISTVERSION= 6.4.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= zabbix[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}
LIB_DEPENDS+= libevent.so:devel/libevent
USE_RC_SUBR= zabbix_${ZABBIX_BUILD}
.else
USE_RC_SUBR= zabbix_${ZABBIX_BUILD}d
.endif
USES= iconv pkgconfig
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
CONFIGURE_ARGS+= --datadir=${ETCDIR} \
--enable-${ZABBIX_BUILD} \
--sysconfdir=${ETCDIR} \
--with-iconv=${ICONV_PREFIX}
PORTSCOUT= limit:^6\.4\.
.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 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
LIBXML2_CONFIGURE_WITH= libxml2=${LOCALBASE}
LIBXML2_LIB_DEPENDS= libxml2.so:textproc/libxml2
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
@${RM} ${WRKSRC}/database/*/Makefile*
(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 = 1678219983
SHA256 (zabbix-6.4.0.tar.gz) = b1c771da8799bf2802e176adcc1f00ee8083834bf8b8b2cc0323a437fe2c62ce
SIZE (zabbix-6.4.0.tar.gz) = 42787621

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,51 @@
[
{ type: install
message: <<EOM
This is a Zabbix Standard release!
Standard Zabbix releases are supported for Zabbix customers during six (6)
months of Full Support (general, critical and security issues) until the next
Zabbix stable release, plus one (1) additional month of Limited Support
(critical and security issues only). Zabbix Standard version release will result
in change of the second version number.
Standard release: Zabbix 6.4
Release date: Mar 07, 2023
End of Full Support: Oct 31, 2023
End of Limited Support: Nov 31, 2023
Zabbix Life Cycle & Release Policy:
https://www.zabbix.com/life_cycle_and_release_policy
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.
To populate the database with initial data:
% cd %%DATADIR%%/%%ZABBIX_BUILD%%/database
and follow the instructions:
https://www.zabbix.com/documentation/6.4/en/manual/appendix/install/db_scripts
Upgrade notes for 6.4.0:
https://www.zabbix.com/documentation/6.4/en/manual/installation/upgrade_notes_640
Upgrade procedure:
https://www.zabbix.com/documentation/current/en/manual/installation/upgrade/sources
Official Zabbix documentation:
https://www.zabbix.com/documentation/6.4/en/manual
Please see https://www.zabbix.com/ for detailed information about Zabbix.
The default credentials for zabbix frontend is:
Username: Admin
Password: zabbix
For use NMAP please edit sudoers.
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,68 @@
#!/bin/sh
# PROVIDE: zabbix_proxy
# REQUIRE: DAEMON
%%PGSQL%%# REQUIRE: postgresql
%%MYSQL%%# 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,69 @@
#!/bin/sh
# PROVIDE: zabbix_server
# REQUIRE: DAEMON
%%PGSQL%%# REQUIRE: postgresql
%%MYSQL%%# 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,39 @@
%%DATADIR%%/%%ZABBIX_BUILD%%/database/mysql/data.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/mysql/double.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/mysql/history_pk_prepare.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/mysql/images.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/mysql/schema.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/oracle/data.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/oracle/double.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/oracle/history_pk_prepare.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/oracle/images.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/oracle/schema.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/postgresql/data.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/postgresql/double.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/postgresql/history_pk_prepare.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/postgresql/images.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/postgresql/schema.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/postgresql/timescaledb.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/postgresql/tsdb_history_pk_upgrade_no_compression/history_pk.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/postgresql/tsdb_history_pk_upgrade_no_compression/history_pk_log.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/postgresql/tsdb_history_pk_upgrade_no_compression/history_pk_str.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/postgresql/tsdb_history_pk_upgrade_no_compression/history_pk_text.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/postgresql/tsdb_history_pk_upgrade_no_compression/history_pk_uint.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/postgresql/tsdb_history_pk_upgrade_with_compression/history_pk.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/postgresql/tsdb_history_pk_upgrade_with_compression/history_pk_log.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/postgresql/tsdb_history_pk_upgrade_with_compression/history_pk_str.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/postgresql/tsdb_history_pk_upgrade_with_compression/history_pk_text.sql
%%DATADIR%%/%%ZABBIX_BUILD%%/database/postgresql/tsdb_history_pk_upgrade_with_compression/history_pk_uint.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
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
man/man1/zabbix_get.1.gz
man/man1/zabbix_sender.1.gz
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