From a5e286b070fed0ff1ef5a6e311c1e469ceba3945 Mon Sep 17 00:00:00 2001 From: Peter Reichart Date: Wed, 9 Aug 2023 11:59:23 +0000 Subject: [PATCH] Dateien nach "/" hochladen --- README.md | 32 ++++++++++++++++++++++ docker-compose.yml | 68 ++++++++++++++++++++++++++++++++++++++++++++++ env.template | 14 ++++++++++ 3 files changed, 114 insertions(+) create mode 100644 docker-compose.yml create mode 100644 env.template diff --git a/README.md b/README.md index 4453f62..558839a 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,34 @@ # zabbix_mit_docker-compose +Vorlage um Zabbix innerhalb Docker zu betreiben. Unser Beispiel-Host hat die IP ```192.168.44.10``` + +### 1. Login auf dem Dockerhost per SSH + +### 2. Das Git-Repository klonen: +``` + git clone http://dg4mlk.as64647.de.ampr.org:3000/dg4mlk/zabbix_mit_docker-compose.git + cd zabbix_mit_docker-compose +``` +### 3. Die Datei .env umbenennen: +``` + mv env.template .env +``` +* Optional: Die Passwörter in .env anpassen (wird für eine Demoumgebung nicht zwingend benötigt) +* Für eine produktive Installation MÜSSEN die Werte in .env korrekt eingestellt sein! +* Eine sichere Installation von Zabbix ist nicht das Ziel dieser Anleitung! + +### 4. Zabbix starten: +``` + docker compose up -d +``` +* Für diesen Schritt benötigt der Docker-Host eine Internetverbindung. +* Der erste Start benötigt etwas mehr Zeit + +### 5. Mit dem Browser die Login-Seite aufrufen: + +```http://192.168.44.10:8085/``` + +Login mit User ```Admin``` und Passwort ```zabbix``` + +## Achtung: +Das Einrichten der Datenbank dauert etwas, daher kann beim Aufrufen der Loginseite eine Fehlermeldung erscheinen! Daher einfach etwas warten und noch einnmal versuchen... diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..f2d1732 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,68 @@ + +version: '3.3' + +services: + + mysql: + image: mariadb:10.7.8 + container_name: zbxdb + restart: unless-stopped + environment: + - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} + - MYSQL_USER=${MYSQL_USER} + - MYSQL_PASSWORD=${MYSQL_PASSWORD} + - MYSQL_DATABASE=${MYSQL_DATABASE} + - DB_SERVER_HOST=${DB_SERVER_HOST} + - DB_SERVER_PORT=${DB_SERVER_PORT} + - ZBX_DEBUGLEVEL=${ZBX_DEBUGLEVEL} + - ZBX_SERVER_HOST=${ZBX_SERVER_HOST} + cap_add: + - SYS_NICE # CAP_SYS_NICE + volumes: + - ./volumes/db:/var/lib/mysql + + server: + image: zabbix/zabbix-server-mysql + container_name: zabbix + ports: + - "10051:10051" + restart: unless-stopped + environment: + - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} + - MYSQL_USER=${MYSQL_USER} + - MYSQL_PASSWORD=${MYSQL_PASSWORD} + - MYSQL_DATABASE=${MYSQL_DATABASE} + - DB_SERVER_HOST=${DB_SERVER_HOST} + - DB_SERVER_PORT=${DB_SERVER_PORT} + - ZBX_DEBUGLEVEL=${ZBX_DEBUGLEVEL} + depends_on: + - mysql + + agent: + image: zabbix/zabbix-agent2 + container_name: zbxagent2 + privileged: true + environment: + - ZBX_SERVER_HOST=${ZBX_SERVER_HOST} + - ZBX_HOSTNAME=${ZBX_HOSTNAME} + - ZBX_STARTAGENTS=${ZBX_STARTAGENTS} + restart: unless-stopped + + web: + image: zabbix/zabbix-web-apache-mysql + container_name: zbxweb + ports: + - "8085:8080" + restart: unless-stopped + environment: + - MYSQL_USER=${MYSQL_USER} + - MYSQL_PASSWORD=${MYSQL_PASSWORD} + - MYSQL_DATABASE=${MYSQL_DATABASE} + - DB_SERVER_HOST=${DB_SERVER_HOST} + - DB_SERVER_PORT=${DB_SERVER_PORT} + - ZBX_DEBUGLEVEL=${ZBX_DEBUGLEVEL} + - ZBX_SERVER_HOST=${ZBX_SERVER_HOST} + + depends_on: + - mysql + diff --git a/env.template b/env.template new file mode 100644 index 0000000..f78dd48 --- /dev/null +++ b/env.template @@ -0,0 +1,14 @@ +MYSQL_ROOT_PASSWORD=zabbixrootsqlsecret +MYSQL_USER=zabbix +MYSQL_PASSWORD=zabbixsqlsecret +MYSQL_DATABASE=zabbix +DB_SERVER_HOST=zbxdb +DB_SERVER_PORT=3306 +ZBX_DEBUGLEVEL=3 +ZBX_SERVER_HOST="zabbix" +PHP_TZ="Europe/Berlin" +SERVER_NAME=zabbix.example.tld +ZBX_SERVER_HOST=zabbix +ZBX_HOSTNAME=agent2 +ZBX_STARTAGENTS=5 +