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 >> >