Import Zabbix 5.0 LTS as wip/zabbix50-*

These packages provides latest LTS version of sysutils/zabbix and
sysutils/zabbix-frontend.

Zabbix contains some components like as server, agent, proxy and
others. I think one package should contains just one components.
This is reason why I divided sysutils/zabbix package into
wip/zabbix50-agent, wip/zabbix50-proxy and wip/zabbix50-server.

KNOWN ISSUES:

 * pkglint -e shows some warnings.
   * ... is registered in distinfo but not added to CVS. (in all)
   * ../../databases/openldap-client/buildlink3.mk:17: Variable
     CHECK_BUILTIN.openldap-client is overwritten in line 19.
     (in server/proxy)
   * options.mk:4: Unknown option "libssh". (in server/proxy)

 * Failed to start zabbix_server because "cannot remove shared memory
   for self-monitoring collector: [22] Invalid argument".

 * More documentation (install-message) needed around Zabbix frontend.

 * There is no java-gateway and agent2 package.
This commit is contained in:
Yuuki Enomoto 2020-08-08 22:46:01 +09:00
parent 1d5d8a69d8
commit 37b07b8b25
32 changed files with 1915 additions and 0 deletions

View File

@ -5127,6 +5127,10 @@ SUBDIR+= you-get
SUBDIR+= yp-tools
SUBDIR+= ypbind-mt
SUBDIR+= ypserv
SUBDIR+= zabbix50-agent
SUBDIR+= zabbix50-frontend
SUBDIR+= zabbix50-proxy
SUBDIR+= zabbix50-server
SUBDIR+= zapping
SUBDIR+= zbackup
SUBDIR+= zdbsp

10
zabbix50-agent/DESCR Normal file
View File

@ -0,0 +1,10 @@
Zabbix is the ultimate enterprise-level software designed for monitoring
availability and performance of IT infrastructure components. Zabbix is open
source and comes at no cost.
With Zabbix it is possible to gather virtually limitless types of data from
the network. High performance real-time monitoring means that tens of thousands
of servers, virtual machines and network devices can be monitored
simultaneously. Along with storing the data, visualization features are
available (overviews, maps, graphs, screens, etc), as well as very flexible
ways of analyzing the data for the purpose of alerting.

48
zabbix50-agent/Makefile Normal file
View File

@ -0,0 +1,48 @@
# $NetBSD: Makefile,v 1.37 2020/06/20 12:43:46 gdt Exp $
.include "../../sysutils/zabbix50-server/Makefile.common"
PKGNAME= ${DISTNAME:S/-/-agent-/}
COMMENT= Enterprise-class Monitoring Solution for Everyone
USE_TOOLS+= pkg-config
GNU_CONFIGURE= yes
CONFIGURE_ARGS+= --enable-agent
CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR}
CONFIGURE_ARGS+= --with-libcurl
CONFIGURE_ARGS+= --with-libpcre=${BUILDLINK_PREFIX.pcre}
CONFIGURE_ARGS+= --with-openssl=${BUILDLINK_PREFIX.openssl}
EGDIR= share/examples/zabbix
CONF_FILES+= ${EGDIR}/zabbix_agentd.conf ${PKG_SYSCONFDIR}/zabbix_agentd.conf
RCD_SCRIPTS= zabbix_agentd
INSTALLATION_DIRS+= ${EGDIR} share/zabbix
SUBST_CLASSES+= fix-paths
SUBST_STAGE.fix-paths= pre-configure
SUBST_MESSAGE.fix-paths= Fixing absolute paths.
SUBST_FILES.fix-paths= conf/*.conf
SUBST_FILES.fix-paths+= man/*.man
SUBST_SED.fix-paths= -e 's,/usr/local/etc,${PKG_SYSCONFDIR},g'
.include "../../mk/bsd.prefs.mk"
ZABBIX_GROUP?= zabbix
ZABBIX_USER?= zabbix
PKG_GROUPS+= ${ZABBIX_GROUP}
PKG_USERS+= ${ZABBIX_USER}:${ZABBIX_GROUP}
PKG_GECOS.${ZABBIX_USER}= Zabbix user
FILES_SUBST+= ZABBIX_USER=${ZABBIX_USER}
FILES_SUBST+= ZABBIX_GROUP=${ZABBIX_GROUP}
SMF_INSTANCES= agent
.include "options.mk"
.include "../../security/openssl/buildlink3.mk"
.include "../../www/curl/buildlink3.mk"
.include "../../devel/pcre/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

11
zabbix50-agent/PLIST Normal file
View File

@ -0,0 +1,11 @@
@comment $NetBSD$
bin/zabbix_get
bin/zabbix_sender
man/man1/zabbix_get.1
man/man1/zabbix_sender.1
man/man8/zabbix_agentd.8
sbin/zabbix_agentd
share/examples/zabbix/zabbix_agentd.conf
@pkgdir share/zabbix
@pkgdir lib/modules
@pkgdir etc/zabbix_agentd.conf.d

7
zabbix50-agent/distinfo Normal file
View File

@ -0,0 +1,7 @@
$NetBSD: distinfo,v 1.19 2020/06/20 12:43:46 gdt Exp $
SHA1 (zabbix-5.0.2.tar.gz) = d1ef17c3d4878f8a3a4cffe4796123c0d118123a
RMD160 (zabbix-5.0.2.tar.gz) = 70a4b471452856be1b6c48f3f9d672c2b611ba62
SHA512 (zabbix-5.0.2.tar.gz) = 81cf26d67e4e4df388dd6505db6f7451cf2f05aa6ac7b5d043c32eec89053cf133075bbb289cfb5b15f48a3eb94f6462427047777035ab09cc1dfeefba926dd6
Size (zabbix-5.0.2.tar.gz) = 18823956 bytes
SHA1 (patch-src_zabbix__agent_Makefile.in) = b74b47ffc4b8f16046778cacd9be2b7207d7f549

View File

@ -0,0 +1,30 @@
<?xml version="1.0"?>
<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
<service_bundle type="manifest" name="export">
<service name="@SMF_PREFIX@/@SMF_NAME@" type="service" version="1">
<dependency name="fs-local" grouping="require_all" restart_on="none" type="service">
<service_fmri value="svc:/system/filesystem/local"/>
</dependency>
<dependency name="network-service" grouping="require_all" restart_on="none" type="service">
<service_fmri value="svc:/network/service"/>
</dependency>
<dependency name="system-log" grouping="optional_all" restart_on="none" type="service">
<service_fmri value="svc:/system/system-log"/>
</dependency>
<method_context>
<method_credential user="@ZABBIX_USER@" group="@ZABBIX_GROUP@"/>
</method_context>
<instance name="agent" enabled="false">
<dependency name="config-file" grouping="require_all" restart_on="refresh" type="path">
<service_fmri value="file://localhost@PKG_SYSCONFDIR@/zabbix_agentd.conf"/>
</dependency>
<exec_method name="start" type="method" exec="@PREFIX@/sbin/zabbix_agentd -c @PKG_SYSCONFDIR@/zabbix_agentd.conf" timeout_seconds="0"/>
<exec_method name="stop" type="method" exec=":kill" timeout_seconds="0"/>
<template>
<common_name>
<loctext xml:lang="C">Zabbix agent</loctext>
</common_name>
</template>
</instance>
</service>
</service_bundle>

View File

@ -0,0 +1,25 @@
#!@RCD_SCRIPTS_SHELL@
#
# $NetBSD: zabbix_agentd.sh,v 1.1 2017/05/21 17:30:03 adam Exp $
#
# Zabbix agent daemon
#
# REQUIRE: DAEMON
# PROVIDE: zabbix_agentd
if [ -f /etc/rc.subr ]; then
. /etc/rc.subr
fi
name="zabbix_agentd"
rcvar=${name}
command="@PREFIX@/sbin/${name}"
required_files="@PKG_SYSCONFDIR@/${name}.conf"
if [ -f /etc/rc.subr ]; then
load_rc_config ${name}
run_rc_command "$1"
else
@ECHO@ -n " ${name}"
${command} ${command_args}
fi

14
zabbix50-agent/options.mk Normal file
View File

@ -0,0 +1,14 @@
# $NetBSD: options.mk,v 1.1 2017/05/21 17:30:03 adam Exp $
PKG_OPTIONS_VAR= PKG_OPTIONS.zabbix50-agent
PKG_SUPPORTED_OPTIONS+= inet6
.if empty(MISSING_FEATURES:Minet6)
PKG_SUGGESTED_OPTIONS+= inet6
.endif
.include "../../mk/bsd.options.mk"
.if !empty(PKG_OPTIONS:Minet6)
CONFIGURE_ARGS+= --enable-ipv6
.endif

View File

@ -0,0 +1,15 @@
$NetBSD: patch-src_zabbix__agent_Makefile.in,v 1.2 2018/11/12 10:51:34 he Exp $
Install config files in example dir.
--- src/zabbix_agent/Makefile.in.orig 2020-07-13 07:56:40.000000000 +0000
+++ src/zabbix_agent/Makefile.in
@@ -1092,7 +1092,7 @@ uninstall-am: uninstall-sbinPROGRAMS
install-data-hook:
$(MKDIR_P) "$(DESTDIR)$(AGENT_CONFIG_FILE).d"
$(MKDIR_P) "$(DESTDIR)$(LOAD_MODULE_PATH)"
- test -f "$(DESTDIR)$(AGENT_CONFIG_FILE)" || cp "../../conf/zabbix_agentd.conf" "$(DESTDIR)$(AGENT_CONFIG_FILE)"
+ cp "../../conf/zabbix_agentd.conf" "$(DESTDIR)${PREFIX}/share/examples/zabbix"
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.

10
zabbix50-frontend/DESCR Normal file
View File

@ -0,0 +1,10 @@
Zabbix is the ultimate enterprise-level software designed for monitoring
availability and performance of IT infrastructure components. Zabbix is open
source and comes at no cost.
With Zabbix it is possible to gather virtually limitless types of data from
the network. High performance real-time monitoring means that tens of thousands
of servers, virtual machines and network devices can be monitored
simultaneously. Along with storing the data, visualization features are
available (overviews, maps, graphs, screens, etc), as well as very flexible
ways of analyzing the data for the purpose of alerting.

View File

@ -0,0 +1,44 @@
# $NetBSD: Makefile,v 1.6 2020/06/20 12:43:46 gdt Exp $
.include "../../sysutils/zabbix50-server/Makefile.common"
PKGNAME= ${DISTNAME:S/-/-frontend-/}
COMMENT= Zabbix PHP 7.2+ frontend
EGDIR= share/examples/zabbix
USE_TOOLS+= pax
NO_BUILD= yes
do-configure:
${DO_NADA}
REPLACE_SH+= ui/locale/*.sh
.include "../../mk/bsd.prefs.mk"
BUILD_DEFS+= APACHE_GROUP APACHE_USER
PKG_GROUPS_VARS+= ${APACHE_GROUP}
PKG_USERS_VARS= ${APACHE_USER}
DEPENDS+= ${PHP_PKG_PREFIX}-bcmath>=7.2.0:../../math/php-bcmath
DEPENDS+= ${PHP_PKG_PREFIX}-gd>=7.2.0:../../graphics/php-gd
DEPENDS+= ${PHP_PKG_PREFIX}-gettext>=7.2.0:../../devel/php-gettext
DEPENDS+= ${PHP_PKG_PREFIX}-json>=7.2.0:../../textproc/php-json
DEPENDS+= ${PHP_PKG_PREFIX}-ldap>=7.2.0:../../databases/php-ldap
DEPENDS+= ${PHP_PKG_PREFIX}-mbstring>=7.2.0:../../converters/php-mbstring
DEPENDS+= ${PHP_PKG_PREFIX}-mysqli>=7.2.0:../../databases/php-mysqli
DEPENDS+= ${PHP_PKG_PREFIX}-pgsql>=7.2.0:../../databases/php-pgsql
DEPENDS+= ${PHP_PKG_PREFIX}-sockets>=7.2.0:../../net/php-sockets
DEPENDS+= ${PHP_PKG_PREFIX}-sysvsem>=7.2.0:../../devel/php-sysvsem
INSTALLATION_DIRS+= ${EGDIR} share/zabbix
do-install:
rm -f ${WRKSRC}/ui/locale/*.orig
cd ${WRKSRC}/ui; ${PAX} -rw . ${DESTDIR}${PREFIX}/share/zabbix/
${INSTALL_DATA} ${FILESDIR}/httpd-zabbix.conf ${DESTDIR}${PREFIX}/${EGDIR}
${INSTALL_DATA} ${FILESDIR}/php-fpm-zabbix.conf ${DESTDIR}${PREFIX}/${EGDIR}
.include "../../lang/php/phpversion.mk"
.include "../../mk/bsd.pkg.mk"

1184
zabbix50-frontend/PLIST Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,6 @@
$NetBSD$
SHA1 (zabbix-5.0.2.tar.gz) = d1ef17c3d4878f8a3a4cffe4796123c0d118123a
RMD160 (zabbix-5.0.2.tar.gz) = 70a4b471452856be1b6c48f3f9d672c2b611ba62
SHA512 (zabbix-5.0.2.tar.gz) = 81cf26d67e4e4df388dd6505db6f7451cf2f05aa6ac7b5d043c32eec89053cf133075bbb289cfb5b15f48a3eb94f6462427047777035ab09cc1dfeefba926dd6
Size (zabbix-5.0.2.tar.gz) = 18823956 bytes

View File

@ -0,0 +1,40 @@
Alias /zabbix /usr/pkg/share/zabbix
<Directory "/usr/pkg/share/zabbix">
Options -FollowSymLinks
AllowOverride Limit
<LimitExcept POST GET>
Order deny,allow
Deny from all
</LimitExcept>
<IfModule mod_authz_core.c>
Require all granted
</IfModule>
<IfModule !mod_authz_core.c>
Order allow,deny
Allow from all
</IfModule>
<files *.php>
SetHandler application/x-httpd-php
SetHandler "proxy:unix:/var/run/php-fpm_zabbix.sock|fcgi://localhost"
</files>
</Directory>
<Directory ~ "^/usr/pkg/share/zabbix/(conf|api|include|local)/">
<IfModule mod_authz_core.c>
Require all denied
</IfModule>
<IfModule !mod_authz_core.c>
Order deny,allow
Deny from all
</IfModule>
<files *.php>
<IfModule mod_authz_core.c>
Require all denied
</IfModule>
<IfModule !mod_authz_core.c>
Order deny,allow
Deny from all
</IfModule>
</files>
</Directory>

View File

@ -0,0 +1,25 @@
[zabbix]
user = www
group = www
listen = /var/run/php-fpm_zabbix.sock
listen.owner = www
listen.group = www
listen.allowed_clients = 127.0.0.1
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
php_value[session.save_handler] = files
php_value[max_execution_time] = 300
php_value[memory_limit] = 512M
php_value[post_max_size] = 128M
php_value[upload_max_filesize] = 128M
php_value[max_input_time] = 300
php_value[max_input_vars] = 10000
php_value[always_populate_raw_post_data] = -1
;php_value[date.timezone] = Asia/Tokyo

10
zabbix50-proxy/DESCR Normal file
View File

@ -0,0 +1,10 @@
Zabbix is the ultimate enterprise-level software designed for monitoring
availability and performance of IT infrastructure components. Zabbix is open
source and comes at no cost.
With Zabbix it is possible to gather virtually limitless types of data from
the network. High performance real-time monitoring means that tens of thousands
of servers, virtual machines and network devices can be monitored
simultaneously. Along with storing the data, visualization features are
available (overviews, maps, graphs, screens, etc), as well as very flexible
ways of analyzing the data for the purpose of alerting.

63
zabbix50-proxy/Makefile Normal file
View File

@ -0,0 +1,63 @@
# $NetBSD: Makefile,v 1.37 2020/06/20 12:43:46 gdt Exp $
.include "../../sysutils/zabbix50-server/Makefile.common"
PKGNAME= ${DISTNAME:S/-/-proxy-/}
COMMENT= Enterprise-class Monitoring Solution for Everyone
USE_TOOLS+= pax pkg-config
GNU_CONFIGURE= yes
CONFIGURE_ARGS+= --enable-proxy
CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR}
CONFIGURE_ARGS+= --with-iconv=${BUILDLINK_PREFIX.iconv}
CONFIGURE_ARGS+= --with-ldap=${BUILDLINK_PREFIX.openldap-client}
CONFIGURE_ARGS+= --with-libcurl
CONFIGURE_ARGS+= --with-libevent=${BUILDLINK_PREFIX.libevent}
CONFIGURE_ARGS+= --with-libpcre=${BUILDLINK_PREFIX.pcre}
CONFIGURE_ARGS+= --with-libxml2
CONFIGURE_ARGS+= --with-openssl=${BUILDLINK_PREFIX.openssl}
CONFIGURE_ARGS+= --with-zlib=${BUILDLINK_PREFIX.zlib}
EGDIR= share/examples/zabbix
CONF_FILES+= ${EGDIR}/zabbix_proxy.conf ${PKG_SYSCONFDIR}/zabbix_proxy.conf
RCD_SCRIPTS= zabbix_proxy
INSTALLATION_DIRS+= ${EGDIR} share/zabbix
SUBST_CLASSES+= fix-paths
SUBST_STAGE.fix-paths= pre-configure
SUBST_MESSAGE.fix-paths= Fixing absolute paths.
SUBST_FILES.fix-paths= conf/*.conf
SUBST_FILES.fix-paths+= man/*.man
SUBST_SED.fix-paths= -e 's,/usr/local/etc,${PKG_SYSCONFDIR},g'
.include "../../mk/bsd.prefs.mk"
ZABBIX_GROUP?= zabbix
ZABBIX_USER?= zabbix
PKG_GROUPS+= ${ZABBIX_GROUP}
PKG_USERS+= ${ZABBIX_USER}:${ZABBIX_GROUP}
PKG_GECOS.${ZABBIX_USER}= Zabbix user
FILES_SUBST+= ZABBIX_USER=${ZABBIX_USER}
FILES_SUBST+= ZABBIX_GROUP=${ZABBIX_GROUP}
SMF_INSTANCES= proxy
post-install:
cd ${WRKSRC}/database/${ZABBIX_DB_TYPE}; \
${PAX} -rw . ${DESTDIR}${PREFIX}/share/zabbix/
rm ${DESTDIR}${PREFIX}/share/zabbix/Makefile*
.include "options.mk"
.include "../../converters/libiconv/buildlink3.mk"
.include "../../databases/openldap-client/buildlink3.mk"
.include "../../devel/libevent/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
.include "../../security/openssl/buildlink3.mk"
.include "../../textproc/libxml2/buildlink3.mk"
.include "../../www/curl/buildlink3.mk"
.include "../../devel/pcre/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

13
zabbix50-proxy/PLIST Normal file
View File

@ -0,0 +1,13 @@
@comment $NetBSD$
bin/zabbix_js
man/man8/zabbix_proxy.8
sbin/zabbix_proxy
share/examples/zabbix/zabbix_proxy.conf
share/zabbix/data.sql
share/zabbix/double.sql
share/zabbix/images.sql
share/zabbix/schema.sql
share/zabbix/timescaledb.sql
@pkgdir share/zabbix/externalscripts
@pkgdir lib/modules
@pkgdir etc/zabbix_proxy.conf.d

7
zabbix50-proxy/distinfo Normal file
View File

@ -0,0 +1,7 @@
$NetBSD: distinfo,v 1.19 2020/06/20 12:43:46 gdt Exp $
SHA1 (zabbix-5.0.2.tar.gz) = d1ef17c3d4878f8a3a4cffe4796123c0d118123a
RMD160 (zabbix-5.0.2.tar.gz) = 70a4b471452856be1b6c48f3f9d672c2b611ba62
SHA512 (zabbix-5.0.2.tar.gz) = 81cf26d67e4e4df388dd6505db6f7451cf2f05aa6ac7b5d043c32eec89053cf133075bbb289cfb5b15f48a3eb94f6462427047777035ab09cc1dfeefba926dd6
Size (zabbix-5.0.2.tar.gz) = 18823956 bytes
SHA1 (patch-src_zabbix__proxy_Makefile.in) = 222264bb6145dcd180657e657899aa960fba6d2e

View File

@ -0,0 +1,30 @@
<?xml version="1.0"?>
<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
<service_bundle type="manifest" name="export">
<service name="@SMF_PREFIX@/@SMF_NAME@" type="service" version="1">
<dependency name="fs-local" grouping="require_all" restart_on="none" type="service">
<service_fmri value="svc:/system/filesystem/local"/>
</dependency>
<dependency name="network-service" grouping="require_all" restart_on="none" type="service">
<service_fmri value="svc:/network/service"/>
</dependency>
<dependency name="system-log" grouping="optional_all" restart_on="none" type="service">
<service_fmri value="svc:/system/system-log"/>
</dependency>
<method_context>
<method_credential user="@ZABBIX_USER@" group="@ZABBIX_GROUP@"/>
</method_context>
<instance name="proxy" enabled="false">
<dependency name="config-file" grouping="require_all" restart_on="refresh" type="path">
<service_fmri value="file://localhost@PKG_SYSCONFDIR@/zabbix_proxy.conf"/>
</dependency>
<exec_method name="start" type="method" exec="@PREFIX@/sbin/zabbix_proxy -c @PKG_SYSCONFDIR@/zabbix_proxy.conf" timeout_seconds="0"/>
<exec_method name="stop" type="method" exec=":kill" timeout_seconds="0"/>
<template>
<common_name>
<loctext xml:lang="C">Zabbix proxy</loctext>
</common_name>
</template>
</instance>
</service>
</service_bundle>

View File

@ -0,0 +1,25 @@
#!@RCD_SCRIPTS_SHELL@
#
# $NetBSD: zabbix_proxy.sh,v 1.1 2017/05/21 17:30:03 adam Exp $
#
# Zabbix proxy daemon
#
# REQUIRE: DAEMON
# PROVIDE: zabbix_proxy
if [ -f /etc/rc.subr ]; then
. /etc/rc.subr
fi
name="zabbix_proxy"
rcvar=${name}
command="@PREFIX@/sbin/${name}"
required_files="@PKG_SYSCONFDIR@/${name}.conf"
if [ -f /etc/rc.subr ]; then
load_rc_config ${name}
run_rc_command "$1"
else
@ECHO@ -n " ${name}"
${command} ${command_args}
fi

50
zabbix50-proxy/options.mk Normal file
View File

@ -0,0 +1,50 @@
# $NetBSD: options.mk,v 1.1 2017/05/21 17:30:03 adam Exp $
PKG_OPTIONS_VAR= PKG_OPTIONS.zabbix50-proxy
PKG_SUPPORTED_OPTIONS+= inet6 libssh libssh2 snmp
PKG_OPTIONS_OPTIONAL_GROUPS= database
PKG_OPTIONS_GROUP.database= mysql pgsql sqlite3
PKG_SUGGESTED_OPTIONS+= libssh snmp pgsql
.if empty(MISSING_FEATURES:Minet6)
PKG_SUGGESTED_OPTIONS+= inet6
.endif
.include "../../mk/bsd.options.mk"
.if !empty(PKG_OPTIONS:Minet6)
CONFIGURE_ARGS+= --enable-ipv6
.endif
.if !empty(PKG_OPTIONS:Mlibssh2)
CONFIGURE_ARGS+= --with-ssh2=${BUILDLINK_PREFIX.libssh2}
.include "../../security/libssh2/buildlink3.mk"
.endif
.if !empty(PKG_OPTIONS:Mlibssh)
CONFIGURE_ARGS+= --with-ssh=${BUILDLINK_PREFIX.libssh}
.include "../../security/libssh/buildlink3.mk"
.endif
.if !empty(PKG_OPTIONS:Mmysql)
CONFIGURE_ARGS+= --with-mysql
.include "../../mk/mysql.buildlink3.mk"
ZABBIX_DB_TYPE= mysql
.endif
.if !empty(PKG_OPTIONS:Msnmp)
CONFIGURE_ARGS+= --with-net-snmp
.include "../../net/net-snmp/buildlink3.mk"
.endif
.if !empty(PKG_OPTIONS:Mpgsql)
CONFIGURE_ARGS+= --with-postgresql
.include "../../mk/pgsql.buildlink3.mk"
ZABBIX_DB_TYPE= postgresql
.endif
.if !empty(PKG_OPTIONS:Msqlite3)
CONFIGURE_ARGS+= --with-sqlite3=${BUILDLINK_PREFIX.sqlite3}
.include "../../databases/sqlite3/buildlink3.mk"
ZABBIX_DB_TYPE= sqlite3
.endif

View File

@ -0,0 +1,15 @@
$NetBSD: patch-src_zabbix__proxy_Makefile.in,v 1.2 2018/11/12 10:51:34 he Exp $
Install zabbix proxy config in example directory.
--- src/zabbix_proxy/Makefile.in.orig 2020-07-13 07:56:40.000000000 +0000
+++ src/zabbix_proxy/Makefile.in
@@ -1062,7 +1062,7 @@ install-data-hook:
$(MKDIR_P) "$(DESTDIR)$(PROXY_CONFIG_FILE).d"
$(MKDIR_P) "$(DESTDIR)$(EXTERNAL_SCRIPTS_PATH)"
$(MKDIR_P) "$(DESTDIR)$(LOAD_MODULE_PATH)"
- test -f "$(DESTDIR)$(PROXY_CONFIG_FILE)" || cp "../../conf/zabbix_proxy.conf" "$(DESTDIR)$(PROXY_CONFIG_FILE)"
+ cp "../../conf/zabbix_proxy.conf" "$(DESTDIR)${PREFIX}/share/examples/zabbix"
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.

10
zabbix50-server/DESCR Normal file
View File

@ -0,0 +1,10 @@
Zabbix is the ultimate enterprise-level software designed for monitoring
availability and performance of IT infrastructure components. Zabbix is open
source and comes at no cost.
With Zabbix it is possible to gather virtually limitless types of data from
the network. High performance real-time monitoring means that tens of thousands
of servers, virtual machines and network devices can be monitored
simultaneously. Along with storing the data, visualization features are
available (overviews, maps, graphs, screens, etc), as well as very flexible
ways of analyzing the data for the purpose of alerting.

65
zabbix50-server/Makefile Normal file
View File

@ -0,0 +1,65 @@
# $NetBSD: Makefile,v 1.37 2020/06/20 12:43:46 gdt Exp $
.include "Makefile.common"
PKGNAME= ${DISTNAME:S/-/-server-/}
COMMENT= Enterprise-class Monitoring Solution for Everyone
DEPENDS+= fping-[0-9]*:../../net/fping
USE_TOOLS+= pax pkg-config
GNU_CONFIGURE= yes
CONFIGURE_ARGS+= --enable-server
CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR}
CONFIGURE_ARGS+= --with-iconv=${BUILDLINK_PREFIX.iconv}
CONFIGURE_ARGS+= --with-ldap=${BUILDLINK_PREFIX.openldap-client}
CONFIGURE_ARGS+= --with-libcurl
CONFIGURE_ARGS+= --with-libevent=${BUILDLINK_PREFIX.libevent}
CONFIGURE_ARGS+= --with-libpcre=${BUILDLINK_PREFIX.pcre}
CONFIGURE_ARGS+= --with-libxml2
CONFIGURE_ARGS+= --with-openssl=${BUILDLINK_PREFIX.openssl}
CONFIGURE_ARGS+= --with-zlib=${BUILDLINK_PREFIX.zlib}
EGDIR= share/examples/zabbix
CONF_FILES+= ${EGDIR}/zabbix_server.conf ${PKG_SYSCONFDIR}/zabbix_server.conf
RCD_SCRIPTS= zabbix_server
INSTALLATION_DIRS+= ${EGDIR} share/zabbix
SUBST_CLASSES+= fix-paths
SUBST_STAGE.fix-paths= pre-configure
SUBST_MESSAGE.fix-paths= Fixing absolute paths.
SUBST_FILES.fix-paths= conf/*.conf
SUBST_FILES.fix-paths+= man/*.man
SUBST_SED.fix-paths= -e 's,/usr/local/etc,${PKG_SYSCONFDIR},g'
.include "../../mk/bsd.prefs.mk"
ZABBIX_GROUP?= zabbix
ZABBIX_USER?= zabbix
PKG_GROUPS+= ${ZABBIX_GROUP}
PKG_USERS+= ${ZABBIX_USER}:${ZABBIX_GROUP}
PKG_GECOS.${ZABBIX_USER}= Zabbix user
FILES_SUBST+= ZABBIX_USER=${ZABBIX_USER}
FILES_SUBST+= ZABBIX_GROUP=${ZABBIX_GROUP}
SMF_INSTANCES= server
post-install:
cd ${WRKSRC}/database/${ZABBIX_DB_TYPE}; \
${PAX} -rw . ${DESTDIR}${PREFIX}/share/zabbix/
rm ${DESTDIR}${PREFIX}/share/zabbix/Makefile*
.include "options.mk"
.include "../../converters/libiconv/buildlink3.mk"
.include "../../databases/openldap-client/buildlink3.mk"
.include "../../devel/libevent/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
.include "../../security/openssl/buildlink3.mk"
.include "../../textproc/libxml2/buildlink3.mk"
.include "../../www/curl/buildlink3.mk"
.include "../../devel/pcre/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

View File

@ -0,0 +1,13 @@
# $NetBSD: Makefile.common,v 1.16 2020/06/20 12:43:46 gdt Exp $
# used by sysutils/zabbix50-agent/Makefile
# used by sysutils/zabbix50-proxy/Makefile
# used by sysutils/zabbix50-server/Makefile
# used by sysutils/zabbix50-frontend/Makefile
DISTNAME= zabbix-5.0.2
CATEGORIES= sysutils
MASTER_SITES= https://cdn.zabbix.com/zabbix/sources/stable/5.0/
MAINTAINER?= pkgsrc-users@NetBSD.org
HOMEPAGE= https://www.zabbix.com/
LICENSE= gnu-gpl-v2

14
zabbix50-server/PLIST Normal file
View File

@ -0,0 +1,14 @@
@comment $NetBSD$
bin/zabbix_js
man/man8/zabbix_server.8
sbin/zabbix_server
share/examples/zabbix/zabbix_server.conf
share/zabbix/data.sql
share/zabbix/double.sql
share/zabbix/images.sql
share/zabbix/schema.sql
share/zabbix/timescaledb.sql
@pkgdir share/zabbix/externalscripts
@pkgdir share/zabbix/alertscripts
@pkgdir lib/modules
@pkgdir etc/zabbix_server.conf.d

7
zabbix50-server/distinfo Normal file
View File

@ -0,0 +1,7 @@
$NetBSD: distinfo,v 1.19 2020/06/20 12:43:46 gdt Exp $
SHA1 (zabbix-5.0.2.tar.gz) = d1ef17c3d4878f8a3a4cffe4796123c0d118123a
RMD160 (zabbix-5.0.2.tar.gz) = 70a4b471452856be1b6c48f3f9d672c2b611ba62
SHA512 (zabbix-5.0.2.tar.gz) = 81cf26d67e4e4df388dd6505db6f7451cf2f05aa6ac7b5d043c32eec89053cf133075bbb289cfb5b15f48a3eb94f6462427047777035ab09cc1dfeefba926dd6
Size (zabbix-5.0.2.tar.gz) = 18823956 bytes
SHA1 (patch-src_zabbix__server_Makefile.in) = b4375c322e4d683fc8cd98e94d8f769e7592605e

View File

@ -0,0 +1,30 @@
<?xml version="1.0"?>
<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
<service_bundle type="manifest" name="export">
<service name="@SMF_PREFIX@/@SMF_NAME@" type="service" version="1">
<dependency name="fs-local" grouping="require_all" restart_on="none" type="service">
<service_fmri value="svc:/system/filesystem/local"/>
</dependency>
<dependency name="network-service" grouping="require_all" restart_on="none" type="service">
<service_fmri value="svc:/network/service"/>
</dependency>
<dependency name="system-log" grouping="optional_all" restart_on="none" type="service">
<service_fmri value="svc:/system/system-log"/>
</dependency>
<method_context>
<method_credential user="@ZABBIX_USER@" group="@ZABBIX_GROUP@"/>
</method_context>
<instance name="server" enabled="false">
<dependency name="config-file" grouping="require_all" restart_on="refresh" type="path">
<service_fmri value="file://localhost@PKG_SYSCONFDIR@/zabbix_server.conf"/>
</dependency>
<exec_method name="start" type="method" exec="@PREFIX@/sbin/zabbix_server -c @PKG_SYSCONFDIR@/zabbix_server.conf" timeout_seconds="0"/>
<exec_method name="stop" type="method" exec=":kill" timeout_seconds="0"/>
<template>
<common_name>
<loctext xml:lang="C">Zabbix server</loctext>
</common_name>
</template>
</instance>
</service>
</service_bundle>

View File

@ -0,0 +1,25 @@
#!@RCD_SCRIPTS_SHELL@
#
# $NetBSD: zabbix_server.sh,v 1.1 2017/05/21 17:30:03 adam Exp $
#
# Zabbix server daemon
#
# REQUIRE: DAEMON
# PROVIDE: zabbix_server
if [ -f /etc/rc.subr ]; then
. /etc/rc.subr
fi
name="zabbix_server"
rcvar=${name}
command="@PREFIX@/sbin/${name}"
required_files="@PKG_SYSCONFDIR@/${name}.conf"
if [ -f /etc/rc.subr ]; then
load_rc_config ${name}
run_rc_command "$1"
else
@ECHO@ -n " ${name}"
${command} ${command_args}
fi

View File

@ -0,0 +1,50 @@
# $NetBSD: options.mk,v 1.1 2017/05/21 17:30:03 adam Exp $
PKG_OPTIONS_VAR= PKG_OPTIONS.zabbix50-server
PKG_SUPPORTED_OPTIONS+= inet6 libssh libssh2 snmp
PKG_OPTIONS_OPTIONAL_GROUPS= database
PKG_OPTIONS_GROUP.database= mysql pgsql sqlite3
PKG_SUGGESTED_OPTIONS+= libssh snmp pgsql
.if empty(MISSING_FEATURES:Minet6)
PKG_SUGGESTED_OPTIONS+= inet6
.endif
.include "../../mk/bsd.options.mk"
.if !empty(PKG_OPTIONS:Minet6)
CONFIGURE_ARGS+= --enable-ipv6
.endif
.if !empty(PKG_OPTIONS:Mlibssh2)
CONFIGURE_ARGS+= --with-ssh2=${BUILDLINK_PREFIX.libssh2}
.include "../../security/libssh2/buildlink3.mk"
.endif
.if !empty(PKG_OPTIONS:Mlibssh)
CONFIGURE_ARGS+= --with-ssh=${BUILDLINK_PREFIX.libssh}
.include "../../security/libssh/buildlink3.mk"
.endif
.if !empty(PKG_OPTIONS:Mmysql)
CONFIGURE_ARGS+= --with-mysql
.include "../../mk/mysql.buildlink3.mk"
ZABBIX_DB_TYPE= mysql
.endif
.if !empty(PKG_OPTIONS:Msnmp)
CONFIGURE_ARGS+= --with-net-snmp
.include "../../net/net-snmp/buildlink3.mk"
.endif
.if !empty(PKG_OPTIONS:Mpgsql)
CONFIGURE_ARGS+= --with-postgresql
.include "../../mk/pgsql.buildlink3.mk"
ZABBIX_DB_TYPE= postgresql
.endif
.if !empty(PKG_OPTIONS:Msqlite3)
CONFIGURE_ARGS+= --with-sqlite3=${BUILDLINK_PREFIX.sqlite3}
.include "../../databases/sqlite3/buildlink3.mk"
ZABBIX_DB_TYPE= sqlite3
.endif

View File

@ -0,0 +1,15 @@
$NetBSD: patch-src_zabbix__server_Makefile.in,v 1.2 2018/11/12 10:51:34 he Exp $
Install config file in example directory.
--- src/zabbix_server/Makefile.in.orig 2020-07-13 07:56:40.000000000 +0000
+++ src/zabbix_server/Makefile.in
@@ -1072,7 +1072,7 @@ install-data-hook:
$(MKDIR_P) "$(DESTDIR)$(EXTERNAL_SCRIPTS_PATH)"
$(MKDIR_P) "$(DESTDIR)$(ALERT_SCRIPTS_PATH)"
$(MKDIR_P) "$(DESTDIR)$(LOAD_MODULE_PATH)"
- test -f "$(DESTDIR)$(SERVER_CONFIG_FILE)" || cp "../../conf/zabbix_server.conf" "$(DESTDIR)$(SERVER_CONFIG_FILE)"
+ cp "../../conf/zabbix_server.conf" "$(DESTDIR)/${PREFIX}/share/examples/zabbix"
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.