This section describes how to deploy Zabbix with Docker or Docker Compose.
Zabbix officially provides:
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 באמצעות ה- 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'.
לחלופין, אתה יכול להגדיר משתנה זה בקובץ התצורה. :::
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. |
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
הפקודה תוריד את התמונות העדכניות ביותר של Zabbix 6.0 עבור כל Zabbix רכיב ולהפעיל אותם במצב ניתוק.
::: שימו לב חשוב אל תשכח להוריד קבצי .env_<type of component>
מ-github.com הרשמי של Zabbix מאגר עם קבצי חיבור. :::
דוגמה 2
הפקודה תוריד את תמונת הבסיס של Ubuntu 20.04 (מוקד), ולאחר מכן תבנה רכיבי Zabbix 6.0 באופן מקומי והפעל אותם במצב ניתוק.