# create internal network, this is required so the pi is fully functional even without network attached
docker network create --subnet=172.18.0.0/16 DockerInternalNet
docker network create --subnet=172.18.0.0/16 zabbix-net
docker network ls
docker network inspect zabbix-net
# Run PostgreSQL 12 server with TimescaleDB and set to listen at port 17412:
mkdir -p ~/postgresql/12
docker run --name pg12b -t \
--restart always \
--net zabbix-net --ip 172.18.0.11 \
-e PGDATA=/var/lib/postgresql/data/pgdata \
-v /home/ubuntu/postgresql/12:/var/lib/postgresql/data \
-e POSTGRES_PASSWORD="zabbix" \
-e POSTGRES_DB="dummy_db" \
-p 17412:5432 -d timescale/timescaledb:1.7.0-pg12
# Authorize in posthres container
docker exec -it pg12b bash
# Navigate to postgres user
su - postgres
# Create a user 'zabbix'
createuser --pwprompt zabbix
# Create new database 'z52' and assign it to user 'zabbix'
createdb -O zabbix z52
# Exit postgres user
exit
# Exit docker container
exit
# Add dedicated user for backend container
sudo useradd -G ubuntu --no-create-home --shell /sbin/nologin z52srv
# Replace existing backend
docker stop z52srv && docker rm z52srv && \
docker run --name z52srv --user $(id -u z52srv):$(id -g) \
--restart always \
-e TZ="Europe/Riga" \
--net zabbix-net --ip 172.18.0.22 \
-e DB_SERVER_PORT="5432" -e DB_SERVER_HOST="172.18.0.11" -e POSTGRES_DB="z52" \
-e ZBX_CACHESIZE=1G \
-e ZBX_STARTPOLLERS=5 \
-e ZBX_STARTPREPROCESSORS=8 \
-e ZBX_STARTTRAPPERS=2 \
-e ZBX_STARTDBSYNCERS=1 \
-e ZBX_STARTPROXYPOLLERS=0 \
-e ZBX_STARTALERTERS=1 \
-e ZBX_STARTLLDPROCESSORS=8 \
-e ZBX_STARTDISCOVERERS=0 \
-e ZBX_CACHEUPDATEFREQUENCY=3600 \
-p 15251:10051 \
-d zabbix/zabbix-server-pgsql:centos-5.2.6
# for user to work need to perform command under root
docker stop zabbix-web-nginx-pgsql && docker rm zabbix-web-nginx-pgsql && \
docker run --name zabbix-web-nginx-pgsql --restart always -t \
--net zabbix-net --ip 172.18.0.33 \
-e DB_SERVER_HOST="172.18.0.11" \
-e DB_SERVER_PORT="5432" \
-e POSTGRES_USER="zabbix" \
-e POSTGRES_PASSWORD="zabbix" \
-e POSTGRES_DB="z52" \
--link pg12b:postgres \
--link z52srv:zabbix-server \
-p 80:8080 \
-d zabbix/zabbix-web-nginx-pgsql:ubuntu-5.2.6
# Install Zabbix agent
cd
wget https://repo.zabbix.com/zabbix/5.2/ubuntu-arm64/pool/main/z/zabbix-release/zabbix-release_5.2-1+ubuntu20.04_all.deb
sudo dpkg -i zabbix-release_5.2-1+ubuntu20.04_all.deb
rm zabbix-release_5.2-1+ubuntu20.04_all.deb
sudo apt update
sudo apt install zabbix-agent2
sudo systemctl enable --now zabbix-agent2
# run grafana
mkdir -p /home/ubuntu/grafana
docker run -d \
-p 3000:3000 \
--restart unless-stopped \
--name=grafana7 \
--user root \
--volume "/home/ubuntu/grafana:/var/lib/grafana" \
-e "GF_INSTALL_PLUGINS=alexanderzobnin-zabbix-app," \
grafana/grafana:7.3.3
No comments:
Post a Comment