This is a translation of the original English documentation page. Help us make it better.

5 התקנה מקונטיינרים

Overview

This section describes how to deploy Zabbix with Docker or Docker Compose.

Zabbix officially provides:

  • Separate Docker images for each Zabbix component to run as portable and self-sufficient containers.
  • Compose files for defining and running multi-container Zabbix components in Docker.

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.

מקורות קבצי Docker

כולם יכולים לעקוב אחר שינויים בקובץ Docker באמצעות ה- Zabbix רשמי מאגר על github.com. אתה יכול לחלק את הפרויקט או לעשות את שלך תמונות משלו המבוססות על קבצי Docker הרשמיים.

דוקר

Zabbix מספקת תמונות Docker עבור כל Zabbix רכיב כמכולות ניידות ועצמאיות כדי להאיץ הליך פריסה ועדכון.

רכיבי Zabbix מגיעים עם תמיכה במסד הנתונים MySQL ו-PostgreSQL, תמיכה בשרתי אינטרנט Apache2 ו-Nginx. תמונות אלו מופרדות ל תמונות שונות.

::: שימו לב חשוב מאז Zabbix 6.0, יש ליצור טריגרים דטרמיניסטים במהלך ההתקנה. אם רישום בינארי מופעל עבור MySQL/MariaDB, הדבר דורש הרשאות משתמש-על או הגדרת פרמטר המשתנה/תצורה log_bin_trust_function_creators = 1. ראה סקריפטים ליצירת מסד נתונים לקבלת הוראות כיצד להגדיר את המשתנה.
שימו לב שאם מבצעים ממסוף, המשתנה יוגדר רק באופן זמני ויוסר כאשר Docker יופעל מחדש. במקרה זה, השאר את שירות ה-SQL שלך פועל, הפסק רק את שירות zabbix-server על ידי הפעלת 'docker compose down zabbix-server' ולאחר מכן 'docker compose up -d zabbix-server'.
לחלופין, אתה יכול להגדיר משתנה זה בקובץ התצורה. :::

Tags

Official Zabbix component images may contain the following tags:

Tag Description Example
latest The latest stable version of a Zabbix component based on Alpine Linux image. zabbix-agent:latest
<OS>-trunk The latest nightly build of the Zabbix version that is currently being developed on a specific operating system.

<OS> - the base operating system. Supported values:
alpine - Alpine Linux;
ltsc2019 - Windows 10 LTSC 2019 (agent only);
ol - Oracle Linux;
ltsc2022 - Windows 11 LTSC 2022 (agent only);
ubuntu - Ubuntu
zabbix agent:ubuntu-trunk
<OS>-latest The latest stable version of a Zabbix component on a specific operating system.

<OS> - the base operating system. Supported values:
alpine - Alpine Linux;
ltsc2019 - Windows 10 LTSC 2019 (agent only);
ol - Oracle Linux;
ltsc2022 - Windows 11 LTSC 2022 (agent only);
ubuntu - Ubuntu
zabbix-agent:ol-latest
<OS>-X.X-latest The latest minor version of a Zabbix component of a specific major version and operating system.

<OS> - the base operating system. Supported values:
alpine - Alpine Linux;
ltsc2019 - Windows 10 LTSC 2019 (agent only);
ol - Oracle Linux;
ltsc2022 - Windows 11 LTSC 2022 (agent only);
ubuntu - Ubuntu

X.X - the major Zabbix version (supported: 4.0, 5.0, 6.0, 6.2, 6.4).
zabbix-agent:alpine-6.4-latest
<OS>-X.X.* The latest minor version of a Zabbix component of a specific major version and operating system.

<OS> - the base operating system. Supported values:
alpine - Alpine Linux;
ltsc2019 - Windows 10 LTSC 2019 (agent only);
ol - Oracle Linux;
ltsc2022 - Windows 11 LTSC 2022 (agent only);
ubuntu - Ubuntu

X.X - the major Zabbix version (supported: 4.0, 5.0, 6.0, 6.2, 6.4).

* - the Zabbix minor version
zabbix-agent:alpine-6.4.1

שימוש

משתני סביבה

כל התמונות של רכיבי 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.
משתני סביבה

כל התמונות של רכיבי 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.

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. :::

אחסון

קובצי חיבור מוגדרים לתמוך באחסון מקומי במחשב מארח. Docker Compose תיצור ספריית zbx_env בתיקייה עם ה- קובץ חיבור כאשר אתה מפעיל רכיבי Zabbix באמצעות קובץ החיבור. ה ספרייה תכיל את אותו מבנה כפי שתואר לעיל ב- כרכים מקטע וספרייה לאחסון מסד נתונים.

ישנם גם אמצעי אחסון במצב קריאה בלבד עבור /etc/localtime ו קבצי /etc/timezone.

קבצי סביבה

באותה ספרייה עם קבצי חיבור ב-github.com אתה יכול למצוא קבצים עם משתני סביבה ברירת מחדל עבור כל רכיב בחיבור קוֹבֶץ. קבצי סביבה אלה נקראים בשם .env_<סוג הרכיב>.

דוגמאות

הפקודות המפורטות להלן הן עבור Docker Compose V2. אם אתה משתמש ב-Docker Compose V1, החלף את 'docker compose -f' ב-docer-compose -f'

דוגמה 1

 # git checkout 6.0
        # docker compose -f ./docker-compose_v3_alpine_mysql_latest.yaml up -d

הפקודה תוריד את התמונות העדכניות ביותר של Zabbix 6.0 עבור כל Zabbix רכיב ולהפעיל אותם במצב ניתוק.

::: שימו לב חשוב אל תשכח להוריד קבצי .env_<type of component> מ-github.com הרשמי של Zabbix מאגר עם קבצי חיבור. :::

דוגמה 2

 # git checkout 6.0
        # docker compose -f ./docker-compose_v3_ubuntu_mysql_local.yaml up -d

הפקודה תוריד את תמונת הבסיס של Ubuntu 20.04 (מוקד), ולאחר מכן תבנה רכיבי Zabbix 6.0 באופן מקומי והפעל אותם במצב ניתוק.