Skip to content

Commit 6b85bb9

Browse files
committed
2026.1.0pre
1 parent 089051a commit 6b85bb9

File tree

5 files changed

+32
-28
lines changed

5 files changed

+32
-28
lines changed

CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
## 2026.1.0 2026-01-01 <code at nfastack dot com>
1+
## 2026.1.0pre 2026-01-01 <code at nfastack dot com>
22

33
### Changed
44
- Age 1.3.1
5+
- Zabbix Monitoring configuration cleanup
56

67
## 2025.12.1 2025-12-31 <code at nfastack dot com>
78

Containerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ LABEL \
1919
org.opencontainers.image.licenses="MIT"
2020

2121
ARG \
22-
IMAGE_BASE_MODULES="+cron,+logrotate,+msmtp,+s6overlay," \
22+
IMAGE_BASE_MODULES="+cron,+logrotate,+msmtp,+s6overlay" \
2323
IMAGE_MODULES \
2424
IMAGE_NAME \
2525
IMAGE_BASE_VERSION \

rootfs/container/base/modules/zabbix/rootfs/container/base/defaults/monitoring/zabbix

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,9 @@ ZABBIX_SERVER_ACTIVE=${ZABBIX_SERVER_ACTIVE:-"zabbix-proxy"}
1616
ZABBIX_START_AGENTS=${ZABBIX_START_AGENTS:-"1"}
1717
ZABBIX_STATUS_PORT=${ZABBIX_STATUS_PORT:-"8050"}
1818

19-
get_defaults_advanced
20-
2119
case $(container_info distro) in
2220
"alpine" )
23-
if [ "$(echo "$(container_info variant)" | cut -d . -f 2 | cut -d _ -f 1)" -ge 14 ]; then
21+
if [ "$(container_info variant | cut -d . -f 2 | cut -d _ -f 1)" -ge 14 ]; then
2422
ZABBIX_AGENT_TYPE=${ZABBIX_AGENT_TYPE:-"modern"}
2523
ZABBIX_BINARY=${ZABBIX_BINARY:-"zabbix_agent2"}
2624
else
@@ -32,4 +30,6 @@ case $(container_info distro) in
3230
ZABBIX_AGENT_TYPE=${ZABBIX_AGENT_TYPE:-"modern"}
3331
ZABBIX_BINARY=${ZABBIX_BINARY:-"zabbix_agent2"}
3432
;;
35-
esac
33+
esac
34+
35+
get_defaults_advanced

rootfs/container/base/modules/zabbix/rootfs/container/base/functions/monitoring/zabbix

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ EOF
118118
esac
119119

120120
if [ -n "${ZABBIX_REMOTECOMMANDS_DENY}" ]; then
121-
echo "DenyKey=system.run[${ZABBIX_REMOTECOMMANDS_DENY}]" >> "${ZABBIX_CONFIG_PATH%/}"/"${ZABBIX_CONFIG_FILE}"
121+
echo "DenyKey=system.run[${ZABBIX_REMOTECOMMANDS_DENY}]" | silent tee -a "${ZABBIX_CONFIG_PATH%/}"/"${ZABBIX_CONFIG_FILE}"
122122
fi
123123

124124
print_debug "Zabbix Agent - Generating Collection Configuration"
@@ -132,7 +132,7 @@ EOF
132132
esac
133133

134134
mkdir -p "${ZABBIX_CONFIG_PATH%/}"/"${ZABBIX_CONFIG_FILE}".d
135-
cat <<EOF > "${ZABBIX_CONFIG_PATH%/}"/"${ZABBIX_CONFIG_FILE}".d/nfrastack-container_agent.conf
135+
cat <<EOF | silent tee "${ZABBIX_CONFIG_PATH%/}"/"${ZABBIX_CONFIG_FILE}".d/nfrastack-container_agent.conf
136136
# Zabbix Container Agent Configuration - Automatically Generated based on Operating System
137137
# Find Companion Zabbix Server Templates at https://github.com/nfrastack/docker-${os}
138138
# Autoregister=toica
@@ -158,15 +158,13 @@ nfra_configure_monitoring_zabbix_run() {
158158
case "${ZABBIX_AGENT_TYPE,,}" in
159159
"1" | "c" | "classic" | "legacy" | "old" )
160160
print_debug "Starting classic Zabbix Agent"
161-
zabbix_command="zabbix_agentd"
162161
zabbix_agent_type="classic"
163-
ZABBIX_VERSION=$(${zabbix_command} --version | head -n1 | awk '{print $4}')
162+
ZABBIX_VERSION=$(${ZABBIX_BINARY} --version | head -n 1 | awk '{print $4}')
164163
;;
165164
"2" | "m" | "n" | "modern" | "new" )
166165
print_debug "Starting modern Zabbix agent"
167-
zabbix_command="zabbix_agent2"
168166
zabbix_agent_type="modern"
169-
ZABBIX_VERSION=$(${zabbix_command} -V | head -n1 | awk '{print $3}')
167+
ZABBIX_VERSION=$(${ZABBIX_BINARY} -V | head -n 1 | awk '{print $3}')
170168
;;
171169
* )
172170
print_debug "No known Zabbix agent type selected"
@@ -185,13 +183,15 @@ nfra_configure_monitoring_zabbix_run() {
185183
else
186184
ZABBIX_AUTOREGISTER_DNS_NAME="${ZABBIX_HOSTNAME}${ZABBIX_AUTOREGISTER_SUFFIX}"
187185
fi
188-
sed -i "/HostInterface=.*/d" "${ZABBIX_CONFIG_PATH%/}"/"${ZABBIX_CONFIG_FILE}"
189-
sed -i "/^Include=.*/i HostInterface=${ZABBIX_AUTOREGISTER_DNS_NAME}" "${ZABBIX_CONFIG_PATH%/}"/"${ZABBIX_CONFIG_FILE}"
186+
sed -i \
187+
-e "/HostInterface=.*/d" \
188+
-e "/^Include=.*/i HostInterface=${ZABBIX_AUTOREGISTER_DNS_NAME}" \
189+
"${ZABBIX_CONFIG_PATH%/}"/"${ZABBIX_CONFIG_FILE}"
190190
fi
191191
fi
192192

193193
chown -R "${ZABBIX_USER}":root "${ZABBIX_CONFIG_PATH}"
194-
chmod -R 0755 "${ZABBIX_CONFIG_PATH}"
194+
chmod -R 550 "${ZABBIX_CONFIG_PATH}"
195195

196196
if var_true "${CONTAINER_ENABLE_FIREWALL}" && var_true "${CONTAINER_ENABLE_FAIL2BAN}" ; then
197197
while [ ! -S "/var/run/fail2ban/fail2ban.sock" ] ; do
@@ -202,5 +202,8 @@ nfra_configure_monitoring_zabbix_run() {
202202

203203
print_start "Starting Zabbix Agent ${ZABBIX_VERSION} (${zabbix_agent_type})"
204204
output_on
205-
silent exec s6-setuidgid "${ZABBIX_USER}" ${zabbix_command} -c "${ZABBIX_CONFIG_PATH%/}"/"${ZABBIX_CONFIG_FILE}" -f
205+
silent exec s6-setuidgid "${ZABBIX_USER}" \
206+
${ZABBIX_BINARY} \
207+
-c "${ZABBIX_CONFIG_PATH%/}"/"${ZABBIX_CONFIG_FILE}" \
208+
-f
206209
}

rootfs/container/base/modules/zabbix/rootfs/container/base/functions/monitoring/zabbix.advanced

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,6 @@
55
nfra_configure_monitoring_zabbix_init() {
66
print_debug "Using Zabbix Backend"
77

8-
if var_true "${DEBUG_MODE}" ; then
9-
ZABBIX_DEBUGLEVEL=4
10-
fi
11-
128
if var_true "${ZABBIX_USER_SUDO}" ; then
139
grant_sudo zabbix
1410
fi
@@ -122,7 +118,7 @@ EOF
122118
esac
123119

124120
if [ -n "${ZABBIX_REMOTECOMMANDS_DENY}" ]; then
125-
echo "DenyKey=system.run[${ZABBIX_REMOTECOMMANDS_DENY}]" >> "${ZABBIX_CONFIG_PATH%/}"/"${ZABBIX_CONFIG_FILE}"
121+
echo "DenyKey=system.run[${ZABBIX_REMOTECOMMANDS_DENY}]" | silent tee -a "${ZABBIX_CONFIG_PATH%/}"/"${ZABBIX_CONFIG_FILE}"
126122
fi
127123

128124
print_debug "Zabbix Agent - Generating Collection Configuration"
@@ -136,10 +132,10 @@ EOF
136132
esac
137133

138134
mkdir -p "${ZABBIX_CONFIG_PATH%/}"/"${ZABBIX_CONFIG_FILE}".d
139-
cat <<EOF > "${ZABBIX_CONFIG_PATH%/}"/"${ZABBIX_CONFIG_FILE}".d/nfrastack-container_agent.conf
135+
cat <<EOF | silent tee "${ZABBIX_CONFIG_PATH%/}"/"${ZABBIX_CONFIG_FILE}".d/nfrastack-container_agent.conf
140136
# Zabbix Container Agent Configuration - Automatically Generated based on Operating System
141137
# Find Companion Zabbix Server Templates at https://github.com/nfrastack/docker-${os}
142-
# Autoregister=toica
138+
# Autoregister=toica,nfraca
143139

144140
## Report on Container OS
145141
UserParameter=agent.os,grep "PRETTY_NAME" /etc/os-release | cut -d '"' -f2
@@ -152,7 +148,7 @@ EOF
152148
chown -R "${ZABBIX_USER}":root \
153149
"${ZABBIX_AGENT_LOG_PATH}" \
154150
"${ZABBIX_CONFIG_PATH}"
155-
chmod 775 "${ZABBIX_CONFIG_PATH}"
151+
chmod -R 550 "${ZABBIX_CONFIG_PATH}"
156152
create_logrotate zabbix-agent "${ZABBIX_AGENT_LOG_PATH%/}"/"${ZABBIX_AGENT_LOG_FILE}" zabbix-agent-${logship_version} "${ZABBIX_USER}" root
157153
print_notice "Container configured for monitoring with '${CONTAINER_MONITORING_BACKEND} ${ZABBIX_AGENT_TYPE}'"
158154
}
@@ -164,11 +160,13 @@ nfra_configure_monitoring_zabbix_run() {
164160
print_debug "Starting classic Zabbix Agent"
165161
zabbix_command="zabbix_agentd"
166162
zabbix_agent_type="classic"
163+
ZABBIX_VERSION=$(${zabbix_command} --version | head -n1 | awk '{print $4}')
167164
;;
168165
"2" | "m" | "n" | "modern" | "new" )
169166
print_debug "Starting modern Zabbix agent"
170167
zabbix_command="zabbix_agent2"
171168
zabbix_agent_type="modern"
169+
ZABBIX_VERSION=$(${zabbix_command} -V | head -n1 | awk '{print $3}')
172170
;;
173171
* )
174172
print_debug "No known Zabbix agent type selected"
@@ -187,13 +185,15 @@ nfra_configure_monitoring_zabbix_run() {
187185
else
188186
ZABBIX_AUTOREGISTER_DNS_NAME="${ZABBIX_HOSTNAME}${ZABBIX_AUTOREGISTER_SUFFIX}"
189187
fi
190-
sed -i "/HostInterface=.*/d" "${ZABBIX_CONFIG_PATH%/}"/"${ZABBIX_CONFIG_FILE}"
191-
sed -i "/^Include=.*/i HostInterface=${ZABBIX_AUTOREGISTER_DNS_NAME}" "${ZABBIX_CONFIG_PATH%/}"/"${ZABBIX_CONFIG_FILE}"
188+
sed -i \
189+
-e "/HostInterface=.*/d" \
190+
-e "/^Include=.*/i HostInterface=${ZABBIX_AUTOREGISTER_DNS_NAME}" \
191+
"${ZABBIX_CONFIG_PATH%/}"/"${ZABBIX_CONFIG_FILE}"
192192
fi
193193
fi
194194

195195
chown -R "${ZABBIX_USER}":root "${ZABBIX_CONFIG_PATH}"
196-
chmod -R 0755 "${ZABBIX_CONFIG_PATH}"
196+
chmod -R 550 "${ZABBIX_CONFIG_PATH}"
197197

198198
if var_true "${CONTAINER_ENABLE_FIREWALL}" && var_true "${CONTAINER_ENABLE_FAIL2BAN}" ; then
199199
while [ ! -S "/var/run/fail2ban/fail2ban.sock" ] ; do
@@ -202,7 +202,7 @@ nfra_configure_monitoring_zabbix_run() {
202202
setfacl -m g:fail2ban:rwx /var/run/fail2ban/fail2ban.sock
203203
fi
204204

205-
print_start "Starting Zabbix Agent (${zabbix_agent_type}) ${ZABBIX_VERSION}"
205+
print_start "Starting Zabbix Agent ${ZABBIX_VERSION} (${zabbix_agent_type})"
206206
output_on
207207
silent exec s6-setuidgid "${ZABBIX_USER}" ${zabbix_command} -c "${ZABBIX_CONFIG_PATH%/}"/"${ZABBIX_CONFIG_FILE}" -f
208208
}

0 commit comments

Comments
 (0)