From a2ae5829924d4ed45f9ea76601766f927ae04b5a Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Wed, 27 Nov 2024 15:52:53 +0100 Subject: [PATCH] Zabbix: Use Agent2 as Default | Update Script added | some other Improvements (#527) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Improve Zabbix Update / Agent2 * Add Updateble / Documentation / Info for JSON * Zabbix-Install: Switch to latest version & use zabbix-agent2 * Update json/zabbix.json Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com> * Update zabbix.sh --------- Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com> --- ct/zabbix.sh | 27 ++++++++++++++++++++++++--- install/zabbix-install.sh | 21 ++++++++++++--------- json/zabbix.json | 14 +++++++++----- 3 files changed, 45 insertions(+), 17 deletions(-) diff --git a/ct/zabbix.sh b/ct/zabbix.sh index 1a630011..9c238bcc 100644 --- a/ct/zabbix.sh +++ b/ct/zabbix.sh @@ -57,11 +57,32 @@ header_info check_container_storage check_container_resources if [[ ! -f /etc/zabbix/zabbix_server.conf ]]; then msg_error "No ${APP} Installation Found!"; exit; fi +msg_info "Stopping ${APP} Services" +systemctl stop zabbix-server zabbix-agent2 +msg_ok "Stopped ${APP} Services" + msg_info "Updating $APP LXC" +mkdir -p /opt/zabbix-backup/ +cp /etc/zabbix/zabbix_server.conf /opt/zabbix-backup/ +cp /etc/apache2/conf-enabled/zabbix.conf /opt/zabbix-backup/ +cp -R /usr/share/zabbix/ /opt/zabbix-backup/ +cp -R /usr/share/zabbix-* /opt/zabbix-backup/ +rm -Rf /etc/apt/sources.list.d/zabbix.list +cd /tmp +wget -q https://repo.zabbix.com/zabbix/7.0/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb +dpkg -i zabbix-release_latest+debian12_all.deb &>/dev/null apt-get update &>/dev/null -apt-get -y upgrade &>/dev/null -systemctl restart zabbix-server -msg_ok "Updated $APP LXC" +apt-get install --only-upgrade zabbix-server-pgsql zabbix-frontend-php zabbix-agent2 zabbix-agent2-plugin-* &>/dev/null + +msg_info "Starting ${APP} Services" +systemctl start zabbix-server zabbix-agent2 +systemctl restart apache2 +msg_ok "Started ${APP} Services" + +msg_info "Cleaning Up" +rm -rf /tmp/zabbix-release_latest+debian12_all.deb +msg_ok "Cleaned" +msg_ok "Updated Successfully" exit } diff --git a/install/zabbix-install.sh b/install/zabbix-install.sh index 33cf2d59..8e2af1bc 100644 --- a/install/zabbix-install.sh +++ b/install/zabbix-install.sh @@ -14,17 +14,19 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y curl -$STD apt-get install -y sudo -$STD apt-get install -y mc +$STD apt-get install -y \ + curl \ + sudo \ + mc msg_ok "Installed Dependencies" msg_info "Installing Zabbix" -wget -q https://repo.zabbix.com/zabbix/7.0/debian/pool/main/z/zabbix-release/zabbix-release_7.0-1+debian12_all.deb -$STD dpkg -i zabbix-release_7.0-1+debian12_all.deb -rm zabbix-release_7.0-1+debian12_all.deb +cd /tmp +wget -q https://repo.zabbix.com/zabbix/7.0/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb +$STD dpkg -i /tmp/zabbix-release_latest+debian12_all.deb $STD apt-get update -$STD apt-get install -y zabbix-server-pgsql zabbix-frontend-php php8.2-pgsql zabbix-apache-conf zabbix-sql-scripts zabbix-agent +$STD apt-get install -y zabbix-server-pgsql zabbix-frontend-php php8.2-pgsql zabbix-apache-conf zabbix-sql-scripts +$STD apt-get install -y zabbix-agent2 zabbix-agent2-plugin-* msg_ok "Installed Zabbix" msg_info "Setting up PostgreSQL" @@ -50,14 +52,15 @@ echo -e "zabbix Database Name: \e[32m$DB_NAME\e[0m" >>~/zabbix.creds msg_ok "Set up PostgreSQL" msg_info "Starting Services" -systemctl restart zabbix-server zabbix-agent apache2 -systemctl enable -q zabbix-server zabbix-agent apache2 +systemctl restart zabbix-server zabbix-agent2 apache2 +systemctl enable -q --now zabbix-server zabbix-agent2 apache2 msg_ok "Started Services" motd_ssh customize msg_info "Cleaning up" +rm -rf /tmp/zabbix-release_latest+debian12_all.deb $STD apt-get -y autoremove $STD apt-get -y autoclean msg_ok "Cleaned" diff --git a/json/zabbix.json b/json/zabbix.json index 4bd311c9..1fa44ce3 100644 --- a/json/zabbix.json +++ b/json/zabbix.json @@ -6,10 +6,10 @@ ], "date_created": "2024-06-12", "type": "ct", - "updateable": false, + "updateable": true, "privileged": false, - "interface_port": "5454", - "documentation": null, + "interface_port": "", + "documentation": "https://www.zabbix.com/documentation/current/en/manual", "website": "https://www.zabbix.com/", "logo": "https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/zabbix.svg", "description": "Zabbix is an all-in-one monitoring solution with a variety of enterprise-grade features available right out of the box.", @@ -33,7 +33,11 @@ "notes": [ { "text": "Database credentials: `cat zabbix.creds`", - "type": "warning" + "type": "info" + } + { + "text": "Zabbix agent 2 is used by default", + "type": "info" } ] -} \ No newline at end of file +}