Zabbix proxy deployment on Nodegrid OS
This document outlines the installation of a Zabbix proxy agent on a Nodegrid appliance.
1. Overview
At a high level, the following steps must be performed
- Enable
docker
service on Nodegrid OS - Install docker-compose
- Install Zabbix Proxy agent
Note: All steps must be performed through the CLI or root shell. Configuration through the WebUI is currently not supported.
2. Requirements
- Nodegrid OS 5.8 or higher
- Virtulisation License
3. Nodegrid OS preperation
It is recommended to run large docker images with persistent data storage requirements like Zabbix on a dedicated 2nd disk.
To configure the Nodegrid OS and docker service to utilise the 2nd disk, follow this guide
- open an admin cli interface
- Recomended if a 2nd disk ais available
- change the default storage location to a dedicated 2nd disk if available, following this guide
- enable the
docker
servicecd /settings/services/ set enable_docker=yes commit
- Confirm that a valid Virtulisation License is installed
The Example displayes a valid installed licenseshow /settings/license/
serial_number license_key application number_of_licenses expiration date details peer address type ============= ======================= ================= ================== =============== ======= ============ ================= 00000000588 xxxxx-xxxxx-xxxxx-UMUER docker containers 05 2023-07-01 local locally installed
- install a new license key if required
cd /settings/license/ add set license_key=xxxxx-xxxxx-xxxxx-xxxxx commit
- install docker-compose
shell sudo mount -o remount,rw / shell sudo curl -SL https://github.com/docker/compose/releases/download/v2.17.3/docker-compose-linux-x86_64 -o /var/opt/docker-compose shell sudo chmod +x /var/opt/docker-compose shell sudo ln -s /var/opt/docker-compose /usr/bin/docker-compose shell sudo mount -o remount,ro /
4. Install Zabbix Proxy Agent
- open an root shell interface, from a admin cli
shell sudo su -
- create a folder for the configuration
mkdir zabix-proxy cd zabix-proxy
- create a docker-compose file and adjust the values are required
Example File Content , adjust the values which are marked withvi docker-compose.yml
<...>
, i.e.version: '3.5' services: zabbix-proxy-sqlite3: image: zabbix/zabbix-proxy-sqlite3:6.2.1-ubuntu ports: - "10061:10051" volumes: - /etc/localtime:/etc/localtime:ro - ./zbx_env/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro - ./zbx_env/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro - snmptraps:/var/lib/zabbix/snmptraps:rw environment: - ZBX_PROXYMODE=0 - ZBX_HOSTNAME=<NAME> - ZBX_SERVER_HOST=<IP_ADDRESS> depends_on: - zabbix-snmptraps networks: - zabbix-proxy stop_grace_period: 30s labels: com.zabbix.description: "Zabbix proxy" com.zabbix.company: "<COMPANY>" com.zabbix.component: "zabbix-proxy" com.zabbix.os: "ubuntu" zabbix-snmptraps: image: zabbix/zabbix-snmptraps:6.2.1-ubuntu ports: - "162:1162/udp" volumes: - snmptraps:/var/lib/zabbix/snmptraps:rw networks: - zabbix-proxy stop_grace_period: 5s labels: com.zabbix.description: "Zabbix SNMP trap" com.zabbix.company: "ZPE Systems" com.zabbix.component: "zabbix-snmp-trap" com.zabbix.os: "ubuntu" networks: zabbix-proxy: volumes: snmptraps:
- start the services with
docker-compose up -d
- The running service can be viewed after in the WebUI by Navigating to Applications -> Docker