Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 9 additions & 3 deletions packages/helpermodules/subdata.py
Original file line number Diff line number Diff line change
Expand Up @@ -689,9 +689,15 @@ def process_optional_topic(self, var: optional.Optional, msg: mqtt.MQTTMessage):
# do not reconfigure monitoring if topic is received on startup
if self.event_subdata_initialized.is_set():
config = decode_payload(msg.payload)
mod = importlib.import_module(f".monitoring.{config['type']}.api", "modules")
config = dataclass_from_dict(mod.device_descriptor.configuration_factory, config)
mod.create_config(config)
if config["type"] is not None:
mod = importlib.import_module(f".monitoring.{config['type']}.api", "modules")
config = dataclass_from_dict(mod.device_descriptor.configuration_factory, config)
mod.create_config(config)
run_command(["sudo", "systemctl", "restart", "zabbix-agent2"], process_exception=True)
run_command(["sudo", "systemctl", "enable", "zabbix-agent2"], process_exception=True)
else:
run_command(["sudo", "systemctl", "stop", "zabbix-agent2"], process_exception=True)
run_command(["sudo", "systemctl", "disable", "zabbix-agent2"], process_exception=True)
else:
log.debug("skipping monitoring config on startup")
else:
Expand Down
2 changes: 0 additions & 2 deletions packages/modules/monitoring/zabbix/api.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
#!/usr/bin/env python3
import os
from helpermodules.utils.run_command import run_command
from modules.common.abstract_device import DeviceDescriptor
from modules.monitoring.zabbix.config import Zabbix

Expand Down Expand Up @@ -35,7 +34,6 @@ def create_config(config: Zabbix):
set_value(CONFIG_PATH, "TLSAccept", "psk")
set_value(CONFIG_PATH, "TLSPSKFile", KEY_PATH)
set_value(CONFIG_PATH, "TLSPSKIdentity", config.configuration.psk_identifier)
run_command(["sudo", "systemctl", "restart", "zabbix-agent2"], process_exception=True)


device_descriptor = DeviceDescriptor(configuration_factory=Zabbix)
17 changes: 10 additions & 7 deletions runs/install_packages.sh
Original file line number Diff line number Diff line change
@@ -1,11 +1,5 @@
#!/bin/bash
echo "install required packages with 'apt-get'..."
if [ ! -e zabbix-release_6.2-3+debian11_all.deb ]
then
wget https://repo.zabbix.com/zabbix/6.2/raspbian/pool/main/z/zabbix-release/zabbix-release_6.2-3%2Bdebian11_all.deb
sudo dpkg -i zabbix-release_6.2-3+debian11_all.deb
echo "download"
fi
sudo apt-get -q update
sudo apt-get -q -y install \
vim bc jq socat sshpass sudo ssl-cert mmc-utils \
Expand All @@ -16,5 +10,14 @@ fi
python3-pip \
xserver-xorg x11-xserver-utils openbox-lxde-session lightdm lightdm-autologin-greeter accountsservice \
chromium chromium-l10n
sudo apt install zabbix-agent2 zabbix-agent2-plugin-*
if [ -z "$(dpkg -l | grep zabbix-agent2)" ]
then
echo "install zabbix"
wget -P /tmp/ https://repo.zabbix.com/zabbix/6.2/raspbian/pool/main/z/zabbix-release/zabbix-release_6.2-3%2Bdebian11_all.deb
sudo dpkg -i /tmp/zabbix-release_6.2-3+debian11_all.deb
echo "download"
sudo apt-get -q update
sudo apt install zabbix-agent2 zabbix-agent2-plugin-*
sudo rm /tmp/zabbix-release_6.2-3+debian11_all.deb
fi
echo "done"