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

14 תוספים

סקירה כללית

תוספים מספקים אפשרות להרחיב את יכולות הניטור של זאביקס. תוספים כתובים בשפת התכנות Go והם נתמך על ידי Zabbix agent 2 בלבד.

תוספים מספקים חלופה לניתן לטעינה מודולים (כתוב ב-C), ועוד שיטות להרחבת פונקציונליות Zabbix, כגון משתמש פרמטרים (מדדי סוכן), חיצוני checks (ללא סוכן ניטור), ו-system.run[] Zabbix סוכן item.

התכונות הבאות ספציפיות ל-Zabbix agent 2 והתוספים שלו:

  • תמיכה במרווחים מתוזמנים וגמישים הן עבור פסיבי והן צ'קים אקטיביים;
  • ניהול תור משימות בהתייחס ללוח הזמנים ולמקבילות המשימות;
  • פסקי זמן ברמת הפלאגין;
  • בדיקת תאימות של Zabbix agent 2 והתוסף שלו בעת ההפעלה.

מאז Zabbix 6.0.0, פלאגינים אינם חייבים להיות משולבים ישירות ב-agent 2 וניתן להוסיף אותם כתוספים הניתנים לטעינה, ובכך מקל על תהליך יצירת תוספים נוספים לאיסוף מדדי ניטור חדשים.

דף זה מפרט את התוספים המקוריים והניתנים לטעינה של Zabbix, ומתאר את עקרונות תצורת הפלאגין מנקודת המבט של המשתמש. להנחיות לכתיבת תוספים משלך, ראה הנחיות לפיתוח פלאגין. למידע נוסף על תהליך התקשורת בין Zabbix agent 2 לבין תוסף הניתן לטעינה, וכן על תהליך איסוף המדדים, ראה דיאגרמת חיבור.

הגדרת תוספים

סעיף זה מספק עקרונות תצורת פלאגין נפוצים והטובים ביותר שיטות עבודה.

כל התוספים מוגדרים באמצעות פרמטר Plugins.*, אשר יכול או להיות חלק מסוכן Zabbix 2 תצורה file או תוסף משלו קובץ תצורה. אם תוסף משתמש בקובץ תצורה נפרד, הנתיב לקובץ זה צריך להיות המצוין בפרמטר Include של קובץ התצורה של Zabbix agent 2.

לכל פרמטר תוסף צריך להיות המבנה הבא:

פלאגינים.<PluginName>.<Parameter>=<Value>

שמות פרמטרים צריכים לעמוד בדרישות הבאות:

  • מומלץ להשתמש באותיות גדולות בשמות התוספים שלך;
  • יש להזין את הפרמטר באותיות גדולות;
  • תווים מיוחדים אינם מורשים;
  • קינון אינו מוגבל על ידי רמה מקסימלית;
  • מספר הפרמטרים אינו מוגבל.

הפעלות עם שם

הפעלות עם שם מייצגות רמה נוספת של פרמטרי תוסף ו ניתן להשתמש כדי להגדיר קבוצות נפרדות של פרמטרי אימות עבור כל אחד מהמקרים שנמצאים במעקב. כל פרמטר הפעלה עם שם צריך להיות במבנה הבא:

פלאגינים.<PluginName>.Sessions.<SessionName>.<Parameter>=<Value>

שם הפעלה יכול לשמש כפרמטר מפתח פריט connString במקום ציון URI, שם משתמש וסיסמה בנפרד. במפתחות פריט, ה הפרמטר הראשון יכול להיות connString או Uri. אם המפתח הראשון פרמטר תואם לשם הפעלה שצוין בקובץ התצורה, הבדיקה תתבצע באמצעות פרמטרי הפעלה בעלי שם. אם הראשון פרמטר מפתח אינו תואם לאף שם הפעלה, הוא יטופל כאל אורי.

ציין זאת:

  • בעת מתן connString (שם הפעלה) בפרמטרים מרכזיים, מפתח פרמטרים עבור שם משתמש וסיסמה חייבים להיות ריקים;
  • העברת אישורי URI משובצים אינה נתמכת, שקול להשתמש במקום הפעלות עם שם;
  • במקרה שלא צוין פרמטר אימות עבור הנקוב הפעלה, ישמש ערך ברירת מחדל מקודד.

רשימת פרמטרי הפגישה הזמינים בשם תלויה בתוסף, ראה תוסף בודד תצורה קבצים לפרטים.

דוגמה: ניתן לנטר שני מקרים "MySQL1" ו-"MySQL2" מוגדר בצורה הבאה:

 Plugins.Mysql.Sessions.MySQL1.Uri=tcp://127.0.0.1:3306
        Plugins.Mysql.Sessions.MySQL1.User=<UsernameForMySQL1>
        Plugins.Mysql.Sessions.MySQL1.Password=<PasswordForMySQL1>
        Plugins.Mysql.Sessions.MySQL2.Uri=tcp://127.0.0.1:3307
        Plugins.Mysql.Sessions.MySQL2.User=<UsernameForMySQL2>
        Plugins.Mysql.Sessions.MySQL2.Password=<PasswordForMySQL2>

כעת, ניתן להשתמש בשמות אלה כמחרוזות במפתחות במקום ב-URI:

 mysql.ping[MySQL1]
        mysql.ping[MySQL2]
Parameter priority

Since version 6.4.3, Zabbix agent 2 plugins search for connection-related parameter values in the following order:

  1. The first item key parameter is compared to session names. If no match is found it is treated as an actual value; in this case, step 3 will be skipped. If a match is found, the parameter value (usually, a URI) must be defined in the named session.
  2. Other parameters will be taken from the item key if defined.
  3. If an item key parameter (for example, password) is empty, plugin will look for the corresponding named session parameter.
  4. If the session parameter is also not specified, the value defined in the corresponding default parameter will be used.
  5. If all else fails, the plugin will use the hardcoded default value.
Example 1

Monitoring of two instances “MySQL1” and “MySQL2”.

Configuration parameters:

Plugins.Mysql.Sessions.MySQL1.Uri=tcp://127.0.0.1:3306
       Plugins.Mysql.Sessions.MySQL1.User=mysql1_user
       Plugins.Mysql.Sessions.MySQL1.Password=unique_password
       Plugins.Mysql.Sessions.MySQL2.Uri=tcp://192.0.2.0:3306
       Plugins.Mysql.Sessions.MySQL2.User=mysql2_user
       Plugins.Mysql.Sessions.MySQL2.Password=different_password

Item keys: mysql.ping[MySQL1], mysql.ping[MySQL2]

Example 2

Providing some of the parameters in the item key (supported since Zabbix 6.0.17).

Configuration parameters:

Plugins.Postgres.Sessions.Session1.Uri=tcp://192.0.2.234:5432
       Plugins.Postgres.Sessions.Session1.User=old_username
       Plugins.Postgres.Sessions.Session1.Password=session_password

Item key: pgsql.ping[session1,new_username,,postgres]

As a result of this configuration, the agent will connect to PostgreSQL using the following parameters:

  • URI from session parameter: 192.0.2.234:5432
  • Username from the item key: new_username
  • Password from session parameter (since it is omitted in the item key): session_password
  • Database name from the item key: postgres
Example 3

Collecting a metric using default configuration parameters.

Configuration parameters:

Plugins.Postgres.Default.Uri=tcp://192.0.2.234:5432
       Plugins.Postgres.Default.User=zabbix
       Plugins.Postgres.Default.Password=password

Item key: pgsql.ping[,,,postgres]

As a result of this configuration, the agent will connect to PostgreSQL using the parameters:

  • Default URI: 192.0.2.234:5432
  • Default username: zabbix
  • Default password: password
  • Database name from the item key: postgres

ברירות מחדל מקודדות

אם לא מסופק פרמטר הנדרש לאימות בפריט מקש או בפרמטרי ההפעלה הנקובים, התוסף ישתמש בקוד קשיח ערך ברירת מחדל.

חיבורים

תוספים מסוימים תומכים באיסוף מדדים ממספר מקרים בּוֹ זְמַנִית. ניתן לנטר גם מופעים מקומיים וגם מרוחקים. TCP וחיבורי שקע Unix נתמכים.

מומלץ להגדיר תוספים כדי לשמור על חיבורים למופעים במצב פתוח. היתרונות הם צמצום העומס ברשת, זמן אחזור, ושימוש במעבד וזיכרון עקב מספר נמוך יותר של חיבורים. ה ספריית הלקוחות מטפלת בזה.

פרק זמן שבו יש להישאר חיבורים שאינם בשימוש ניתן לקבוע את הפתיחה על ידי תוספים.<PluginName>.KeepAlive פָּרָמֶטֶר.
דוגמה: Plugins.Memcached.KeepAlive

פלאגינים

כל המדדים הנתמכים על ידי Zabbix agent 2 נאספים על ידי תוספים.

פלאגינים

כל המדדים הנתמכים על ידי Zabbix agent 2 נאספים על ידי תוספים.

ניתן לטעינה

תוספים ניתנים לטעינה, כאשר מופעלים עם:
- -V --גרסה - גרסת תוסף הדפסה ומידע על רישיון;
- -h --help - הדפס מידע עזרה.

לחץ על שם הפלאגין כדי לעבור למאגר התוספים עם מידע נוסף.

שם הפלאגין תיאור מפתחות פריטים נתמכים הערות
MongoDB ניטור של שרתי ואשכולות MongoDB (מסמך מסד נתונים מבוסס, מבוזר). mongodb.collection.stats, mongodb.collections.discovery, mongodb.collections.usage, mongodb.connpool.stats,
mongodb.db.stats, mongodb.db.discovery, mongodb.jumbo _chunks.count, mongodb.oplog.stats,
mongodb.ping, mongodb.rs.config, mongodb.rs.status, mongodb.server.status,
mongodb.sh.discovery
תוסף זה ניתן לטעינה מאז Zabbix 6.0.6 (מובנה בעבר). כדי להגדיר חיבורים מוצפנים למסד הנתונים, השתמש ב-named sessions וציין את פרמטרי ה-TLS עבור הפגישה בעלת השם בקובץ התצורה של הסוכן.
נתמך בגרסאות הפלאגין 1.2.1, 6.0.13 ומעלה1.
כרגע, לא ניתן להעביר פרמטרים של TLS כפרמטרים של מפתח פריט.

ראה גם קובץ תצורה של הפלאגין MongoDB.
PostgreSQL ניטור של PostgreSQL ומזלגותיו. pgsql.autovacuum.count, pgsql.archive, pgsql.bgwriter, pgsql.cache.hit, pgsql.connections,
pgsql.custom.query, pgsql.dbstat, pgsql.dbstat.sum, pgsql.db.age, pgsql .db.bloating_tables,
pgsql.db.discovery, pgsql.db.size, pgsql.locks, pgsql.oldest.xid, pgsql.ping, pgsql.queries,
pgsql.replication.count, pgsql .replication.process, pgsql.replication.process.discovery, pgsql.replication.recovery_role, pgsql.replication.status,
pgsql.replication_lag.b, pgsql.replication_lag.sec, pgsql.uptime, pgsql.wal.stat
תוסף זה ניתן לטעינה מאז Zabbix 6.0.10 (מובנה בעבר).

כדי להגדיר חיבורים מוצפנים למסד הנתונים, השתמש ב-named sessions וציין את פרמטרי TLS עבור ההפעלה בעלת השם בקובץ התצורה של הסוכן. נכון לעכשיו, לא ניתן להעביר פרמטרים של TLS כפרמטרים של מפתח פריט.

ראה גם: בניית תוספים הניתנים לטעינה.