5 התקנה מקונטיינרים
Overview
This page describes how to deploy Zabbix using Docker or Docker Compose.
Docker Compose is the quickest way to deploy Zabbix. It reads a configuration file and automatically starts all the containers that make up a complete Zabbix setup, in the correct order.
Docker (manual deployment) achieves the same result by deploying each component step by step, which may suit users already managing an existing Docker environment.
Since Zabbix 6.0, deterministic triggers need to be created during the installation.
If binary logging is enabled for MySQL/MariaDB, this requires superuser privileges or setting the variable/configuration parameter log_bin_trust_function_creators = 1.
See Database creation scripts for instructions how to set the variable.
Note that if executing from a console, the variable will only be set temporarily and will be dropped when a Docker is restarted.
In this case, keep your SQL service running, only stop zabbix-server service by running docker compose down zabbix-server and then docker compose up -d zabbix-server.
Alternatively, you can set this variable in the configuration file.
Prerequisites
Before you begin, make sure Docker is installed on your system. If it is not, follow the Docker installation guide.
Some Zabbix components require specific ports to be open on the host running Docker (e.g., 10051/TCP for Zabbix server, 162/UDP for SNMP traps).
See Requirements for a full list of ports used by Zabbix components.
For Zabbix server and agent, the default port can be changed by setting the ZBX_LISTENPORT environment variable on the respective container.
מבנה
כל רכיבי Zabbix זמינים ב-Docker הבא מאגרים:
- סוכן Zabbix - zabbix/zabbix-agent
- שרת Zabbix
- שרת Zabbix עם תמיכה במסד נתונים MySQL - zabbix/zabbix-server-mysql
- שרת Zabbix עם תמיכה במסד נתונים PostgreSQL - zabbix/zabbix-server-pgsql
- ממשק אינטרנט של Zabbix
- ממשק אינטרנט של Zabbix מבוסס על שרת אינטרנט Apache2 עם MySQL תמיכה במסד נתונים - zabbix/zabbix-web-apache-mysql
- ממשק אינטרנט של Zabbix מבוסס על שרת אינטרנט Apache2 עם PostgreSQL תמיכה במסד נתונים - zabbix/zabbix-web-apache-pgsql
- ממשק אינטרנט של Zabbix מבוסס על שרת אינטרנט Nginx עם MySQL תמיכה במסד נתונים - zabbix/zabbix-web-nginx-mysql
- ממשק אינטרנט של Zabbix מבוסס על שרת אינטרנט Nginx עם PostgreSQL תמיכה במסד נתונים - zabbix/zabbix-web-nginx-pgsql
- פרוקסי של Zabbix
- Proxy Zabbix עם תמיכה במסד נתונים של SQLite3 - zabbix/zabbix-proxy-sqlite3
- Proxy Zabbix עם תמיכה במסד נתונים MySQL - zabbix/zabbix-proxy-mysql
- Zabbix Java Gateway - zabbix/zabbix-java-gateway
בנוסף יש תמיכה במלכודות SNMP. זה מסופק כתוספת מאגר (zabbix/zabbix-snmptraps) מבוסס על Ubuntu Trusty בלבד. זה יכול להיות מקושר לשרת Zabbix ו פרוקסי של Zabbix.
גרסאות
כל מאגר של רכיבי Zabbix מכיל את התגים הבאים:
האחרון- הגרסה היציבה האחרונה של רכיב Zabbix המבוסס על תמונת לינוקס אלפיניתalpine-latest- הגרסה היציבה האחרונה של רכיב Zabbix מבוסס על תמונת Alpine Linuxubuntu-latest- הגרסה היציבה האחרונה של רכיב מבוסס Zabbix על תמונת אובונטוalpine-6.0-latest- הגרסה המשנית האחרונה של רכיב Zabbix 6.0 מבוסס על תמונת Alpine Linuxubuntu-6.0-latest- הגרסה המשנית האחרונה של רכיב Zabbix 6.0 מבוסס על תמונת אובונטוalpine-6.0.*- גרסאות משניות שונות של רכיב Zabbix 6.0 מבוסס על תמונת Alpine Linux, כאשר*היא הגרסה המשנית של רכיב Zabbixubuntu-6.0.*- גרסאות משניות שונות של רכיב Zabbix 6.0 מבוסס על תמונת אובונטו, כאשר*היא הגרסה המשנית של Zabbix רְכִיב
Docker Compose
Zabbix מספקת קובצי חיבור גם להגדרה והרצה רכיבי Zabbix מרובי מכולות ב-Docker. קבצי חיבור אלה הם זמין במאגר הרשמי של Zabbix docker באתר github.com: https://github.com/zabbix/zabbix-docker. קבצי חיבור אלה מתווספים כדוגמאות, הם עמוסים יתר על המידה. לדוגמה, הם מכילים פרוקסי עם תמיכה ב-MySQL ו- SQLite3.
ישנן כמה גרסאות שונות של קובצי חיבור:
| שם הקובץ | תיאור |
|---|---|
docker-compose_v3_alpine_mysql_latest.yaml |
קובץ החיבור מריץ את הגרסה העדכנית ביותר של רכיבי Zabbix 6.0 ב-Alpine Linux עם תמיכה במסד נתונים של MySQL. |
docker-compose_v3_alpine_mysql_local.yaml |
קובץ החיבור בונה באופן מקומי את הגרסה העדכנית ביותר של Zabbix 6.0 ומריץ רכיבי Zabbix ב-Alpine Linux עם תמיכה במסד נתונים של MySQL. |
docker-compose_v3_alpine_pgsql_latest.yaml |
קובץ החיבור מריץ את הגרסה העדכנית ביותר של רכיבי Zabbix 6.0 ב-Alpine Linux עם תמיכה במסד נתונים PostgreSQL. |
docker-compose_v3_alpine_pgsql_local.yaml |
קובץ החיבור בונה באופן מקומי את הגרסה האחרונה של Zabbix 6.0 ומריץ רכיבי Zabbix על Alpine Linux עם תמיכה במסד נתונים PostgreSQL. |
docker-compose_v3_centos_mysql_latest.yaml |
קובץ החיבור מריץ את הגרסה העדכנית ביותר של רכיבי Zabbix 6.0 ב-CentOS 8 עם תמיכה במסד נתונים של MySQL. |
docker-compose_v3_centos_mysql_local.yaml |
קובץ החיבור בונה באופן מקומי את הגרסה העדכנית ביותר של Zabbix 6.0 ומריץ רכיבי Zabbix על CentOS 8 עם תמיכה במסד הנתונים של MySQL. |
docker-compose_v3_centos_pgsql_latest.yaml |
קובץ החיבור מריץ את הגרסה העדכנית ביותר של רכיבי Zabbix 6.0 על CentOS 8 עם תמיכה במסד נתונים PostgreSQL. |
docker-compose_v3_centos_pgsql_local.yaml |
קובץ החיבור בונה באופן מקומי את הגרסה העדכנית ביותר של Zabbix 6.0 ומריץ רכיבי Zabbix על CentOS 8 עם תמיכה במסד נתונים PostgreSQL. |
docker-compose_v3_ubuntu_mysql_latest.yaml |
קובץ החיבור מריץ את הגרסה העדכנית ביותר של רכיבי Zabbix 6.0 ב-Ubuntu 20.04 עם תמיכה במסד נתונים של MySQL. |
docker-compose_v3_ubuntu_mysql_local.yaml |
קובץ החיבור בונה באופן מקומי את הגרסה העדכנית ביותר של Zabbix 6.0 ומריץ רכיבי Zabbix על אובונטו 20.04 עם תמיכה במסד נתונים של MySQL. |
docker-compose_v3_ubuntu_pgsql_latest.yaml |
קובץ החיבור מריץ את הגרסה העדכנית ביותר של רכיבי Zabbix 6.0 על אובונטו 20.04 עם תמיכה במסד נתונים PostgreSQL. |
docker-compose_v3_ubuntu_pgsql_local.yaml |
קובץ החיבור בונה באופן מקומי את הגרסה האחרונה של Zabbix 6.0 ומריץ רכיבי Zabbix על אובונטו 20.04 עם תמיכה במסד נתונים PostgreSQL. |
::: שימו לב חשוב קבצי חיבור Docker זמינים תומכים בגרסה 3 של Docker Compose. :::
משתני סביבה
כל התמונות של רכיבי Zabbix מספקות משתני סביבה לשליטה
תְצוּרָה. משתני סביבה אלו מפורטים בכל רכיב
מאגר. משתני סביבה אלו הם אופציות של Zabbix
קבצי תצורה, אך עם שיטת שמות שונה. לדוגמה,
ZBX_LOGSLOWQUERIES שווה ל-LogSlowQueries משרת Zabbix ו-
קבצי תצורת פרוקסי של Zabbix.
::: שימו לב חשוב
חלק מאפשרויות התצורה אינן מורשות לעשות זאת
שינוי. לדוגמה, PIDFile ו-LogType.
:::
לחלק מהרכיבים יש משתני סביבה ספציפיים, שאין להם קיימים בקובצי התצורה הרשמיים של Zabbix:
| משתנה | רכיבים | תיאור |
|---|---|---|
DB_SERVER_HOST |
שרת פרוקסי ממשק אינטרנט |
משתנה זה הוא שם IP או DNS של שרת MySQL או PostgreSQL. כברירת מחדל, הערך הוא mysql-server או postgres-server עבור MySQL או PostgreSQL בהתאמה |
DB_SERVER_PORT |
שרת פרוקסי ממשק אינטרנט |
משתנה זה הוא יציאה של שרת MySQL או PostgreSQL. כברירת מחדל, הערך הוא '3306' או '5432' בהתאמה. |
MYSQL_USER |
שרת פרוקסי ממשק אינטרנט |
משתמש במסד נתונים MySQL. כברירת מחדל, הערך הוא 'zabbix'. |
MYSQL_PASSWORD |
שרת פרוקסי ממשק אינטרנט |
סיסמת מסד נתונים של MySQL. כברירת מחדל, הערך הוא 'zabbix'. |
MYSQL_DATABASE |
שרת פרוקסי ממשק אינטרנט |
שם מסד נתונים של Zabbix. כברירת מחדל, הערך הוא 'zabbix' עבור שרת Zabbix ו-'zabbix_proxy' עבור Zabbix proxy. |
POSTGRES_USER |
שרת ממשק אינטרנט |
משתמש במסד נתונים PostgreSQL. כברירת מחדל, הערך הוא 'zabbix'. |
POSTGRES_PASSWORD |
שרת ממשק אינטרנט |
סיסמת מסד נתונים PostgreSQL. כברירת מחדל, הערך הוא 'zabbix'. |
POSTGRES_DB |
שרת ממשק אינטרנט |
שם מסד נתונים של Zabbix. כברירת מחדל, הערך הוא 'zabbix' עבור שרת Zabbix ו-'zabbix_proxy' עבור Zabbix proxy. |
PHP_TZ |
ממשק אינטרנט | אזור זמן בפורמט PHP. רשימה מלאה של אזורי זמן נתמכים זמינה ב-php.net. כברירת מחדל, הערך הוא 'אירופה/ריגה'. |
ZBX_SERVER_NAME |
ממשק אינטרנט | שם התקנת Zabbix גלוי בפינה הימנית העליונה של ממשק האינטרנט. כברירת מחדל, הערך הוא 'Zabbix Docker' |
ZBX_JAVAGATEWAY_ENABLE |
שרת פרוקסי |
מאפשר תקשורת עם Zabbix Java gateway כדי לאסוף בדיקות הקשורות ל-Java. כברירת מחדל, הערך הוא "false" |
ZBX_ENABLE_SNMP_TRAPS |
שרת פרוקסי |
מאפשר תכונת SNMP trap. זה דורש מופע zabbix-snmptraps ונפח משותף /var/lib/zabbix/snmptraps לשרת Zabbix או ל-Proxy Zabbix. |
משתני סביבה
כל התמונות של רכיבי Zabbix מספקות משתני סביבה לשליטה
תְצוּרָה. משתני סביבה אלו מפורטים בכל רכיב
מאגר. משתני סביבה אלו הם אופציות של Zabbix
קבצי תצורה, אך עם שיטת שמות שונה. לדוגמה,
ZBX_LOGSLOWQUERIES שווה ל-LogSlowQueries משרת Zabbix ו-
קבצי תצורת פרוקסי של Zabbix.
::: שימו לב חשוב
חלק מאפשרויות התצורה אינן מורשות לעשות זאת
שינוי. לדוגמה, PIDFile ו-LogType.
:::
לחלק מהרכיבים יש משתני סביבה ספציפיים, שאין להם קיימים בקובצי התצורה הרשמיים של Zabbix:
| משתנה | רכיבים | תיאור |
|---|---|---|
DB_SERVER_HOST |
שרת פרוקסי ממשק אינטרנט |
משתנה זה הוא שם IP או DNS של שרת MySQL או PostgreSQL. כברירת מחדל, הערך הוא mysql-server או postgres-server עבור MySQL או PostgreSQL בהתאמה |
DB_SERVER_PORT |
שרת פרוקסי ממשק אינטרנט |
משתנה זה הוא יציאה של שרת MySQL או PostgreSQL. כברירת מחדל, הערך הוא '3306' או '5432' בהתאמה. |
MYSQL_USER |
שרת פרוקסי ממשק אינטרנט |
משתמש במסד נתונים MySQL. כברירת מחדל, הערך הוא 'zabbix'. |
MYSQL_PASSWORD |
שרת פרוקסי ממשק אינטרנט |
סיסמת מסד נתונים של MySQL. כברירת מחדל, הערך הוא 'zabbix'. |
MYSQL_DATABASE |
שרת פרוקסי ממשק אינטרנט |
שם מסד נתונים של Zabbix. כברירת מחדל, הערך הוא 'zabbix' עבור שרת Zabbix ו-'zabbix_proxy' עבור Zabbix proxy. |
POSTGRES_USER |
שרת ממשק אינטרנט |
משתמש במסד נתונים PostgreSQL. כברירת מחדל, הערך הוא 'zabbix'. |
POSTGRES_PASSWORD |
שרת ממשק אינטרנט |
סיסמת מסד נתונים PostgreSQL. כברירת מחדל, הערך הוא 'zabbix'. |
POSTGRES_DB |
שרת ממשק אינטרנט |
שם מסד נתונים של Zabbix. כברירת מחדל, הערך הוא 'zabbix' עבור שרת Zabbix ו-'zabbix_proxy' עבור Zabbix proxy. |
PHP_TZ |
ממשק אינטרנט | אזור זמן בפורמט PHP. רשימה מלאה של אזורי זמן נתמכים זמינה ב-php.net. כברירת מחדל, הערך הוא 'אירופה/ריגה'. |
ZBX_SERVER_NAME |
ממשק אינטרנט | שם התקנת Zabbix גלוי בפינה הימנית העליונה של ממשק האינטרנט. כברירת מחדל, הערך הוא 'Zabbix Docker' |
ZBX_JAVAGATEWAY_ENABLE |
שרת פרוקסי |
מאפשר תקשורת עם Zabbix Java gateway כדי לאסוף בדיקות הקשורות ל-Java. כברירת מחדל, הערך הוא "false" |
ZBX_ENABLE_SNMP_TRAPS |
שרת פרוקסי |
מאפשר תכונת SNMP trap. זה דורש מופע zabbix-snmptraps ונפח משותף /var/lib/zabbix/snmptraps לשרת Zabbix או ל-Proxy Zabbix. |
Makefile
The Zabbix Dockerfiles repository also provides a Makefile as a shortcut for common Docker Compose tasks.
Instead of using the full docker compose command, you can use shorter make commands (run make help to see the available options):
# Default deployment (Zabbix server, web interface, MySQL, all on Alpine Linux)
make up
# Custom deployment (Zabbix server, web interface with custom Nginx ports, PostgreSQL, all on Ubuntu)
make up \
OS=ubuntu \
DB=pgsql \
ZABBIX_WEB_NGINX_HTTP_PORT=8282 \
ZABBIX_WEB_NGINX_HTTPS_PORT=8443
When stopping or removing containers, always specify the same database type that was deployed (e.g., make down DB=pgsql).
By default, make up starts only a minimal set of services (Zabbix server, web interface, and database).
This keeps the setup lightweight and avoids starting components that may not be needed.
To include additional components, you can use the following Compose profiles:
# Default deployment + Zabbix agent, Java gateway, web service, and SNMP traps:
make up COMPOSE_PROFILES=full
# COMPOSE_PROFILES=full + Zabbix proxy (MySQL and SQLite3):
make up COMPOSE_PROFILES=all
Initial configuration
After downloading the images, start the containers by executing docker run command followed by additional arguments to specify required environment variables and/or mount points. Some configuration examples are provided below.
Zabbix must not be run as PID1/as an init process in containers.
משתני סביבה
כל התמונות של רכיבי Zabbix מספקות משתני סביבה לשליטה
תְצוּרָה. משתני סביבה אלו מפורטים בכל רכיב
מאגר. משתני סביבה אלו הם אופציות של Zabbix
קבצי תצורה, אך עם שיטת שמות שונה. לדוגמה,
ZBX_LOGSLOWQUERIES שווה ל-LogSlowQueries משרת Zabbix ו-
קבצי תצורת פרוקסי של Zabbix.
::: שימו לב חשוב
חלק מאפשרויות התצורה אינן מורשות לעשות זאת
שינוי. לדוגמה, PIDFile ו-LogType.
:::
לחלק מהרכיבים יש משתני סביבה ספציפיים, שאין להם קיימים בקובצי התצורה הרשמיים של Zabbix:
| משתנה | רכיבים | תיאור |
|---|---|---|
DB_SERVER_HOST |
שרת פרוקסי ממשק אינטרנט |
משתנה זה הוא שם IP או DNS של שרת MySQL או PostgreSQL. כברירת מחדל, הערך הוא mysql-server או postgres-server עבור MySQL או PostgreSQL בהתאמה |
DB_SERVER_PORT |
שרת פרוקסי ממשק אינטרנט |
משתנה זה הוא יציאה של שרת MySQL או PostgreSQL. כברירת מחדל, הערך הוא '3306' או '5432' בהתאמה. |
MYSQL_USER |
שרת פרוקסי ממשק אינטרנט |
משתמש במסד נתונים MySQL. כברירת מחדל, הערך הוא 'zabbix'. |
MYSQL_PASSWORD |
שרת פרוקסי ממשק אינטרנט |
סיסמת מסד נתונים של MySQL. כברירת מחדל, הערך הוא 'zabbix'. |
MYSQL_DATABASE |
שרת פרוקסי ממשק אינטרנט |
שם מסד נתונים של Zabbix. כברירת מחדל, הערך הוא 'zabbix' עבור שרת Zabbix ו-'zabbix_proxy' עבור Zabbix proxy. |
POSTGRES_USER |
שרת ממשק אינטרנט |
משתמש במסד נתונים PostgreSQL. כברירת מחדל, הערך הוא 'zabbix'. |
POSTGRES_PASSWORD |
שרת ממשק אינטרנט |
סיסמת מסד נתונים PostgreSQL. כברירת מחדל, הערך הוא 'zabbix'. |
POSTGRES_DB |
שרת ממשק אינטרנט |
שם מסד נתונים של Zabbix. כברירת מחדל, הערך הוא 'zabbix' עבור שרת Zabbix ו-'zabbix_proxy' עבור Zabbix proxy. |
PHP_TZ |
ממשק אינטרנט | אזור זמן בפורמט PHP. רשימה מלאה של אזורי זמן נתמכים זמינה ב-php.net. כברירת מחדל, הערך הוא 'אירופה/ריגה'. |
ZBX_SERVER_NAME |
ממשק אינטרנט | שם התקנת Zabbix גלוי בפינה הימנית העליונה של ממשק האינטרנט. כברירת מחדל, הערך הוא 'Zabbix Docker' |
ZBX_JAVAGATEWAY_ENABLE |
שרת פרוקסי |
מאפשר תקשורת עם Zabbix Java gateway כדי לאסוף בדיקות הקשורות ל-Java. כברירת מחדל, הערך הוא "false" |
ZBX_ENABLE_SNMP_TRAPS |
שרת פרוקסי |
מאפשר תכונת SNMP trap. זה דורש מופע zabbix-snmptraps ונפח משותף /var/lib/zabbix/snmptraps לשרת Zabbix או ל-Proxy Zabbix. |