התקנת Zabbix סטנדרטית ממדריכים יוצרת מאות טריגרים שיוצרים רעש ומפספסים תקלות אמיתיות. לאחר חיבור תבנית Linux by Zabbix agent מובנית, כל שרת מקבל 200+ טריגרים—מחציתם מופעלים כל הזמן, בעוד אירועים קריטיים לא מזוהים. אנחנו פותרים זאת על ידי הקמת ניטור מוכן לייצור: ארכיטקטורה מחושבת, מדדים ברורים וספים הגיוניים. במשך 6 שנים, חסכנו ללקוחות יותר מ-$45k–65k (כ-$55,000) על תשתית באמצעות אופטימיזציית ניטור, והפחתנו את מספר האזעקות הכוזבות ב-80%.
מאמר זה מכסה: הגדרת שרת Zabbix, ניטור שרת Zabbix, פריסת Zabbix בייצור, טריגרים של Zabbix, תבניות ניטור, תרחישי web של Zabbix, התראות Telegram של Zabbix, אופטימיזציית אחסון של Zabbix, אינטגרציית TimescaleDB עם Zabbix, ארכיטקטורת Zabbix proxy, תבניות Zabbix מותאמות אישית וניטור יישומי web.
בחירת סכמת פריסת Zabbix
עבור אתר יחיד עם כמה שרתים, השתמשו ב-Zabbix Server + PostgreSQL על VM נפרד עם סוכנים על כל מארח. כאשר מספר המארחים עולה על 20 או שהמיקומים מפוזרים, הוסיפו Zabbix Proxy בכל אזור. ה-proxy מאגר נתונים ושולח אותם בקבוצות—מפחית עומס על השרת וסובלני להפרעות רשת.
| סכמה | מספר מארחים | יתרונות | חסרונות |
|---|---|---|---|
| שרת יחיד | 1–20 | פשטות, עלות נמוכה | נקודת כשל יחידה |
| עם proxy | 20–200 | מדרגיות, סובלנות תקלות | שכבת ביניים נוספת |
| מבוזר (HA) | 200+ | זמינות כמעט 100% | הגדרה מורכבת |
דרישות מינימליות לשרת עם 10 מארחים: 2 vCPU, 4 GB RAM, 50 GB SSD (שמירת היסטוריה 90 יום). לייעוץ אישי, צרו קשר—נבחר עבורכם את הסכמה האופטימלית לפרויקט שלכם.
התקנת שרת Zabbix ב-5 שלבים
- הוסיפו את מאגר Zabbix 7.0 והתקינו חבילות: server, frontend, agent2.
- צרו משתמש ומסד נתונים PostgreSQL עבור Zabbix.
- ייבאו את סכמת מסד הנתונים.
- הגדירו את הגדרות השרת.
- התחילו את השרת ואפשרו הפעלה אוטומטית.
wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_7.0-2+ubuntu22.04_all.deb
dpkg -i zabbix-release_7.0-2+ubuntu22.04_all.deb
apt update && apt install -y zabbix-server-pgsql zabbix-frontend-php zabbix-sql-scripts zabbix-agent2
sudo -u postgres createuser --pwprompt zabbix
sudo -u postgres createdb -O zabbix zabbix
zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbixתצורה wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_7.0-2+ubuntu22.04_all.deb dpkg -i zabbix-release_7.0-2+ubuntu22.04_all.deb apt update && apt install -y zabbix-server-pgsql zabbix-frontend-php zabbix-sql-scripts zabbix-agent2 sudo -u postgres createuser --pwprompt zabbix sudo -u postgres createdb -O zabbix zabbix zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix :
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=your_password
StartPollers=10
StartPingers=5
CacheSize=128M
HistoryCacheSize=64M
ValueCacheSize=256Mהתקנת Zabbix Agent על המארח היעד:
apt install -y zabbix-agent2
cat > /etc/zabbix/zabbix_agent2.conf << EOF
Server=<ZABBIX_SERVER_IP>
ServerActive=<ZABBIX_SERVER_IP>
Hostname=web-server-01
AllowKey=system.run[*]
EOF
systemctl enable --now zabbix-agent2 למה תבניות מותאמות אישית עדיפות על תבניות מובנות
תבניות מובנות כוללות מאות מדדים, שרובם מיותרים. אנו משביתים טריגרים לא אינפורמטיביים ומוסיפים מדדים עסקיים: זמן תגובת API, מספר סשנים פעילים, שגיאות לוג. בפרויקט אחד, השבתנו 80% מהטריגרים המוגדרים כברירת מחדל—מספר האזעקות הכוזבות ירד מ-50 ל-2 ביום.
דוגמה להגדרת פרמטר משתמש עבור PHP-FPM:
UserParameter=php-fpm.status[*],curl -s --unix-socket /run/php/php8.2-fpm.sock http://localhost/status?json טריגרים שלא יוצרים רעש:
| מדד | תנאי | חומרה | הסבר |
|---|---|---|---|
| CPU | avg(/hostname/system.cpu.util,5m) > 75 | אזהרה | עומס גבוה ממושך |
| CPU | avg(/hostname/system.cpu.util,1m) > 90 | קריטי | עומס יתר מיידי |
| זיכרון | last(/hostname/vm.memory.size[pavailable]) < 10 | קריטי | זיכרון פנוי כמעט אפסי |
| דיסק | last(/hostname/vfs.fs.size[/,pfree]) < 15 | אזהרה | המקום עומד להיגמר בקרוב |
| Nginx RPS | last(/hostname/nginx.requests) < avg(1h) * 0.3 | אזהרה | ירידה חריגה בתעבורה |
אופטימיזציית אחסון נתונים עם TimescaleDB
בטיפול בכמויות גדולות של מדדים, PostgreSQL עלול להאט. הפתרון הוא TimescaleDB. העבירו את מסד הנתונים הקיים ואפשרו דחיסה:
SELECT create_hypertable('history', 'clock', chunk_time_interval => 86400, migrate_data => true);
SELECT create_hypertable('history_uint', 'clock', chunk_time_interval => 86400, migrate_data => true);
ALTER TABLE history SET (timescaledb.compress, timescaledb.compress_segmentby = 'itemid');
SELECT add_compression_policy('history', INTERVAL '7 days');
TimescaleDB דוחס נתונים ביעילות פי 10 יותר מאשר PostgreSQL סטנדרטי—מפחית עומס על הדיסק ומאיץ שאילתות. אנו מגדירים Housekeeping: שמירת מגמות ל-365 יום, היסטוריה ל-90 יום. לאחר הפעלת הדחיסה, השימוש בדיסק יורד ב-90%, ומהירות השאילתות ליום האחרון עולה פי 5–10.
מה כלול בעבודה
- פריסת Zabbix Server + PostgreSQL
- התקנה והגדרה של סוכנים על כל השרתים
- אינטגרציה של תבניות מובנות ופיתוח תבניות מותאמות אישית
- הגדרת טריגרים ופעולות (Telegram, דוא"ל)
- יצירת תרחישי web לניטור URL
- בניית דשבורדים (Zabbix + Grafana אם נדרש)
- אופטימיזציית אחסון (TimescaleDB, housekeeping)
- תיעוד והדרכת מנהלים
הניסיון והערבויות שלנו
במשך 6 שנים, פרסנו ניטור ל-50+ פרויקטי web—מאתרי מסחר אלקטרוני קטנים ועד שירותים בעלי עומס גבוה עם 500+ מארחים. המהנדסים שלנו מוסמכים ב-Zabbix ובעלי ניסיון בתצורות אשכולות. אנו מבטיחים שאחרי ההתקנה, תקבלו רק התראות משמעותיות, והדשבורד ישקף את מצב המערכת האמיתי.
לוח זמנים ועלות
התקנה בסיסית עם ניטור ל-3–5 שרתים אורכת יום עסקים אחד. הגדרה מלאה עם אלמנטים מותאמים אישית ודשבורדים אורכת 3–5 ימים. העברה ממערכת אחרת מוסיפה 1–2 ימים. העלות מחושבת באופן אישי—צרו קשר להערכת הפרויקט שלכם. החיסכון האופייני נע בין $5,000 ל-$50,000. התקנה בסיסית מתחילה ב-$1,000.
קבלו ייעוץ—כתבו לנו, ואנו נציע את הפתרון האופטימלי לתקציב וללוח הזמנים שלכם.







