Compare commits
13 Commits
0.2.0
...
7759ca9ec7
| Author | SHA1 | Date | |
|---|---|---|---|
|
7759ca9ec7
|
|||
|
bcba8d258f
|
|||
|
1045ebebd0
|
|||
|
e0737632f8
|
|||
|
c37da6b538
|
|||
|
83e7d0bc1f
|
|||
|
eee92ba7f2
|
|||
|
3b8cab00ad
|
|||
|
c975d7d2b6
|
|||
|
46c224cd9f
|
|||
|
c2eef2b279
|
|||
|
b9fedb034e
|
|||
|
aac9975a01
|
@@ -3,10 +3,14 @@ FROM $BUILD_FROM
|
|||||||
|
|
||||||
ENV LANG C.UTF-8
|
ENV LANG C.UTF-8
|
||||||
|
|
||||||
# Copy scripts for add-on
|
COPY rootfs /
|
||||||
COPY run.sh /
|
|
||||||
|
|
||||||
RUN apk add -U jq zabbix-agent2=6.0.5-r0 sudo && \
|
RUN \
|
||||||
chmod a+x /run.sh
|
apk add -U zabbix-agent2=6.0.13-r0 sudo && \
|
||||||
|
addgroup -g 102 -S docker && \
|
||||||
|
addgroup zabbix docker
|
||||||
|
|
||||||
CMD [ "/run.sh" ]
|
LABEL \
|
||||||
|
io.hass.version="0.2.5" \
|
||||||
|
io.hass.type="addon" \
|
||||||
|
io.hass.arch="amd64"
|
||||||
@@ -3,10 +3,14 @@ FROM $BUILD_FROM
|
|||||||
|
|
||||||
ENV LANG C.UTF-8
|
ENV LANG C.UTF-8
|
||||||
|
|
||||||
# Copy scripts for add-on
|
COPY rootfs /
|
||||||
COPY run.sh /
|
|
||||||
|
|
||||||
RUN apk add -U jq zabbix-agent2=6.0.5-r0 sudo && \
|
RUN \
|
||||||
chmod a+x /run.sh
|
apk add -U zabbix-agent2=6.0.13-r0 sudo && \
|
||||||
|
addgroup -g 102 -S docker && \
|
||||||
|
addgroup zabbix docker
|
||||||
|
|
||||||
CMD [ "/run.sh" ]
|
LABEL \
|
||||||
|
io.hass.version="0.2.5" \
|
||||||
|
io.hass.type="addon" \
|
||||||
|
io.hass.arch="armhf"
|
||||||
@@ -3,10 +3,14 @@ FROM $BUILD_FROM
|
|||||||
|
|
||||||
ENV LANG C.UTF-8
|
ENV LANG C.UTF-8
|
||||||
|
|
||||||
# Copy scripts for add-on
|
COPY rootfs /
|
||||||
COPY run.sh /
|
|
||||||
|
|
||||||
RUN apk add -U jq zabbix-agent2=6.0.5-r0 sudo && \
|
RUN \
|
||||||
chmod a+x /run.sh
|
apk add -U zabbix-agent2=6.0.13-r0 sudo && \
|
||||||
|
addgroup -g 102 -S docker && \
|
||||||
|
addgroup zabbix docker
|
||||||
|
|
||||||
CMD [ "/run.sh" ]
|
LABEL \
|
||||||
|
io.hass.version="0.2.5" \
|
||||||
|
io.hass.type="addon" \
|
||||||
|
io.hass.arch="aarch64"
|
||||||
@@ -2,4 +2,8 @@
|
|||||||
|
|
||||||
This addon enables a zabbix agent2 for the hassio instance.
|
This addon enables a zabbix agent2 for the hassio instance.
|
||||||
|
|
||||||
You obviously neead a zabbix server for it to be meaningful.
|
You obviously need a zabbix server for it to be meaningful.
|
||||||
|
|
||||||
|
## Docker access
|
||||||
|
|
||||||
|
If you need the agent to access the underlying docker, you need to disable the "Protection mode" switch and restart the container.
|
||||||
|
|||||||
@@ -2,14 +2,16 @@
|
|||||||
"name": "Zabbix Agent 2",
|
"name": "Zabbix Agent 2",
|
||||||
"url": "https://git.asperti.com/paspo/hassio-addons",
|
"url": "https://git.asperti.com/paspo/hassio-addons",
|
||||||
"image": "docker.asperti.com/paspo/hassio-zabbix-agent2",
|
"image": "docker.asperti.com/paspo/hassio-zabbix-agent2",
|
||||||
"version": "0.2.0",
|
"version": "0.2.5",
|
||||||
"slug": "zabbix-agent2",
|
"slug": "zabbix-agent2",
|
||||||
"description": "Zabbix Agent 2 for hass.io",
|
"description": "Zabbix Agent 2 for hass.io",
|
||||||
"startup": "services",
|
"startup": "services",
|
||||||
"boot": "auto",
|
"boot": "auto",
|
||||||
"hassio_api": true,
|
"hassio_api": true,
|
||||||
|
"docker_api": true,
|
||||||
"audio": false,
|
"audio": false,
|
||||||
"gpio": false,
|
"gpio": false,
|
||||||
|
"init": false,
|
||||||
"arch": [
|
"arch": [
|
||||||
"aarch64",
|
"aarch64",
|
||||||
"amd64"
|
"amd64"
|
||||||
@@ -17,6 +19,9 @@
|
|||||||
"ports": {
|
"ports": {
|
||||||
"10050/tcp": 10050
|
"10050/tcp": 10050
|
||||||
},
|
},
|
||||||
|
"ports_description": {
|
||||||
|
"10050/tcp": "Zabbix Agent port (used by Zabbix Server and/or proxies)"
|
||||||
|
},
|
||||||
"map": [
|
"map": [
|
||||||
"share"
|
"share"
|
||||||
],
|
],
|
||||||
|
|||||||
6
rootfs/etc/cont-init.d/require_unprotected.sh
Normal file
6
rootfs/etc/cont-init.d/require_unprotected.sh
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
#!/usr/bin/with-contenv bashio
|
||||||
|
|
||||||
|
# Instead of enforcing this requirement, we let the user choose
|
||||||
|
# to access docker, we need to disable "protection mode"
|
||||||
|
|
||||||
|
#bashio::require.unprotected
|
||||||
8
rootfs/etc/services.d/zabbix-agent2/finish
Executable file
8
rootfs/etc/services.d/zabbix-agent2/finish
Executable file
@@ -0,0 +1,8 @@
|
|||||||
|
#!/usr/bin/execlineb -S0
|
||||||
|
# ==============================================================================
|
||||||
|
# Take down the S6 supervision tree when zabbix-agent2 fails
|
||||||
|
# ==============================================================================
|
||||||
|
if { s6-test ${1} -ne 0 }
|
||||||
|
if { s6-test ${1} -ne 256 }
|
||||||
|
|
||||||
|
s6-svscanctl -t /var/run/s6/services
|
||||||
41
rootfs/etc/services.d/zabbix-agent2/run
Executable file
41
rootfs/etc/services.d/zabbix-agent2/run
Executable file
@@ -0,0 +1,41 @@
|
|||||||
|
#!/usr/bin/with-contenv bashio
|
||||||
|
# ==============================================================================
|
||||||
|
# Start zabbix-agent2 service if enabled
|
||||||
|
# ==============================================================================
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
CONFIG_PATH=/data/options.json
|
||||||
|
CUSTOM_CFG_PATH=/share/zabbix-agent2
|
||||||
|
|
||||||
|
SERVER_OLD=$(jq --raw-output ".server" $CONFIG_PATH)
|
||||||
|
SERVER="$(bashio::config 'server' $SERVER_OLD)"
|
||||||
|
HOSTNAME_OLD=$(jq --raw-output ".hostname" $CONFIG_PATH)
|
||||||
|
HOSTNAME="$(bashio::config 'hostname' $HOSTNAME_OLD)"
|
||||||
|
|
||||||
|
if [ ! -d "$CUSTOM_CFG_PATH" ] ; then
|
||||||
|
bashio::log.info "Creating a folder for custom configuration"
|
||||||
|
mkdir -p "$CUSTOM_CFG_PATH"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "
|
||||||
|
Server=$SERVER
|
||||||
|
ServerActive=$SERVER
|
||||||
|
Hostname=$HOSTNAME
|
||||||
|
LogType=console
|
||||||
|
PidFile=/var/run/zabbix/zabbix_agent2.pid
|
||||||
|
Include=${CUSTOM_CFG_PATH}/*.conf
|
||||||
|
" > /etc/zabbix/zabbix_agent2.conf
|
||||||
|
|
||||||
|
bashio::log.info "Starting zabbix-agent2"
|
||||||
|
sudo -u zabbix zabbix_agent2 -f &
|
||||||
|
AGENT_PID=$!
|
||||||
|
|
||||||
|
# Register stop
|
||||||
|
function stop_agent() {
|
||||||
|
killall zabbix_agent2
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
trap "stop_agent" SIGTERM SIGHUP
|
||||||
|
|
||||||
|
wait "${AGENT_PID}"
|
||||||
22
run.sh
22
run.sh
@@ -1,22 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
CONFIG_PATH=/data/options.json
|
|
||||||
CUSTOM_CFG_PATH=/share/zabbix-agent2
|
|
||||||
|
|
||||||
SERVER=$(jq --raw-output ".server" $CONFIG_PATH)
|
|
||||||
HOSTNAME=$(jq --raw-output ".hostname" $CONFIG_PATH)
|
|
||||||
|
|
||||||
if [ ! -d "$CUSTOM_CFG_PATH" ] ; then
|
|
||||||
mkdir -p "$CUSTOM_CFG_PATH"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "
|
|
||||||
Server=$SERVER
|
|
||||||
ServerActive=$SERVER
|
|
||||||
Hostname=$HOSTNAME
|
|
||||||
LogType=console
|
|
||||||
Include=${CUSTOM_CFG_PATH}/*.conf
|
|
||||||
" > /etc/zabbix/zabbix_agent2.conf
|
|
||||||
|
|
||||||
sudo -u zabbix zabbix_agent2 -f
|
|
||||||
Reference in New Issue
Block a user