Hey, thanks. I guess that does the job. Short and to the point. -Michael > On 10 Mar 2019, at 18:13, Alexander Koch wrote: > > Hello Michael, > > I created a Wiki-Page (https://wiki.ipfire.org/addons/zabbix_agentd) and added a link on the Add-ons page. The version 4.0.5 does not provide any fixes or new features for the agent. I would rather like to skip it ... they are planing to release version 4.2.0 in march though and I will provide the next patch for that. > > Best, > Alex > > > -------- Original-Nachricht -------- > Von: michael.tremer(a)ipfire.org > Gesendet: Fri, 8 Mar 2019 10:14:47 +0000 > An: ipfire(a)starkstromkonsument.de > CC: development(a)lists.ipfire.org > > Betreff: Re: [PATCH] zabbix_agentd: New addon >> Hello Alex, >> >> I was hoping that somebody else would have a minute to review this. Unfortunately the guys seem to be busy. >> >> I merged it. It had a couple of smaller things that I changed. Probably all aesthetics if even. >> >> Please, as soon as it is available, test the package that it works as intended. Did you already start writing some documentation on the wiki? >> >> Also, zabbix 4.0.5 is out. Will you eventually send an update? >> >> Best, >> -Michael >> >>> On 13 Feb 2019, at 23:06, Alexander Koch wrote: >>> >>> New addon for monitoring IPFire by Zabbix Monitoring (https://www.zabbix.com/features). >>> See https://forum.ipfire.org/viewtopic.php?f=52&t=22039 and https://lists.ipfire.org/pipermail/development/2019-February/005324.html for further details. >>> >>> Best regards, >>> Alex >>> >>> Signed-off-by: Alexander Koch >>> --- >>> config/backup/includes/zabbix_agentd | 2 + >>> config/etc/group | 1 + >>> config/etc/passwd | 1 + >>> config/rootfiles/packages/zabbix_agentd | 17 ++ >>> config/zabbix_agentd/logrotate | 9 + >>> config/zabbix_agentd/sudoers | 17 ++ >>> config/zabbix_agentd/zabbix_agentd.conf | 395 ++++++++++++++++++++++++++++++++ >>> lfs/zabbix_agentd | 123 ++++++++++ >>> make.sh | 1 + >>> src/initscripts/packages/zabbix_agentd | 45 ++++ >>> src/initscripts/sysconfig/createfiles | 1 + >>> src/paks/zabbix_agentd/install.sh | 38 +++ >>> src/paks/zabbix_agentd/uninstall.sh | 30 +++ >>> src/paks/zabbix_agentd/update.sh | 26 +++ >>> 14 files changed, 706 insertions(+) >>> create mode 100644 config/backup/includes/zabbix_agentd >>> create mode 100644 config/rootfiles/packages/zabbix_agentd >>> create mode 100644 config/zabbix_agentd/logrotate >>> create mode 100644 config/zabbix_agentd/sudoers >>> create mode 100644 config/zabbix_agentd/zabbix_agentd.conf >>> create mode 100644 lfs/zabbix_agentd >>> create mode 100644 src/initscripts/packages/zabbix_agentd >>> create mode 100644 src/paks/zabbix_agentd/install.sh >>> create mode 100644 src/paks/zabbix_agentd/uninstall.sh >>> create mode 100644 src/paks/zabbix_agentd/update.sh >>> >>> diff --git a/config/backup/includes/zabbix_agentd b/config/backup/includes/zabbix_agentd >>> new file mode 100644 >>> index 0000000..b410dbe >>> --- /dev/null >>> +++ b/config/backup/includes/zabbix_agentd >>> @@ -0,0 +1,2 @@ >>> +/etc/sudoers.d/zabbix.user >>> +/etc/zabbix_agentd/* >>> diff --git a/config/etc/group b/config/etc/group >>> index 198b68a..3d5e315 100644 >>> --- a/config/etc/group >>> +++ b/config/etc/group >>> @@ -42,3 +42,4 @@ nut:x:115: >>> cdrom:x:116: >>> usb:x:117: >>> samba:x:1000: >>> +zabbix:x:118: >>> diff --git a/config/etc/passwd b/config/etc/passwd >>> index 7eb4718..bba75a3 100644 >>> --- a/config/etc/passwd >>> +++ b/config/etc/passwd >>> @@ -21,3 +21,4 @@ cyrus:x:111:12:Cyrus user:/usr/cyrus: >>> filter:x:112:12:Spam user:/home/filter:/bin/false >>> asterisk:x:114:114:Asterisk user:/var/empty:/bin/false >>> samba:x:1000:1000:Samba User:/var/empty:/bin/false >>> +zabbix:x:118:118:Zabbix Monitoring:/var/empty:/bin/false >>> diff --git a/config/rootfiles/packages/zabbix_agentd b/config/rootfiles/packages/zabbix_agentd >>> new file mode 100644 >>> index 0000000..db85238 >>> --- /dev/null >>> +++ b/config/rootfiles/packages/zabbix_agentd >>> @@ -0,0 +1,17 @@ >>> +etc/logrotate.d/zabbix_agentd >>> +etc/rc.d/init.d/zabbix_agentd >>> +etc/sudoers.d/zabbix.user >>> +etc/zabbix_agentd >>> +etc/zabbix_agentd/scripts >>> +etc/zabbix_agentd/zabbix_agentd.conf >>> +etc/zabbix_agentd/zabbix_agentd.d >>> +usr/bin/zabbix_get >>> +usr/bin/zabbix_sender >>> +usr/lib/modules >>> +usr/lib/zabbix >>> +usr/sbin/zabbix_agentd >>> +#usr/share/man/man1/zabbix_get.1 >>> +#usr/share/man/man1/zabbix_sender.1 >>> +#usr/share/man/man8/zabbix_agentd.8 >>> +var/ipfire/backup/addons/includes/zabbix_agentd >>> +#var/log/zabbix >>> diff --git a/config/zabbix_agentd/logrotate b/config/zabbix_agentd/logrotate >>> new file mode 100644 >>> index 0000000..83bbca9 >>> --- /dev/null >>> +++ b/config/zabbix_agentd/logrotate >>> @@ -0,0 +1,9 @@ >>> +/var/log/zabbix/zabbix_agentd.log { >>> + monthly >>> + rotate 12 >>> + compress >>> + delaycompress >>> + missingok >>> + notifempty >>> + create 0640 zabbix zabbix >>> +} >>> diff --git a/config/zabbix_agentd/sudoers b/config/zabbix_agentd/sudoers >>> new file mode 100644 >>> index 0000000..f4e4321 >>> --- /dev/null >>> +++ b/config/zabbix_agentd/sudoers >>> @@ -0,0 +1,17 @@ >>> +# Include file for sudoers file >>> +# >>> +# This is needed for some userparameters to be able to execute commands that only run as root (using sudo) >>> +# e.g. /usr/bin/openssl or /usr/sbin/smartctl >>> +# >>> +# USE AT YOU'RE OWN RISK. USING THIS WRONG CAN RESULT IN A SECURITY BREACH! >>> +# >>> +# Some hints: >>> +# - It is strongly recommended to edit this file only using the visudo -f command. If you mess up this file, >>> +# you might end up locking yourself out of your system! >>> +# - Append the full path to each command, using "," as separator. >>> +# - Only add commands you really need. Zabbix should not have more rights than it has to. >>> +# >>> +# Uncomment the following two lines and edit the example of commands to fit your needs: >>> +# >>> +#Defaults:zabbix !requiretty >>> +#zabbix ALL=(ALL) NOPASSWD: , >>> diff --git a/config/zabbix_agentd/zabbix_agentd.conf b/config/zabbix_agentd/zabbix_agentd.conf >>> new file mode 100644 >>> index 0000000..07f71c1 >>> --- /dev/null >>> +++ b/config/zabbix_agentd/zabbix_agentd.conf >>> @@ -0,0 +1,395 @@ >>> +# This is a configuration file for Zabbix agent daemon (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_agentd.pid >>> + >>> +PidFile=/var/run/zabbix/zabbix_agentd.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=/var/log/zabbix/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 >>> + >>> +LogFileSize=0 >>> + >>> +### 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: StartAgents >>> +# Number of pre-forked instances of zabbix_agentd that process passive checks. >>> +# If set to 0, disables passive checks and the agent will not listen on any TCP port. >>> +# >>> +# Mandatory: no >>> +# Range: 0-100 >>> +# Default: >>> +# StartAgents=3 >>> + >>> +##### 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= >>> + >>> +### 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: AllowRoot >>> +# Allow the agent to run as 'root'. If disabled and the agent is started by 'root', the agent >>> +# will try to switch to the user specified by the User configuration option instead. >>> +# Has no effect if started under a regular user. >>> +# 0 - do not allow >>> +# 1 - allow >>> +# >>> +# Mandatory: no >>> +# Default: >>> +# AllowRoot=0 >>> + >>> +### Option: User >>> +# Drop privileges to a specific, existing user on the system. >>> +# Only has effect if run as 'root' and AllowRoot is disabled. >>> +# >>> +# Mandatory: no >>> +# Default: >>> +# User=zabbix >>> + >>> +### 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=/etc/zabbix_agentd/zabbix_agentd.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= >>> + >>> +####### LOADABLE MODULES ####### >>> + >>> +### Option: LoadModulePath >>> +# Full path to location of agent modules. >>> +# Default depends on compilation options. >>> +# To see the default path run command "zabbix_agentd --help". >>> +# >>> +# Mandatory: no >>> +# Default: >>> +# LoadModulePath=/usr/lib/modules >>> + >>> +LoadModulePath=/usr/lib/zabbix >>> + >>> +### Option: LoadModule >>> +# Module to load at agent startup. Modules are used to extend functionality of the agent. >>> +# Format: LoadModule= >>> +# The modules must be located in directory specified by LoadModulePath. >>> +# It is allowed to include multiple LoadModule parameters. >>> +# >>> +# Mandatory: no >>> +# Default: >>> +# LoadModule= >>> + >>> +####### 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= >>> diff --git a/lfs/zabbix_agentd b/lfs/zabbix_agentd >>> new file mode 100644 >>> index 0000000..b086d9f >>> --- /dev/null >>> +++ b/lfs/zabbix_agentd >>> @@ -0,0 +1,123 @@ >>> +############################################################################### >>> +# # >>> +# IPFire.org - A linux based firewall # >>> +# Copyright (C) 2007-2019 IPFire Team # >>> +# # >>> +# This program is free software: you can redistribute it and/or modify # >>> +# it under the terms of the GNU General Public License as published by # >>> +# the Free Software Foundation, either version 3 of the License, or # >>> +# (at your option) any later version. # >>> +# # >>> +# This program is distributed in the hope that it will be useful, # >>> +# but WITHOUT ANY WARRANTY; without even the implied warranty of # >>> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # >>> +# GNU General Public License for more details. # >>> +# # >>> +# You should have received a copy of the GNU General Public License # >>> +# along with this program. If not, see . # >>> +# # >>> +############################################################################### >>> + >>> +############################################################################### >>> +# Definitions >>> +############################################################################### >>> + >>> +include Config >>> + >>> +VER = 4.0.4 >>> + >>> +THISAPP = zabbix-$(VER) >>> +DL_FILE = $(THISAPP).tar.gz >>> +DL_FROM = $(URL_IPFIRE) >>> +DIR_APP = $(DIR_SRC)/$(THISAPP) >>> +TARGET = $(DIR_INFO)/$(THISAPP) >>> +PROG = zabbix_agentd >>> +PAK_VER = 1 >>> +DEPS = "" >>> + >>> +############################################################################### >>> +# Top-level Rules >>> +############################################################################### >>> + >>> +objects = $(DL_FILE) >>> + >>> +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) >>> + >>> +$(DL_FILE)_MD5 = 46fdb83d4b24e13127a20a3e874b1d8f >>> + >>> +install : $(TARGET) >>> + >>> +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) >>> + >>> +download :$(patsubst %,$(DIR_DL)/%,$(objects)) >>> + >>> +md5 : $(subst %,%_MD5,$(objects)) >>> + >>> +dist: >>> + @$(PAK) >>> + >>> +############################################################################### >>> +# Downloading, checking, md5sum >>> +############################################################################### >>> + >>> +$(patsubst %,$(DIR_CHK)/%,$(objects)) : >>> + @$(CHECK) >>> + >>> +$(patsubst %,$(DIR_DL)/%,$(objects)) : >>> + @$(LOAD) >>> + >>> +$(subst %,%_MD5,$(objects)) : >>> + @$(MD5) >>> + >>> +############################################################################### >>> +# Installation Details >>> +############################################################################### >>> + >>> +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) >>> + @$(PREBUILD) >>> + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axvf $(DIR_DL)/$(DL_FILE) >>> + cd $(DIR_APP) && ./configure \ >>> + --prefix=/usr \ >>> + --enable-agent \ >>> + --sysconfdir=/etc/zabbix_agentd \ >>> + --with-openssl >>> + >>> + cd $(DIR_APP) && make >>> + cd $(DIR_APP) && make install >>> + >>> + # Create config directory and create files >>> + -rmdir /etc/zabbix_agentd/zabbix_agentd.conf.d >>> + -mkdir -pv /etc/zabbix_agentd/zabbix_agentd.d >>> + -mkdir -pv /etc/zabbix_agentd/scripts >>> + install -v -m 644 $(DIR_SRC)/config/zabbix_agentd/zabbix_agentd.conf \ >>> + /etc/zabbix_agentd/zabbix_agentd.conf >>> + >>> + # Create directory for additional agent modules >>> + -mkdir -pv /usr/lib/zabbix >>> + >>> + # Create directory for logging >>> + -mkdir -pv /var/log/zabbix >>> + chown zabbix.zabbix /var/log/zabbix >>> + >>> + # Create directory for pid. >>> + -mkdir -pv /var/run/zabbix >>> + chown zabbix.zabbix /var/run/zabbix >>> + >>> + # Install initscripts >>> + $(call INSTALL_INITSCRIPT,zabbix_agentd) >>> + >>> + # Install sudoers include file >>> + install -v -m 644 $(DIR_SRC)/config/zabbix_agentd/sudoers \ >>> + /etc/sudoers.d/zabbix.user >>> + >>> + # Install include file for backup >>> + install -v -m 644 $(DIR_SRC)/config/backup/includes/zabbix_agentd \ >>> + /var/ipfire/backup/addons/includes/zabbix_agentd >>> + >>> + # Install include file for Logrotate >>> + -mkdir -pv /etc/logrotate.d >>> + install -v -m 644 $(DIR_SRC)/config/zabbix_agentd/logrotate \ >>> + /etc/logrotate.d/zabbix_agentd >>> + >>> + @rm -rf $(DIR_APP) >>> + @$(POSTBUILD) >>> diff --git a/make.sh b/make.sh >>> index 3c08997..1deed3b 100755 >>> --- a/make.sh >>> +++ b/make.sh >>> @@ -1590,6 +1590,7 @@ buildipfire() { >>> lfsmake2 borgbackup >>> lfsmake2 libedit >>> lfsmake2 knot >>> + lfsmake2 zabbix_agentd >>> } >>> >>> buildinstaller() { >>> diff --git a/src/initscripts/packages/zabbix_agentd b/src/initscripts/packages/zabbix_agentd >>> new file mode 100644 >>> index 0000000..df6124c >>> --- /dev/null >>> +++ b/src/initscripts/packages/zabbix_agentd >>> @@ -0,0 +1,45 @@ >>> +#!/bin/sh >>> +######################################################################## >>> +# Begin $rc_base/init.d/zabbix_agentd >>> +# >>> +# Description : This script starts the Zabbix Agent as a daemon (zabbix_agentd) >>> +# >>> +# Authors : Alexander Koch (ipfire(a)starkstromkonsument.de) >>> +# >>> +# Version : 01.00 >>> +# >>> +# Notes : >>> +# >>> +######################################################################## >>> + >>> +. /etc/sysconfig/rc >>> +. ${rc_functions} >>> + >>> +case "${1}" in >>> + start) >>> + boot_mesg "Starting Zabbix Agent..." >>> + loadproc /usr/sbin/zabbix_agentd -c /etc/zabbix_agentd/zabbix_agentd.conf >>> + ;; >>> + >>> + stop) >>> + boot_mesg "Stopping Zabbix Agent..." >>> + killproc /usr/sbin/zabbix_agentd >>> + ;; >>> + >>> + restart) >>> + ${0} stop >>> + sleep 1 >>> + ${0} start >>> + ;; >>> + >>> + status) >>> + statusproc /usr/sbin/zabbix_agentd >>> + ;; >>> + >>> + *) >>> + echo "Usage: ${0} {start|stop|restart|status}" >>> + exit 1 >>> + ;; >>> +esac >>> + >>> +# End $rc_base/init.d/zabbix_agentd >>> diff --git a/src/initscripts/sysconfig/createfiles b/src/initscripts/sysconfig/createfiles >>> index cf7d6e1..dd40cb3 100644 >>> --- a/src/initscripts/sysconfig/createfiles >>> +++ b/src/initscripts/sysconfig/createfiles >>> @@ -27,5 +27,6 @@ >>> >>> /var/run/ovpnserver.log file 644 nobody nobody >>> /var/run/openvpn dir 644 nobody nobody >>> +/var/run/zabbix dir 755 zabbix zabbix >>> >>> # End /etc/sysconfig/createfiles >>> diff --git a/src/paks/zabbix_agentd/install.sh b/src/paks/zabbix_agentd/install.sh >>> new file mode 100644 >>> index 0000000..ebbb62d >>> --- /dev/null >>> +++ b/src/paks/zabbix_agentd/install.sh >>> @@ -0,0 +1,38 @@ >>> +#!/bin/bash >>> +############################################################################ >>> +# # >>> +# This file is part of the IPFire Firewall. # >>> +# # >>> +# IPFire is free software; you can redistribute it and/or modify # >>> +# it under the terms of the GNU General Public License as published by # >>> +# the Free Software Foundation; either version 2 of the License, or # >>> +# (at your option) any later version. # >>> +# # >>> +# IPFire is distributed in the hope that it will be useful, # >>> +# but WITHOUT ANY WARRANTY; without even the implied warranty of # >>> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # >>> +# GNU General Public License for more details. # >>> +# # >>> +# You should have received a copy of the GNU General Public License # >>> +# along with IPFire; if not, write to the Free Software # >>> +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # >>> +# # >>> +# Copyright (C) 2007 IPFire-Team . # >>> +# # >>> +############################################################################ >>> +# >>> +. /opt/pakfire/lib/functions.sh >>> + >>> +extract_files >>> + >>> +# Create symlinks for runlevel interaction. >>> +ln -sf ../init.d/zabbix_agentd /etc/rc.d/rc3.d/S65zabbix_agentd >>> +ln -sf ../init.d/zabbix_agentd /etc/rc.d/rc0.d/K02zabbix_agentd >>> +ln -sf ../init.d/zabbix_agentd /etc/rc.d/rc6.d/K02zabbix_agentd >>> + >>> +# Create additonal directories and set permissions >>> +mkdir -pv /var/log/zabbix >>> +chown zabbix.zabbix /var/log/zabbix >>> + >>> +restore_backup ${NAME} >>> +start_service --background ${NAME} >>> diff --git a/src/paks/zabbix_agentd/uninstall.sh b/src/paks/zabbix_agentd/uninstall.sh >>> new file mode 100644 >>> index 0000000..edff3b8 >>> --- /dev/null >>> +++ b/src/paks/zabbix_agentd/uninstall.sh >>> @@ -0,0 +1,30 @@ >>> +#!/bin/bash >>> +############################################################################ >>> +# # >>> +# This file is part of the IPFire Firewall. # >>> +# # >>> +# IPFire is free software; you can redistribute it and/or modify # >>> +# it under the terms of the GNU General Public License as published by # >>> +# the Free Software Foundation; either version 2 of the License, or # >>> +# (at your option) any later version. # >>> +# # >>> +# IPFire is distributed in the hope that it will be useful, # >>> +# but WITHOUT ANY WARRANTY; without even the implied warranty of # >>> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # >>> +# GNU General Public License for more details. # >>> +# # >>> +# You should have received a copy of the GNU General Public License # >>> +# along with IPFire; if not, write to the Free Software # >>> +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # >>> +# # >>> +# Copyright (C) 2007 IPFire-Team . # >>> +# # >>> +############################################################################ >>> +# >>> +. /opt/pakfire/lib/functions.sh >>> +stop_service ${NAME} >>> +make_backup ${NAME} >>> +remove_files >>> + >>> +# Remove init-scripts and symlinks >>> +rm -rfv /etc/rc.d/rc*.d/*zabbix_agentd >>> diff --git a/src/paks/zabbix_agentd/update.sh b/src/paks/zabbix_agentd/update.sh >>> new file mode 100644 >>> index 0000000..89c40d0 >>> --- /dev/null >>> +++ b/src/paks/zabbix_agentd/update.sh >>> @@ -0,0 +1,26 @@ >>> +#!/bin/bash >>> +############################################################################ >>> +# # >>> +# This file is part of the IPFire Firewall. # >>> +# # >>> +# IPFire is free software; you can redistribute it and/or modify # >>> +# it under the terms of the GNU General Public License as published by # >>> +# the Free Software Foundation; either version 2 of the License, or # >>> +# (at your option) any later version. # >>> +# # >>> +# IPFire is distributed in the hope that it will be useful, # >>> +# but WITHOUT ANY WARRANTY; without even the implied warranty of # >>> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # >>> +# GNU General Public License for more details. # >>> +# # >>> +# You should have received a copy of the GNU General Public License # >>> +# along with IPFire; if not, write to the Free Software # >>> +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # >>> +# # >>> +# Copyright (C) 2007 IPFire-Team . # >>> +# # >>> +############################################################################ >>> +# >>> +. /opt/pakfire/lib/functions.sh >>> +./uninstall.sh >>> +./install.sh >>> -- >>> 2.7.4 >>> >>