Skip to content

Commit

Permalink
Zabbix: Use Agent2 as Default | Update Script added | some other Impr…
Browse files Browse the repository at this point in the history
…ovements (#527)

* 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 <[email protected]>

* Update zabbix.sh

---------

Co-authored-by: Håvard Gjøby Thom <[email protected]>
  • Loading branch information
MickLesk and havardthom authored Nov 27, 2024
1 parent 853c727 commit a2ae582
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 17 deletions.
27 changes: 24 additions & 3 deletions ct/zabbix.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
}

Expand Down
21 changes: 12 additions & 9 deletions install/zabbix-install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand All @@ -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"
14 changes: 9 additions & 5 deletions json/zabbix.json
Original file line number Diff line number Diff line change
Expand Up @@ -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.",
Expand All @@ -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"
}
]
}
}

0 comments on commit a2ae582

Please sign in to comment.