From 55bb98bf333cc15941b4866466422143f5e144d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20F=C3=B6rster?= Date: Sun, 8 Dec 2019 16:10:44 +0100 Subject: [PATCH] [net-analyzer/zabbix] version bump mask agent2 as its heavily WIP --- net-analyzer/zabbix/Manifest | 2 +- .../zabbix/files/4.4/active_checks.json | 108 +++++ .../zabbix/files/4.4/mock_server.conf | 37 ++ .../zabbix/files/4.4/zabbix_agent2.conf | 371 ++++++++++++++++++ ...abbix-4.4.0.ebuild => zabbix-4.4.3.ebuild} | 7 +- profiles/package.use.mask | 9 + profiles/package.use.stable.mask | 3 +- 7 files changed, 531 insertions(+), 6 deletions(-) create mode 100644 net-analyzer/zabbix/files/4.4/active_checks.json create mode 100644 net-analyzer/zabbix/files/4.4/mock_server.conf create mode 100644 net-analyzer/zabbix/files/4.4/zabbix_agent2.conf rename net-analyzer/zabbix/{zabbix-4.4.0.ebuild => zabbix-4.4.3.ebuild} (98%) create mode 100644 profiles/package.use.mask diff --git a/net-analyzer/zabbix/Manifest b/net-analyzer/zabbix/Manifest index a1d1f45..712ccd6 100644 --- a/net-analyzer/zabbix/Manifest +++ b/net-analyzer/zabbix/Manifest @@ -1 +1 @@ -DIST zabbix-4.4.0.tar.gz 20689807 BLAKE2B 7be62a7b124a016a9f3ab5022b349452b1a99c9ef8cff8ba4b8278f7c48a7632d7f3e6677764fd778c44c05fdb86bbe2b066eb6a51f076274fffcbbd94202db4 SHA512 021e7454decb885065417f6f6a0ecc8a9d4f184f68da6ab4efea68280b3a0c0641eab05620ce14016b6e57ce32c44075e53b45f03e764e8726c00bfdd6039406 +DIST zabbix-4.4.3.tar.gz 20306084 BLAKE2B 23d428d3fdcc9be49bb82a5eed6c9b94eedd4a3b5020bdcfd6be6e768c355a4d4b2413d12fd94529b7c8e8219b4f23b6e3031dba85d4fc86bf63003070e72dd8 SHA512 51f65e2196812e121431db6c8efbc8e48f9920455b60a6f54bb1ce1f20f9e1db5a2b78f369ebc5113f2e1faef61f01d1aa7f99e413e24eff07cd497f4a53cd90 diff --git a/net-analyzer/zabbix/files/4.4/active_checks.json b/net-analyzer/zabbix/files/4.4/active_checks.json new file mode 100644 index 0000000..46cfce0 --- /dev/null +++ b/net-analyzer/zabbix/files/4.4/active_checks.json @@ -0,0 +1,108 @@ +{ + "response": "success", + "data": [{ + "itemid": 1, + "key": "system.uptime", + "delay": "5", + "lastlogsize": 1, + "mtime": 2 + }, { + "itemid": 2, + "key": "systemd.unit.info[dbus.service]", + "delay": "5", + "lastlogsize": 0, + "mtime": 0 + }, { + "key": "log[\"/tmp/test.txt\",\"@Network interfaces for discovery\"]", + "itemid": 28627, + "delay": "5", + "lastlogsize": 0, + "mtime": 0 + }, { + "key": "log[\"/tmp/test2.txt\",\"@File systems for discovery\"]", + "itemid": 28628, + "delay": "5", + "lastlogsize": 0, + "mtime": 0 + }, { + "key": "log[\"/tmp/test3.txt\",\"@Character string included\"]", + "itemid": 28629, + "delay": "5", + "lastlogsize": 0, + "mtime": 0 + }, { + "key": "log[\"/tmp/test4.txt\",\"@Any character string included insensitive\"]", + "itemid": 28630, + "delay": "5", + "lastlogsize": 0, + "mtime": 0 + }, { + "key": "log[\"/tmp/test5.txt\",\"@Character string not included\"]", + "itemid": 28631, + "delay": "5", + "lastlogsize": 0, + "mtime": 0 + }], + "refresh_unsupported": 600, + "regexp": [{ + "name": "Network interfaces for discovery", + "expression": "^Software Loopback Interface", + "expression_type": 4, + "exp_delimiter": ",", + "case_sensitive": 1 + }, { + "name": "Network interfaces for discovery", + "expression": "^(In)?[Ll]oop[Bb]ack[0-9._]*$", + "expression_type": 4, + "exp_delimiter": ",", + "case_sensitive": 1 + }, { + "name": "Network interfaces for discovery", + "expression": "^NULL[0-9.]*$", + "expression_type": 4, + "exp_delimiter": ",", + "case_sensitive": 1 + }, { + "name": "Network interfaces for discovery", + "expression": "^[Ll]o[0-9.]*$", + "expression_type": 4, + "exp_delimiter": ",", + "case_sensitive": 1 + }, { + "name": "Network interfaces for discovery", + "expression": "^[Ss]ystem$", + "expression_type": 4, + "exp_delimiter": ",", + "case_sensitive": 1 + }, { + "name": "Network interfaces for discovery", + "expression": "^Nu[0-9.]*$", + "expression_type": 4, + "exp_delimiter": ",", + "case_sensitive": 1 + }, { + "name": "File systems for discovery", + "expression": "^(btrfs|ext2|ext3|ext4|reiser|xfs|ffs|ufs|jfs|jfs2|vxfs|hfs|apfs|refs|ntfs|fat32|zfs)$", + "expression_type": 3, + "exp_delimiter": ",", + "case_sensitive": 0 + }, { + "name": "Character string included", + "expression": "foo", + "expression_type": 0, + "exp_delimiter": ",", + "case_sensitive": 1 + }, { + "name": "Any character string included insensitive", + "expression": "FOO.BAR.BAZ", + "expression_type": 1, + "exp_delimiter": ".", + "case_sensitive": 0 + }, { + "name": "Character string not included", + "expression": "foo", + "expression_type": 2, + "exp_delimiter": ",", + "case_sensitive": 0 + }] +} diff --git a/net-analyzer/zabbix/files/4.4/mock_server.conf b/net-analyzer/zabbix/files/4.4/mock_server.conf new file mode 100644 index 0000000..be2eb4d --- /dev/null +++ b/net-analyzer/zabbix/files/4.4/mock_server.conf @@ -0,0 +1,37 @@ +# This is a configuration file for Zabbix mock server daemon (Unix) +# To get more information about Zabbix, visit http://www.zabbix.com + +### Option: LogType +# Specifies where log messages are written to: +# system - syslog +# file - file specified with LogFile parameter +# console - standard output +# +# Mandatory: no +# Default: +LogType=console + +### Option: LogFile +# Log file name for LogType 'file' parameter. +# +# Mandatory: yes, if LogType is set to file, otherwise no +# Default: +# LogFile= + +#LogFile=/tmp/zabbix_mock_server.log + +### Option: DebugLevel +# Specifies debug level: +# 0 - basic information about starting and stopping of Zabbix processes +# 1 - critical information +# 2 - error information +# 3 - warnings +# 4 - for debugging (produces lots of information) +# 5 - extended debugging (produces even more information) +# +# Mandatory: no +# Range: 0-5 +# Default: +DebugLevel=5 + +ActiveChecksFile=./go/src/zabbix/cmd/mock_server/active_checks.json diff --git a/net-analyzer/zabbix/files/4.4/zabbix_agent2.conf b/net-analyzer/zabbix/files/4.4/zabbix_agent2.conf new file mode 100644 index 0000000..c635f20 --- /dev/null +++ b/net-analyzer/zabbix/files/4.4/zabbix_agent2.conf @@ -0,0 +1,371 @@ +# This is a configuration file for Zabbix agent 2 (Unix) +# To get more information about Zabbix, visit http://www.zabbix.com + +############ GENERAL PARAMETERS ################# + +### Option: PidFile +# Name of PID file. +# +# Mandatory: no +# Default: +# PidFile=/tmp/zabbix_agent2.pid + +### Option: LogType +# Specifies where log messages are written to: +# system - syslog +# file - file specified with LogFile parameter +# console - standard output +# +# Mandatory: no +# Default: +# LogType=file + +### Option: LogFile +# Log file name for LogType 'file' parameter. +# +# Mandatory: yes, if LogType is set to file, otherwise no +# Default: +# LogFile= + +LogFile=/tmp/zabbix_agentd.log + +### Option: LogFileSize +# Maximum size of log file in MB. +# 0 - disable automatic log rotation. +# +# Mandatory: no +# Range: 0-1024 +# Default: +# LogFileSize=1 + +### Option: DebugLevel +# Specifies debug level: +# 0 - basic information about starting and stopping of Zabbix processes +# 1 - critical information +# 2 - error information +# 3 - warnings +# 4 - for debugging (produces lots of information) +# 5 - extended debugging (produces even more information) +# +# Mandatory: no +# Range: 0-5 +# Default: +# DebugLevel=3 + +### Option: SourceIP +# Source IP address for outgoing connections. +# +# Mandatory: no +# Default: +# SourceIP= + +### Option: EnableRemoteCommands +# Whether remote commands from Zabbix server are allowed. +# 0 - not allowed +# 1 - allowed +# +# Mandatory: no +# Default: +# EnableRemoteCommands=0 + +### Option: LogRemoteCommands +# Enable logging of executed shell commands as warnings. +# 0 - disabled +# 1 - enabled +# +# Mandatory: no +# Default: +# LogRemoteCommands=0 + +##### Passive checks related + +### Option: Server +# List of comma delimited IP addresses, optionally in CIDR notation, or DNS names of Zabbix servers and Zabbix proxies. +# Incoming connections will be accepted only from the hosts listed here. +# If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally +# and '::/0' will allow any IPv4 or IPv6 address. +# '0.0.0.0/0' can be used to allow any IPv4 address. +# Example: Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com +# +# Mandatory: yes, if StartAgents is not explicitly set to 0 +# Default: +# Server= + +Server=127.0.0.1 + +### Option: ListenPort +# Agent will listen on this port for connections from the server. +# +# Mandatory: no +# Range: 1024-32767 +# Default: +# ListenPort=10050 + +### Option: ListenIP +# List of comma delimited IP addresses that the agent should listen on. +# First IP address is sent to Zabbix server if connecting to it to retrieve list of active checks. +# +# Mandatory: no +# Default: +# ListenIP=0.0.0.0 + +### Option: StatusPort +# Agent will listen on this port for HTTP status requests. +# +# Mandatory: no +# Range: 1024-32767 +# Default: +# StatusPort= + +##### Active checks related + +### Option: ServerActive +# List of comma delimited IP:port (or DNS name:port) pairs of Zabbix servers and Zabbix proxies for active checks. +# If port is not specified, default port is used. +# IPv6 addresses must be enclosed in square brackets if port for that host is specified. +# If port is not specified, square brackets for IPv6 addresses are optional. +# If this parameter is not specified, active checks are disabled. +# Example: ServerActive=127.0.0.1:20051,zabbix.domain,[::1]:30051,::1,[12fc::1] +# +# Mandatory: no +# Default: +# ServerActive= + +ServerActive=127.0.0.1 + +### Option: Hostname +# Unique, case sensitive hostname. +# Required for active checks and must match hostname as configured on the server. +# Value is acquired from HostnameItem if undefined. +# +# Mandatory: no +# Default: +# Hostname= + +Hostname=Zabbix server + +### Option: HostnameItem +# Item used for generating Hostname if it is undefined. Ignored if Hostname is defined. +# Does not support UserParameters or aliases. +# +# Mandatory: no +# Default: +# HostnameItem=system.hostname + +### Option: HostMetadata +# Optional parameter that defines host metadata. +# Host metadata is used at host auto-registration process. +# An agent will issue an error and not start if the value is over limit of 255 characters. +# If not defined, value will be acquired from HostMetadataItem. +# +# Mandatory: no +# Range: 0-255 characters +# Default: +# HostMetadata= + +### Option: HostMetadataItem +# Optional parameter that defines an item used for getting host metadata. +# Host metadata is used at host auto-registration process. +# During an auto-registration request an agent will log a warning message if +# the value returned by specified item is over limit of 255 characters. +# This option is only used when HostMetadata is not defined. +# +# Mandatory: no +# Default: +# HostMetadataItem= + +### Option: RefreshActiveChecks +# How often list of active checks is refreshed, in seconds. +# +# Mandatory: no +# Range: 60-3600 +# Default: +# RefreshActiveChecks=120 + +### Option: BufferSend +# Do not keep data longer than N seconds in buffer. +# +# Mandatory: no +# Range: 1-3600 +# Default: +# BufferSend=5 + +### Option: BufferSize +# Maximum number of values in a memory buffer. The agent will send +# all collected data to Zabbix Server or Proxy if the buffer is full. +# +# Mandatory: no +# Range: 2-65535 +# Default: +# BufferSize=100 + +### Option: MaxLinesPerSecond +# Maximum number of new lines the agent will send per second to Zabbix Server +# or Proxy processing 'log' and 'logrt' active checks. +# The provided value will be overridden by the parameter 'maxlines', +# provided in 'log' or 'logrt' item keys. +# +# Mandatory: no +# Range: 1-1000 +# Default: +# MaxLinesPerSecond=20 + +############ ADVANCED PARAMETERS ################# + +### Option: Alias +# Sets an alias for an item key. It can be used to substitute long and complex item key with a smaller and simpler one. +# Multiple Alias parameters may be present. Multiple parameters with the same Alias key are not allowed. +# Different Alias keys may reference the same item key. +# For example, to retrieve the ID of user 'zabbix': +# Alias=zabbix.userid:vfs.file.regexp[/etc/passwd,^zabbix:.:([0-9]+),,,,\1] +# Now shorthand key zabbix.userid may be used to retrieve data. +# Aliases can be used in HostMetadataItem but not in HostnameItem parameters. +# +# Mandatory: no +# Range: +# Default: + +### Option: Timeout +# Spend no more than Timeout seconds on processing +# +# Mandatory: no +# Range: 1-30 +# Default: +# Timeout=3 + +### Option: Include +# You may include individual files or all files in a directory in the configuration file. +# Installing Zabbix will create include directory in /usr/local/etc, unless modified during the compile time. +# +# Mandatory: no +# Default: +# Include= + +# Include=/usr/local/etc/zabbix_agentd.userparams.conf +# Include=/usr/local/etc/zabbix_agentd.conf.d/ +# Include=/usr/local/etc/zabbix_agentd.conf.d/*.conf + +####### USER-DEFINED MONITORED PARAMETERS ####### + +### Option: UnsafeUserParameters +# Allow all characters to be passed in arguments to user-defined parameters. +# The following characters are not allowed: +# \ ' " ` * ? [ ] { } ~ $ ! & ; ( ) < > | # @ +# Additionally, newline characters are not allowed. +# 0 - do not allow +# 1 - allow +# +# Mandatory: no +# Range: 0-1 +# Default: +# UnsafeUserParameters=0 + +### Option: UserParameter +# User-defined parameter to monitor. There can be several user-defined parameters. +# Format: UserParameter=, +# See 'zabbix_agentd' directory for examples. +# +# Mandatory: no +# Default: +# UserParameter= + +### Option: ControlSocket +# The control socket, used to send runtime commands with '-R' option. +# +# Mandatory: no +# Default: +# ControlSocket= + +ControlSocket=/tmp/agent.sock + +####### TLS-RELATED PARAMETERS ####### + +### Option: TLSConnect +# How the agent should connect to server or proxy. Used for active checks. +# Only one value can be specified: +# unencrypted - connect without encryption +# psk - connect using TLS and a pre-shared key +# cert - connect using TLS and a certificate +# +# Mandatory: yes, if TLS certificate or PSK parameters are defined (even for 'unencrypted' connection) +# Default: +# TLSConnect=unencrypted + +### Option: TLSAccept +# What incoming connections to accept. +# Multiple values can be specified, separated by comma: +# unencrypted - accept connections without encryption +# psk - accept connections secured with TLS and a pre-shared key +# cert - accept connections secured with TLS and a certificate +# +# Mandatory: yes, if TLS certificate or PSK parameters are defined (even for 'unencrypted' connection) +# Default: +# TLSAccept=unencrypted + +### Option: TLSCAFile +# Full pathname of a file containing the top-level CA(s) certificates for +# peer certificate verification. +# +# Mandatory: no +# Default: +# TLSCAFile= + +### Option: TLSCRLFile +# Full pathname of a file containing revoked certificates. +# +# Mandatory: no +# Default: +# TLSCRLFile= + +### Option: TLSServerCertIssuer +# Allowed server certificate issuer. +# +# Mandatory: no +# Default: +# TLSServerCertIssuer= + +### Option: TLSServerCertSubject +# Allowed server certificate subject. +# +# Mandatory: no +# Default: +# TLSServerCertSubject= + +### Option: TLSCertFile +# Full pathname of a file containing the agent certificate or certificate chain. +# +# Mandatory: no +# Default: +# TLSCertFile= + +### Option: TLSKeyFile +# Full pathname of a file containing the agent private key. +# +# Mandatory: no +# Default: +# TLSKeyFile= + +### Option: TLSPSKIdentity +# Unique, case sensitive string used to identify the pre-shared key. +# +# Mandatory: no +# Default: +# TLSPSKIdentity= + +### Option: TLSPSKFile +# Full pathname of a file containing the pre-shared key. +# +# Mandatory: no +# Default: +# TLSPSKFile= + +####### PLUGIN-SPECIFIC PARAMETERS ####### + +### Option: Plugins +# A plugin can have one or more plugin specific configuration parameters in format: +# Plugins..= +# Plugins..= +# +# Mandatory: no +# Range: +# Default: diff --git a/net-analyzer/zabbix/zabbix-4.4.0.ebuild b/net-analyzer/zabbix/zabbix-4.4.3.ebuild similarity index 98% rename from net-analyzer/zabbix/zabbix-4.4.0.ebuild rename to net-analyzer/zabbix/zabbix-4.4.3.ebuild index 1d07451..63cd706 100644 --- a/net-analyzer/zabbix/zabbix-4.4.0.ebuild +++ b/net-analyzer/zabbix/zabbix-4.4.3.ebuild @@ -147,6 +147,7 @@ src_configure() { } src_compile() { +# export GOPATH="${WORKDIR}/${P}" if [ -f Makefile ] || [ -f GNUmakefile ] || [ -f makefile ]; then emake AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" || die "emake failed" fi @@ -176,7 +177,7 @@ src_install() { doins "${FILESDIR}/3.0"/zabbix_server.conf doinitd "${FILESDIR}/3.0"/init.d/zabbix-server dosbin src/zabbix_server/zabbix_server - fowners zabbix:zabbix /etc/zabbix/zabbix_server.conf + fowners root:zabbix /etc/zabbix/zabbix_server.conf fperms 0640 /etc/zabbix/zabbix_server.conf dodir /usr/share/zabbix /bin/cp -R "${S}/database/" "${D}"/usr/share/zabbix/ @@ -198,13 +199,13 @@ src_install() { if use agent; then insinto /etc/zabbix doins "${FILESDIR}/3.0"/zabbix_agentd.conf + fowners root:zabbix /etc/zabbix/zabbix_agentd.conf + fperms 0640 /etc/zabbix/zabbix_agentd.conf doinitd "${FILESDIR}/3.0"/init.d/zabbix-agentd dosbin src/zabbix_agent/zabbix_agentd dobin \ src/zabbix_sender/zabbix_sender \ src/zabbix_get/zabbix_get - fowners zabbix:zabbix /etc/zabbix/zabbix_agentd.conf - fperms 0640 /etc/zabbix/zabbix_agentd.conf systemd_dounit "${FILESDIR}/zabbix-agentd.service" systemd_newtmpfilesd "${FILESDIR}/zabbix-agentd.tmpfiles" zabbix-agentd.conf fi diff --git a/profiles/package.use.mask b/profiles/package.use.mask new file mode 100644 index 0000000..e9bd12a --- /dev/null +++ b/profiles/package.use.mask @@ -0,0 +1,9 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# This file requires >=portage-2.1.1 +# New entries go on top. + +# Robert Förster (8 Dec 2019) +# go agent not mature yet +