en-us	 The ***\_init()*** method defines the initial state and/or values of the widget, without performing any HTML or data manipulation. This method is invoked when a widget is created (a widget object is instantiated), typically by adding the widget to a dashboard page or loading the dashboard page.  Example:  ```js _init() {     super._init();      this._time_offset = 0;     this._interval_id = null;     this._clock_type = CWidgetClock.TYPE_ANALOG;     this._time_zone = null;     this._show_seconds = true;     this._time_format = 0;     this._tzone_format = 0;     this._show = [];     this._has_contents = false;     this._is_enabled = true; } ```
uk	 Метод ***\_init()*** визначає початковий стан та/або значення віджета, не виконуючи жодних маніпуляцій з HTML або даними. Цей метод викликається при створенні віджета (екземплярі об'єкта віджета), як правило, шляхом додавання віджета на сторінку інформаційної панелі або завантаження сторінки інформаційної панелі.  приклад:  ```js _init() {     super._init();      this._time_offset = 0;     this._interval_id = null;     this._clock_type = CWidgetClock.TYPE_ANALOG;     this._time_zone = null;     this._show_seconds = true;     this._time_format = 0;     this._tzone_format = 0;     this._show = [];     this._has_contents = false;     this._is_enabled = true; } ```

en-us	 The ***\_processUpdateErrorResponse(error)*** method handles the response received from the server after the update request if the response is an error, and displays the error message/-s. This method is invoked only as part of the default *\_promiseUpdate()* method, that is, during the widget update process.  Default implementation:  ```js _processUpdateErrorResponse(error) {     this._setErrorContents({error}); }  _setErrorContents({error}) {     const message_box = makeMessageBox('bad', error.messages, error.title)[0];      this._content_body.innerHTML = '';     this._content_body.appendChild(message_box);      this._removeInfoButtons(); } ```
uk	Метод ***\_processUpdateErrorResponse(error)*** обробляє відповідь, отриману від сервера після запиту на оновлення, якщо відповідь є помилковою, і виводить повідомлення про помилку. Цей метод викликається тільки як частина стандартного методу *\_promiseUpdate()*, тобто під час процесу оновлення віджету.  Реалізація за замовчуванням:  ```js _processUpdateErrorResponse(error) {     this._setErrorContents({error}); }  _setErrorContents({error}) {     const message_box = makeMessageBox('bad', error.messages, error.title)[0];      this._content_body.innerHTML = '';     this._content_body.appendChild(message_box);      this._removeInfoButtons(); } ```

en-us	 The ***\_processUpdateResponse(response)*** method handles the response received from the server after the update request, and, if the update process has been successful and without errors, clears widget data and displays new contents with the *\_setContents()* method. This method is invoked only as part of the default *\_promiseUpdate()* method, that is, during the widget update process.  Default implementation:  ```js _processUpdateResponse(response) {     this._setContents({         name: response.name,         body: response.body,         messages: response.messages,         info: response.info,         debug: response.debug     }); } ```
uk	Метод ***\_processUpdateResponse(response)*** обробляє відповідь, отриману від сервера після запиту на оновлення,  і, якщо процес оновлення пройшов успішно і без помилок, очищає дані віджета і відображає новий вміст методом *\_setContents()*.  Цей метод викликається тільки в складі методу за замовчуванням *\_promiseUpdate()*, тобто під час процесу оновлення віджета.  Реалізація за замовчуванням:  ```js _processUpdateResponse(response) {     this._setContents({         name: response.name,         body: response.body,         messages: response.messages,         info: response.info,         debug: response.debug     }); } ```

en-us	 The ***\_promiseUpdate()*** method initiates the data update process by retrieving data, typically using web requests or API calls. This method is invoked when a dashboard page is displayed and periodically after, until the dashboard page is switched to another dashboard page.  The following is an example of the default implementation of the *\_promiseUpdate()* method used by most Zabbix-native widgets. In the default implementation, the *\_promiseUpdate()* method follows a general pattern for retrieving data from the server. It creates a new `Curl` object with the appropriate URL and request parameters, sends a `POST` request using the *fetch()* method with the data object constructed by the *\_getUpdateRequestData()* method, and processes the response (or an error response) with the *\_processUpdateResponse(response)* or *\_processUpdateErrorResponse(error)* accordingly. This implementation is suitable for most widgets as they typically retrieve data in a JSON format and handle it in a consistent manner.  ```js _promiseUpdate() {     const curl = new Curl('zabbix.php');      curl.setArgument('action', `widget.${this._type}.view`);      return fetch(curl.getUrl(), {         method: 'POST',         headers: {'Content-Type': 'application/json'},         body: JSON.stringify(this._getUpdateRequestData()),         signal: this._update_abort_controller.signal     })         .then((response) => response.json())         .then((response) => {             if ('error' in response) {                 this._processUpdateErrorResponse(response.error);                  return;             }              this._processUpdateResponse(response);         }); } ```
uk	Метод ***\_promiseUpdate()*** ініціює процес оновлення даних шляхом отримання даних, як правило, за допомогою веб-запитів або викликів API.  Цей метод викликається під час відображення сторінки дашборду і періодично після цього, поки сторінка дашборду не буде переключена на іншу сторінку дашборду.  Нижче наведено приклад реалізації за замовчуванням методу *\_promiseUpdate()*, який використовується більшістю власних віджетів Zabbix. У стандартній реалізації метод *\_promiseUpdate()* відповідає загальному шаблону для отримання даних із сервера. Він створює новий об'єкт `Curl` з відповідним URL і параметрами запиту, відправляє запит `POST` методом *fetch()* з об'єктом даних, побудованим методом *\_getUpdateRequestData()*, і обробляє відповідь (або повідомлення про помилку) за допомогою *\_processUpdateResponse(response)* або *\_processUpdateErrorResponse(error)* відповідно.  Ця реалізація підходить для більшості віджетів, оскільки вони зазвичай отримують дані у форматі JSON і обробляють їх у незмінний спосіб.  ```js _promiseUpdate() {     const curl = new Curl('zabbix.php');      curl.setArgument('action', `widget.${this._type}.view`);      return fetch(curl.getUrl(), {         method: 'POST',         headers: {'Content-Type': 'application/json'},         body: JSON.stringify(this._getUpdateRequestData()),         signal: this._update_abort_controller.signal     })         .then((response) => response.json())         .then((response) => {             if ('error' in response) {                 this._processUpdateErrorResponse(response.error);                  return;             }              this._processUpdateResponse(response);         }); } ```

en-us	 The ***\_registerEvents()*** method defines the HTML structure of the widget, without performing any data manipulation. This method is invoked before the first activation of the dashboard page, that is, before the dashboard and its widgets are fully displayed to the user.  Example:  ```js _registerEvents() {     super._registerEvents();      this._events.resize = () => {         const padding = 25;         const header_height = this._view_mode == ZBX_WIDGET_VIEW_MODE_HIDDEN_HEADER             ? 0             : this._content_header.offsetHeight;          this._target.style.setProperty(             '--content-height',             `${this._cell_height * this._pos.height - padding * 2 - header_height}px`         );     } } ```
uk	 Метод ***\_registerEvents()*** визначає HTML-структуру віджета, не виконуючи жодних маніпуляцій з даними. Цей метод викликається перед першою активацією сторінки дашборду, тобто перед тим, як дашборд та його віджети будуть повністю відображені користувачеві.  приклад:  ```js _registerEvents() {     super._registerEvents();      this._events.resize = () => {         const padding = 25;         const header_height = this._view_mode == ZBX_WIDGET_VIEW_MODE_HIDDEN_HEADER             ? 0             : this._content_header.offsetHeight;          this._target.style.setProperty(             '--content-height',             `${this._cell_height * this._pos.height - padding * 2 - header_height}px`         );     } } ```

en-us	 The ***resize()*** method is responsible for adjusting widget's visual elements to accommodate the new widget size, which can include rearranging elements, adjusting element dimensions, text truncation, implementing lazy loading to improve responsiveness during resizing, etc. This method is invoked when the widget is resized, for example, when the user manually resizes the widget or when the browser window is resized.  Example:  ```js resize() {     if (this._state === WIDGET_STATE_ACTIVE) {         this._startUpdating();     } } ```
uk	Метод ***resize()*** відповідає за адаптацію візуальних елементів віджета до нового розміру віджета, яка може включати перестановку елементів, регулювання розмірів елементів, усічення тексту, реалізацію лінивого завантаження для поліпшення відгуку при зміні розміру і т.д.  Цей метод викликається при зміні розміру віджета, наприклад, коли користувач вручну змінює розмір віджета або коли змінюється розмір вікна браузера.  Приклад:  ```js resize() {     if (this._state === WIDGET_STATE_ACTIVE) {         this._startUpdating();     } } ```

en-us	 The ***\_setContents()*** method displays widget contents if the widget update process has been successful and without errors, which can include manipulating DOM elements, updating UI components, applying styles or formatting, etc. This method is invoked only as part of the default *\_processUpdateResponse(response)* method, that is, during the process of handling the response received from the server after the update request.  Default implementation:  ```js _setContents({name, body, messages, info, debug}) {     this._setHeaderName(name);      this._content_body.innerHTML = '';      if (messages !== undefined) {         const message_box = makeMessageBox('bad', messages)[0];          this._content_body.appendChild(message_box);     }      if (body !== undefined) {         this._content_body.insertAdjacentHTML('beforeend', body);     }      if (debug !== undefined) {         this._content_body.insertAdjacentHTML('beforeend', debug);     }      this._removeInfoButtons();      if (info !== undefined) {         this._addInfoButtons(info);     } } ```
uk	Метод ***\_setContents()*** відображає вміст віджету, якщо процес оновлення віджету пройшов успішно і без помилок, які можуть включати маніпуляції з DOM-елементами, оновлення компонентів інтерфейсу, застосування стилів або форматування і т.д. Цей метод викликається тільки в складі стандартного методу *\_processUpdateResponse(response)*, тобто в процесі обробки відповіді, отриманої від сервера після запиту оновлення.  Реалізація за замовчуванням:  ```js _setContents({name, body, messages, info, debug}) {     this._setHeaderName(name);      this._content_body.innerHTML = '';      if (messages !== undefined) {         const message_box = makeMessageBox('bad', messages)[0];          this._content_body.appendChild(message_box);     }      if (body !== undefined) {         this._content_body.insertAdjacentHTML('beforeend', body);     }      if (debug !== undefined) {         this._content_body.insertAdjacentHTML('beforeend', debug);     }      this._removeInfoButtons();      if (info !== undefined) {         this._addInfoButtons(info);     } } ```

en-us	 The ***setEditMode()*** method defines the appearance and behavior of the widget when the dashboard transitions into editing mode. This method is invoked when the dashboard transitions into editing mode, typically when a user interacts with the widget's *Edit* button or the dashboard's *Edit dashboard* button.  Example:  ```js setEditMode() {     if (this._has_contents) {         this._deactivateContentsEvents();         this._removeTree();     }      super.setEditMode();      if (this._has_contents && this._state === WIDGET_STATE_ACTIVE) {         this._makeTree();         this._activateTree();         this._activateContentsEvents();     } } ```
uk	Метод ***setEditMode()*** визначає зовнішній вигляд і поведінку віджета, коли інформаційна панель переходить у режим редагування.  Цей метод викликається, коли інформаційна панель переходить у режим редагування, зазвичай, коли користувач взаємодіє з кнопкою *Редагувати* віджета або кнопкою *Редагувати інформаційну панель* на інформаційній панелі.  приклад:  ```js setEditMode() {     if (this._has_contents) {         this._deactivateContentsEvents();         this._removeTree();     }      super.setEditMode();      if (this._has_contents && this._state === WIDGET_STATE_ACTIVE) {         this._makeTree();         this._activateTree();         this._activateContentsEvents();     } } ```

en-us	This is a step-by-step tutorial that shows how to create a simple dashboard widget.  ::: noteimportant The minimum required Zabbix version for this tutorial is 6.4.4. :::  You can download all files of this widget as a ZIP archive: [lesson_gauge_chart.zip](../../../../assets/en/devel/modules/examples/demo_widget_gauge.zip).
uk	Це покрокова інструкція, яка показує, як створити простий віджет інформаційної панелі.  ::: noteimportant Мінімальна необхідна версія Zabbix для цієї інструкції – 6.4.4. :::  Ви можете завантажити всі файли цього віджета як ZIP-архів: [lesson_gauge_chart.zip](../../../../assets/en/devel/modules/examples/demo_widget_gauge.zip).

en-us	This is a step-by-step tutorial that shows how to create a simple Zabbix frontend module. You can download all files of this module as a ZIP archive: [MyAddress.zip](../../../../assets/en/devel/modules/examples/MyAddress.zip).
uk	Це покрокова інструкція, яка показує, як створити простий модуль фронтенду Zabbix. Ви можете завантажити всі файли цього модуля у вигляді ZIP-архіву: [MyAddress.zip](../../../../assets/en/devel/modules/examples/MyAddress.zip).

en-us	This is a step-by-step tutorial to create a simple loadable plugin for Zabbix agent 2.
uk	Це покроковий посібник зі створення простого завантажуваного плагіна для Zabbix agent 2.

en-us	 This page contains navigation links for dashboard widget parameters and possible property values for the respective [dashboard widget field](/manual/api/reference/dashboard/object#dashboard-widget-field) objects.  To see the parameters and property values for each widget, go to individual widget pages for:  -   [Action log](/manual/api/reference/dashboard/widget_fields/action_log) -   [Clock](/manual/api/reference/dashboard/widget_fields/clock) -   [Discovery status](/manual/api/reference/dashboard/widget_fields/discovery_status) -   [Favorite graphs](/manual/api/reference/dashboard/widget_fields/favorite_graphs) -   [Favorite maps](/manual/api/reference/dashboard/widget_fields/favorite_maps) -   [Geomap](/manual/api/reference/dashboard/widget_fields/geomap) -   [Graph](/manual/api/reference/dashboard/widget_fields/graph) -   [Graph (classic)](/manual/api/reference/dashboard/widget_fields/graph_classic) -   [Graph prototype](/manual/api/reference/dashboard/widget_fields/graph_prototype) -   [Host availability](/manual/api/reference/dashboard/widget_fields/host_availability) -   [Item value](/manual/api/reference/dashboard/widget_fields/item_value) -   [Map](/manual/api/reference/dashboard/widget_fields/map) -   [Map navigation tree](/manual/api/reference/dashboard/widget_fields/map_tree) -   [Plain text](/manual/api/reference/dashboard/widget_fields/plain_text) -   [Problem hosts](/manual/api/reference/dashboard/widget_fields/problem_hosts) -   [Problems](/manual/api/reference/dashboard/widget_fields/problems) -   [SLA report](/manual/api/reference/dashboard/widget_fields/sla_report) -   [System information](/manual/api/reference/dashboard/widget_fields/system) -   [Problems by severity](/manual/api/reference/dashboard/widget_fields/problems_severity) -   [Top hosts](/manual/api/reference/dashboard/widget_fields/top_hosts) -   [Trigger overview](/manual/api/reference/dashboard/widget_fields/trigger_overview) -   [URL](/manual/api/reference/dashboard/widget_fields/url) -   [Web monitoring](/manual/api/reference/dashboard/widget_fields/web_monitoring)  Deprecated widgets:  -   [Data overview](/manual/api/reference/dashboard/widget_fields/data_overview)
uk	 This page contains navigation links for dashboard widget parameters and possible property values for the respective [dashboard widget field](/manual/api/reference/dashboard/object#dashboard-widget-field) objects.  To see the parameters and property values for each widget, go to individual widget pages for:  -   [Action log](/manual/api/reference/dashboard/widget_fields/action_log) -   [Clock](/manual/api/reference/dashboard/widget_fields/clock) -   [Discovery status](/manual/api/reference/dashboard/widget_fields/discovery_status) -   [Favorite graphs](/manual/api/reference/dashboard/widget_fields/favorite_graphs) -   [Favorite maps](/manual/api/reference/dashboard/widget_fields/favorite_maps) -   [Geomap](/manual/api/reference/dashboard/widget_fields/geomap) -   [Graph](/manual/api/reference/dashboard/widget_fields/graph) -   [Graph (classic)](/manual/api/reference/dashboard/widget_fields/graph_classic) -   [Graph prototype](/manual/api/reference/dashboard/widget_fields/graph_prototype) -   [Host availability](/manual/api/reference/dashboard/widget_fields/host_availability) -   [Item value](/manual/api/reference/dashboard/widget_fields/item_value) -   [Map](/manual/api/reference/dashboard/widget_fields/map) -   [Map navigation tree](/manual/api/reference/dashboard/widget_fields/map_tree) -   [Plain text](/manual/api/reference/dashboard/widget_fields/plain_text) -   [Problem hosts](/manual/api/reference/dashboard/widget_fields/problem_hosts) -   [Problems](/manual/api/reference/dashboard/widget_fields/problems) -   [SLA report](/manual/api/reference/dashboard/widget_fields/sla_report) -   [System information](/manual/api/reference/dashboard/widget_fields/system) -   [Problems by severity](/manual/api/reference/dashboard/widget_fields/problems_severity) -   [Top hosts](/manual/api/reference/dashboard/widget_fields/top_hosts) -   [Trigger overview](/manual/api/reference/dashboard/widget_fields/trigger_overview) -   [URL](/manual/api/reference/dashboard/widget_fields/url) -   [Web monitoring](/manual/api/reference/dashboard/widget_fields/web_monitoring)  Deprecated widgets:  -   [Data overview](/manual/api/reference/dashboard/widget_fields/data_overview)

en-us	# This topic does not exist yet.  We are sorry, the page you are looking for cannot be found. Return to the homepage, try searching, or get [help](https://www.zabbix.com/support).
uk	# Цей розділ ще не створено.  Нажаль, сторінка яку ви шукаєте не знайдена. Поверніться до домашньої сторінки, або [зверніться по допомогу](https://www.zabbix.com/support).

en-us	##### Time period  The **second** parameter allows to specify the time period for aggregation. The time period can only be expressed as time, the amount of values (prefixed with **\#**) is not supported.  [Supported unit symbols](/manual/appendix/suffixes) can be used in this parameter for convenience, for example '5m' (five minutes) instead of '300s' (300 seconds) or '1d' (one day) instead of '86400' (86400 seconds).  Time period is ignored by the server if passed with the *last\_foreach* function and can thus be omitted:      last_foreach(/*/key?[group="host group"])  Time period is not supported with the *exists\_foreach* function.
uk	##### Період часу  **Другий** параметр дозволяє вказати період часу для агрегації. Період часу можна виразити лише як час, кількість значень (з префіксом **\#**) не підтримується.  [Підтримувані одиниці вимірювання](/manual/appendix/suffixes) можна використовувати в цьому параметрі для зручності, наприклад, «5m» (п’ять хвилин) замість «300s» (300 секунд) або «1d» (один день) замість «86400» (86400 секунд).  Період часу ігнорується сервером, якщо він передається за допомогою функції *last\_foreach*, тому його можна пропустити:       last_foreach(/*/key?[group="host group"])  Період часу не підтримується функцією *exists\_foreach*.

en-us	#### TimescaleDB  Instructions for creating and configuring TimescaleDB are provided in a separate [section](/manual/appendix/install/timescaledb).
uk	#### TimescaleDB  Інструкції щодо створення та налаштування TimescaleDB наведено в окремому [розділі](/manual/appendix/install/timescaledb).

en-us	#### triggerprototype  [ZBXNEXT-7972](https://support.zabbix.com/browse/ZBXNEXT-7972) Added new property `url_name`.\
uk	#### triggerprototype  [ZBXNEXT-7972](https://support.zabbix.com/browse/ZBXNEXT-7972) Додано нову властивість `url_name`.\

en-us	#### trigger  [ZBXNEXT-7972](https://support.zabbix.com/browse/ZBXNEXT-7972) Added new property `url_name`.\
uk	#### trigger  [ZBXNEXT-7972](https://support.zabbix.com/browse/ZBXNEXT-7972) Додано нову властивість `url_name`.\

en-us	# Tutorials  This section contains practical step-by-step tutorials to illustrate how to build a custom [module](/devel/modules/tutorials/module) and a [widget](/devel/modules/tutorials/widget) in Zabbix.
uk	# Інструкції  Цей розділ містить практичні покрокові інструкції, що ілюструють, як створити власний [модуль](/devel/modules/tutorials/module) та [віджет](/devel/modules/tutorials/widget) у Zabbix.

en-us	 ### type  Type of the module. Required for widgets and must equal "widget".  *Type*: String  *Default*: "module"  *Example*:  ```json "type": "widget" ```
uk	 ### type  Тип модуля. Необхідний для віджетів і має дорівнювати "widget".  *Тип*: String  *За замовчуванням*: "module"  *Приклад*:  ```json "type": "widget" ```

en-us	###      **unencrypted**   connect without encryption (default)  ```{=html} <!-- --> ```    **psk**   connect using TLS and a pre-shared key  ```{=html} <!-- --> ```    **cert**   connect using TLS and a certificate  ```{=html} <!-- --> ``` **--tls-ca-file** *CA-file*   Full pathname of a file containing the top-level CA(s) certificates for peer certificate verification.  **--tls-crl-file** *CRL-file*   Full pathname of a file containing revoked certificates.  **--tls-agent-cert-issuer** *cert-issuer*   Allowed agent certificate issuer.  **--tls-agent-cert-subject** *cert-subject*   Allowed agent certificate subject.  **--tls-cert-file** *cert-file*   Full pathname of a file containing the certificate or certificate chain.  **--tls-key-file** *key-file*   Full pathname of a file containing the private key.  **--tls-psk-identity** *PSK-identity*   PSK-identity string.  **--tls-psk-file** *PSK-file*   Full pathname of a file containing the pre-shared key.  **--tls-cipher13** *cipher-string*   Cipher string for OpenSSL 1.1.1 or newer for TLS 1.3. Override the default ciphersuite selection criteria. This option is not available if OpenSSL version is less than 1.1.1.  **--tls-cipher** *cipher-string*   GnuTLS priority string (for TLS 1.2 and up) or OpenSSL cipher string (only for TLS 1.2). Override the default ciphersuite selection criteria.  **-h**, **--help**   Display this help and exit.  **-V**, **--version**   Output version information and exit.  [ ]{#lbAG}
uk	 ###      **unencrypted**   підключатися без шифрування (за замовчуванням)  ```{=html} <!-- --> ```    **psk**   підключатися за допомогою TLS і заздалегідь наданого ключа  ```{=html} <!-- --> ```    **cert**   підключитися за допомогою TLS і сертифіката  ```{=html} <!-- --> ``` **--tls-ca-файл** *CA-file*   Повне ім'я файлу, що містить сертифікати центрів сертифікації верхнього рівня для для однорангової перевірки сертифікатів.  **--tls-crl-file** *CRL-file*   Повна назва файлу, що містить відкликані сертифікати.  **--tls-agent-cert-issuer** *cert-issuer*   Дозволений видавець сертифікатів агента.  **--tls-agent-cert-subject** *cert-subject*   Дозволений суб'єкт сертифіката агента.  **--tls-cert-file** *cert-file*   Повне ім'я файлу, що містить сертифікат або ланцюжок сертифікатів.  **--tls-key-file** *key-file*   Повний шлях до файлу, що містить закритий ключ.  **--tls-psk-identity** *PSK-identity*   Рядок PSK-ідентифікатора.  **--tls-psk-file** *PSK-file* Повна назва файлу, що містить попередньо наданий ключ.  **--tls-cipher13** *cipher-string*   Рядок шифру для OpenSSL 1.1.1 або новішої версії для TLS 1.3. Замінити критерії вибору набору шифрів за замовчуванням. Ця опція недоступна, якщо Версія OpenSSL менша за 1.1.1.  **--tls-cipher** *cipher-string*   Рядок пріоритету GnuTLS (для TLS 1.2 і вище) або рядок шифру OpenSSL (тільки для TLS 1.2). Перевизначає критерії вибору набору шифрів за замовчуванням.  **-h**, **--help**   Відобразити цю довідку і вийти.  **-V**, **--version**   Вивести інформацію про версію і вийти.  [ ]{#lbAG}

en-us	###      **unencrypted**   connect without encryption (default)  ```{=html} <!-- --> ```    **psk**   connect using TLS and a pre-shared key  ```{=html} <!-- --> ```    **cert**   connect using TLS and a certificate  ```{=html} <!-- --> ``` **--tls-ca-file** *CA-file*   Full pathname of a file containing the top-level CA(s) certificates for peer certificate verification.  **--tls-crl-file** *CRL-file*   Full pathname of a file containing revoked certificates.  **--tls-server-cert-issuer** *cert-issuer*   Allowed server certificate issuer.  **--tls-server-cert-subject** *cert-subject*   Allowed server certificate subject.  **--tls-cert-file** *cert-file*   Full pathname of a file containing the certificate or certificate chain.  **--tls-key-file** *key-file*   Full pathname of a file containing the private key.  **--tls-psk-identity** *PSK-identity*   PSK-identity string.  **--tls-psk-file** *PSK-file*   Full pathname of a file containing the pre-shared key.  **--tls-cipher13** *cipher-string*   Cipher string for OpenSSL 1.1.1 or newer for TLS 1.3. Override the default ciphersuite selection criteria. This option is not available if OpenSSL version is less than 1.1.1.  **--tls-cipher** *cipher-string*   GnuTLS priority string (for TLS 1.2 and up) or OpenSSL cipher string (only for TLS 1.2). Override the default ciphersuite selection criteria.  **-v**, **--verbose**   Verbose mode, **-vv** for more details.  **-h**, **--help**   Display this help and exit.  **-V**, **--version**   Output version information and exit.  [ ]{#lbAG}
uk	###     **unencrypted** підключення без шифрування (за замовчуванням)  ```{=html} <!-- --> ```    **psk** підключитися за допомогою TLS і спільного ключа  ```{=html} <!-- --> ```    **cert** підключитися за допомогою TLS і сертифіката  ```{=html} <!-- --> ``` **--tls-ca-file** *CA-file* Повний шлях до файлу, що містить сертифікати ЦС верхнього рівня для перевірки однорангових сертифікатів.  **--tls-crl-file** *CRL-file* Повний шлях до файлу, що містить анульовані сертифікати.  **--tls-server-cert-issuer** *cert-issuer* Дозволений емітент сертифіката сервера.  **--tls-server-cert-subject** *cert-subject* Дозволена тема сертифіката сервера.  **--tls-cert-file** *cert-file* Повний шлях до файлу, що містить сертифікат або ланцюжок сертифікатів.  **--tls-key-file** *key-file* Повний шлях до файлу, що містить закритий ключ.  **--tls-psk-identity** *PSK-identity* Рядок ідентифікатора PSK.  **--tls-psk-file** *PSK-file* Повний шлях до файлу, що містить попередній спільний ключ.  **--tls-cipher13** *cipher-string* Рядок шифру для OpenSSL 1.1.1 або новішої версії для TLS 1.3. Замінити критерії вибору набору шифрів за замовчуванням. Ця опція недоступна, якщо версія OpenSSL не перевищує 1.1.1.  **--tls-cipher** *cipher-string* Рядок пріоритету GnuTLS (для TLS 1.2 і вище) або рядок шифру OpenSSL (лише для TLS 1.2). Замінити критерії вибору набору шифрів за замовчуванням.  **-v**, **--verbose** Детальний режим, **-vv** для отримання додаткової інформації.  **-h**, **--help** Відобразити цю довідку та вийти.  **-V**, **--version** Виведіть інформацію про версію та вийдіть.  [ ]{#lbAG}

en-us	##### Update process methods  The widget update process methods are responsible for retrieving updated data from Zabbix server or any other data source and displaying it in the widget.
uk	##### Методи процесу оновлення  Методи процесу оновлення віджета відповідають за отримання оновлених даних із сервера Zabbix або будь-якого іншого джерела даних і відображення їх у віджеті.

en-us	#### Updating an item  Enable an item by setting its status to "0":  ```bash curl --request POST \   --url 'https://example.com/zabbix/api_jsonrpc.php' \   --header 'Authorization: Bearer ${AUTHORIZATION_TOKEN}' \   --header 'Content-Type: application/json-rpc' \   --data '{"jsonrpc":"2.0","method":"item.update","params":{"itemid":"10092","status":0},"id":5}' ```  The successful response will contain the ID of the updated item:  ```json {     "jsonrpc": "2.0",     "result": {         "itemids": [             "10092"         ]     },     "id": 5 } ```  ::: notetip The `item.update` method as well as other *update methods* can also accept arrays of objects and update multiple items with one API call. :::
uk	#### Оновлення елемента даних  Увімкніть елемент, встановивши для нього статус "0":  ```bash curl --request POST \   --url 'https://example.com/zabbix/api_jsonrpc.php' \   --header 'Authorization: Bearer ${AUTHORIZATION_TOKEN}' \   --header 'Content-Type: application/json-rpc' \   --data '{"jsonrpc":"2.0","method":"item.update","params":{"itemid":"10092","status":0},"id":5}' ```  Успішна відповідь міститиме ідентифікатор оновленого елемента:  ```json {     "jsonrpc": "2.0",     "result": {         "itemids": [             "10092"         ]     },     "id": 5 } ```   ::: notetip Метод item.update, а також інші *методи оновлення* також може приймати масиви об’єктів і оновлювати кілька елементів одним викликом API. :::

en-us	#### Updating multiple triggers  Enable multiple triggers by setting their status to "0":  ```bash curl --request POST \   --url 'https://example.com/zabbix/api_jsonrpc.php' \   --header 'Authorization: Bearer ${AUTHORIZATION_TOKEN}' \   --header 'Content-Type: application/json-rpc' \   --data '{"jsonrpc":"2.0","method":"trigger.update","params":[{"triggerid":"13938","status":0},{"triggerid":"13939","status":0}],"id":6}' ```  The successful response will contain the IDs of the updated triggers:  ```json {     "jsonrpc": "2.0",     "result": {         "triggerids": [             "13938",             "13939"         ]     },     "id": 6 } ```  ::: notetip This is the preferred method of updating. Some API methods, such as the `host.massupdate` allow to write a simpler code. However, it is not recommended to use these methods as they will be removed in the future releases. :::
uk	#### Оновлення кількох тригерів  Увімкніть кілька тригерів, встановивши для них статус "0":  ```bash curl --request POST \   --url 'https://example.com/zabbix/api_jsonrpc.php' \   --header 'Authorization: Bearer ${AUTHORIZATION_TOKEN}' \   --header 'Content-Type: application/json-rpc' \   --data '{"jsonrpc":"2.0","method":"trigger.update","params":[{"triggerid":"13938","status":0},{"triggerid":"13939","status":0}],"id":6}' ```  Успішна відповідь міститиме ідентифікатори оновлених тригерів:  ```json {     "jsonrpc": "2.0",     "result": {         "triggerids": [             "13938",             "13939"         ]     },     "id": 6 } ```  ::: notetip Це найкращий метод оновлення. Деякі методи API, такі як `host.massupdate`, дозволяють писати простіший код. Однак не рекомендується використовувати ці методи, оскільки їх буде видалено в наступних випусках. :::

en-us	#### Updating problems  The problem update popup allows to:  -   comment on the problem -   view comments and actions so far -   change problem severity -   suppress/unsuppress problem -   acknowledge/unacknowledge problem -   change symptom problem to cause problem -   manually close problem  ![](../../assets/en/manual/acknowledges/update_problem.png){width="600"}  All mandatory input fields are marked with a red asterisk.  |Parameter|Description| |--|--------| |*Problem*|If only one problem is selected, the problem name is displayed.<br>If several problems are selected, *N problems selected* is displayed.| |*Message*|Enter text to comment on the problem (maximum 2048 characters).| |*History*|Previous activities and comments on the problem are listed, along with the time and user details.<br>For the meaning of icons used to denote user actions see the [event detail](/manual/web_interface/frontend_sections/monitoring/problems#viewing_details) page.<br>Note that history is displayed if only one problem is selected for the update.| |*Scope*|Define the scope of such actions as changing severity, acknowledging or manually closing problems:<br>**Only selected problem** - will affect this event only<br>**Selected and all other problems of related triggers** - in case of acknowledgment/closing problem, will affect this event and all other problems that are not acknowledged/closed so far. If the scope contains problems already acknowledged or closed, these problems will not be acknowledged/closed repeatedly. On the other hand, the number of message and severity change operations are not limited.| |*Change severity*|Mark the checkbox and click on the severity button to update problem severity.<br>The checkbox for changing severity is available if read-write permissions exist for at least one of the selected problems. Only those problems that are read-writable will be updated when clicking on *Update*.<br>If read-write permissions exist for none of the selected triggers, the checkbox is disabled.| |*Suppress*|Mark the checkbox to suppress the problem:<br>**Indefinitely** - suppress indefinitely<br>**Until** - suppress until a given time. Both [absolute and relative](/manual/config/visualization/graphs/simple#time-period-selector) time formats are supported, for example:<br>`now+1d` - for one day from now (default)<br>`now/w` - until the end of the current week<br>`2022-05-28 12:00:00` - until absolute date/time<br>Note that a simple period (e. g., `1d`, `1w`) is not supported.<br>Availability of this option depends on the "Suppress problems" user role settings.<br>See also: [Problem suppression](/manual/acknowledgment/suppression)| |*Unsuppress*|Mark the checkbox to unsuppress the problem. This checkbox is active only if at least one of the selected problems is suppressed.<br>Availability of this option depends on the "Suppress problems" user role settings.| |*Acknowledge*|Mark the checkbox to acknowledge the problem.<br>This checkbox is available if there is at least one unacknowledged problem among the selected.<br>It is not possible to add another acknowledgment for an already acknowledged problem (it is possible to add another comment though).| |*Unacknowledge*|Mark the checkbox to unacknowledge the problem.<br>This checkbox is available if there is at least one acknowledged problem among the selected.| |*Convert to cause*|Mark the checkbox to convert the symptom problem(s) to cause problem(s).| |*Close problem*|Mark the checkbox to manually close the selected problem(s).<br>The checkbox for closing a problem is available if the *Allow manual close* option is checked in [trigger configuration](/manual/config/triggers/trigger) for at least one of the selected problems. Only those problems will be closed that are allowed to be closed when clicking on *Update*.<br>If no problem is manually closeable, the checkbox is disabled.<br>Already closed problems will not be closed repeatedly.|
uk	#### Проблеми з оновленням  Спливаюче вікно оновлення проблеми дозволяє:  - прокоментувати проблему  - переглянути коментарі та дії  - змінити ступінь серйозності проблеми  - приховати/розкрити проблему - підтвердити/непідтвердити проблему - змінити симптом проблеми на її причину - закрити проблему вручну  ![](../../assets/en/manual/acknowledges/update_problem.png){width="600"}  Усі обов’язкові поля для введення позначені червоною зірочкою.  |Параметр|Опис| |--|--------| |*Проблема*|Якщо вибрано лише одну проблему, відображається назва проблеми.<br>Якщо вибрано кілька проблем, відображається *N проблем вибрано*.| |*Повідомлення*|Введіть текст для коментаря до проблеми (максимум 2048 символів).| |*Історія*|Наведено попередні дії та коментарі щодо проблеми, а також час і відомості про користувача.<br>Значення піктограм, які використовуються для позначення дій користувача, див. [деталі події](/manual/web_interface/frontend_sections/ monitoring/problems#viewing_details).<br>Зверніть увагу, що історія відображається, якщо для оновлення вибрано лише одну проблему.| |*Область*|Визначте область таких дій, як зміна серйозності, підтвердження чи закриття проблем вручну:<br>**Лише вибрана проблема** – вплине лише на цю подію<br>**Вибрані та всі інші проблеми пов’язаних тригерів ** - у разі проблеми з підтвердженням/закриттям, це вплине на цю подію та всі інші проблеми, які наразі не підтверджені/закриті. Якщо область містить уже підтверджені або вирішені проблеми, ці проблеми не будуть визнаватися/закриватися повторно. З іншого боку, кількість операцій зміни повідомлень і серйозності не обмежена.| |*Змінити серйозність*|Поставте чекбокс і натисніть кнопку серйозності, щоб оновити серйозність проблеми.<br>Чекбокс для зміни серйозності доступний, якщо є дозволи на читання та запис принаймні для однієї з вибраних проблем. Лише ті проблеми, які доступні для читання та запису, будуть оновлені після натискання *Оновити*.<br>Якщо дозволи на читання та запис не існують для жодного з вибраних тригерів, чекбокс буде вимкнено.| |*Приховувати*|Поставте чекбокс, щоб приховати проблему:<br>**На невизначений термін** - приховувати на невизначений термін<br>**До** - приховувати до певного часу. Підтримуються як [абсолютний, так і відносний](/manual/config/visualization/graphs/simple#time-period-selector) формати часу, наприклад:<br>`зараз+1д` - на один день (за замовчуванням)< br>`зараз/с` - до кінця поточного тижня<br>`2022-05-28 12:00:00` - до абсолютної дати/часу<br>Зверніть увагу, що вказання просто періоду (наприклад, `1d` , `1w`) не підтримується.<br>Доступність цього параметра залежить від налаштувань ролі користувача «Приховувати проблеми».<br>Див. також: [Припинення проблеми](/manual/acknowledgment/suppression)| |*Unsuppress*|Позначте поле, щоб скасувати приховування проблеми. Цей прапорець активний, лише якщо принаймні одна з вибраних проблем прихована.<br>Доступність цього параметра залежить від налаштувань ролі користувача «Припинити проблеми».| |*Підтвердити*|Поставте прапорець, щоб підтвердити проблему.<br>Цей прапорець доступний, якщо серед вибраних є принаймні одна непідтверджена проблема.<br>Неможливо додати ще одне підтвердження для вже підтвердженої проблеми (вона але можна додати ще один коментар).| |*Unacknowledge*|Позначте прапорець, щоб скасувати підтвердження проблеми.<br>Цей прапорець доступний, якщо серед вибраних є принаймні одна підтверджена проблема.| |*Перетворити на причину*|Позначте прапорець, щоб перетворити симптом проблеми на причину, що її викликає.| |*Закрити проблему*|Поставте прапорець, щоб вручну закрити вибрану(і) проблему(и).<br>Прапорець для закриття проблеми доступний, якщо опцію *Дозволити закриття вручну* позначено в [конфігурації тригера](/manual/config /triggers/trigger) принаймні для однієї з вибраних проблем. Буде закрито лише ті проблеми, які дозволено закрити, натиснувши *Оновити*.<br>Якщо жодну проблему не можна закрити вручну, прапорець вимкнено.<br>Уже закриті проблеми не будуть закриті повторно.|

en-us	### Upgrading HA cluster  To perform a major version upgrade for the HA nodes:  -   stop all nodes; -   create a full database backup; -   if the database uses replication make sure that all nodes are in sync and have no issues. Do not upgrade if replication is broken. -   select a single node that will perform database upgrade, change its configuration to standalone mode by commenting out HANodeName and [upgrade](/manual/installation/upgrade) it; -   make sure that database upgrade is fully completed (*System information* should display that Zabbix server is running); -   restart the node in HA mode; -   upgrade and start the rest of nodes (it is not required to change them to standalone mode as the database is already upgraded at this point).  In a minor version upgrade it is sufficient to upgrade the first node, make sure it has upgraded and running, and then start upgrade on the next node.
uk	### Оновлення кластера високої доступності  Щоб застосувати мажорне оновлення для вузлів кластеру високої доступності:  - зупиніть всі ноди кластеру; - створіть повну резервну копію бази даних; - якщо база даних використовує реплікацію, переконайтеся, що всі вузли синхронізовані та не мають проблем. Не виконуйте оновлення, якщо реплікація порушена. - виберіть один вузол, який виконуватиме оновлення бази даних, змініть його конфігурацію на автономний режим, закоментувавши HANodeName і [оновіть](/manual/installation/upgrade) його; - переконайтеся, що оновлення бази даних повністю завершено (*Інформація про систему* має показувати, що Zabbix сервер працює); - перезапустити вузол в режимі HA; - оновіть і запустіть решту вузлів (переводити їх у автономний режим не потрібно, оскільки база даних вже оновлена на цьому етапі).  При мінорному оновленні достатньо оновити перший вузол, переконатися, що він оновився і працює, а потім почати оновлення на наступному вузлі.

en-us	 ### url  A link to the module description.  *Type*: String  *Example*:   ```json "url": "http://example.com" ```
uk	 ### url  Посилання на опис модуля.  *Тип*: String  *Приклад*:  ```json "url": "http://example.com" ```

en-us	#### userdirectory  [ZBX-22800](https://support.zabbix.com/browse/ZBX-22800) `userdirectory.get`: Restored sorting by `name`.\
uk	#### userdirectory  [ZBX-22800](https://support.zabbix.com/browse/ZBX-22800) `userdirectory.get`: Відновлено сортування за `name`.\

en-us	#### userdirectory  [ZBXNEXT-276](https://support.zabbix.com/browse/ZBXNEXT-276) Added new properties `idp_type`, `provision_status`, `user_username`, `user_lastname`, `user_ref_attr`, `group_membership`, `group_basedn`, `group_name`, `group_member`, `group_filter`, `idp_entityid`, `sp_entityid`, `sso_url`, `slo_url`, `username_attribute`, `nameid_format`, `scim_status`, `encrypt_nameid`, `encrypt_assertions`, `sign_messages`, `sign_assertions`, `sign_authn_requests`, `sign_logout_requests`, `sign_logout_responses`, `provision_media`, `provision_groups`.\ [ZBXNEXT-276](https://support.zabbix.com/browse/ZBXNEXT-276) `userdirectory.get`: Removed support for searching by `base_dn`, `bind_dn`, `host`, `search_attribute`, `search_filter`.\ [ZBXNEXT-276](https://support.zabbix.com/browse/ZBXNEXT-276) `userdirectory.get`: Removed support for filtering by `host`, `name`.\ [ZBXNEXT-276](https://support.zabbix.com/browse/ZBXNEXT-276) `userdirectory.get`: Added support for filtering by `idp_type`, `provision_status`.\ [ZBXNEXT-276](https://support.zabbix.com/browse/ZBXNEXT-276) `userdirectory.get`: Added new parameters `selectProvisionMedia`, `selectProvisionGroups`.\
uk	####  userdirectory  [ZBXNEXT-276](https://support.zabbix.com/browse/ZBXNEXT-276) Додано нові властивості `idp_type`, `provision_status`, `user_username`, `user_lastname`, `user_ref_attr`, `group_membership`, ` group_basedn`, `group_name`, `group_member`, `group_filter`, `idp_entityid`, `sp_entityid`, `sso_url`, `slo_url`, `username_attribute`, `nameid_format`, `scim_status`, `encrypt_nameid`, `encrypt_assertions` , `sign_messages`, `sign_assertions`, `sign_authn_requests`, `sign_logout_requests`, `sign_logout_responses`, `provision_media`, `provision_groups`.\ [ZBXNEXT-276](https://support.zabbix.com/browse/ZBXNEXT-276) `userdirectory.get`: видалено підтримку пошуку за `base_dn`, `bind_dn`, `host`, `search_attribute`, ` search_filter`.\ [ZBXNEXT-276](https://support.zabbix.com/browse/ZBXNEXT-276) `userdirectory.get`: видалено підтримку фільтрації за `host`, `name`.\ [ZBXNEXT-276](https://support.zabbix.com/browse/ZBXNEXT-276) `userdirectory.get`: додано підтримку фільтрації за `idp_type`, `provision_status`.\ [ZBXNEXT-276](https://support.zabbix.com/browse/ZBXNEXT-276) `userdirectory.get`: додано нові параметри `selectProvisionMedia`, `selectProvisionGroups`.\

en-us	#### user  [ZBXNEXT-8012](https://support.zabbix.com/browse/ZBXNEXT-8012) `user.checkAuthentication`: Added new parameter `token`.\
uk	#### user  [ZBXNEXT-8012](https://support.zabbix.com/browse/ZBXNEXT-8012) `user.checkAuthentication`: Додано новий параметр `token`.\

en-us	#### user  [ZBXNEXT-8085](https://support.zabbix.com/browse/ZBXNEXT-8085) Removed support for deprecated property `alias`.\ [ZBXNEXT-276](https://support.zabbix.com/browse/ZBXNEXT-276) Property `roleid` is no longer mandatory.\ [ZBXNEXT-276](https://support.zabbix.com/browse/ZBXNEXT-276) Added new properties `userdirectoryid`, `ts_provisioned`.\ [ZBXNEXT-276](https://support.zabbix.com/browse/ZBXNEXT-276) Added new method `user.provision`.\ [ZBXNEXT-276](https://support.zabbix.com/browse/ZBXNEXT-276) `user.create`: Parameter `usrgrps` is no longer mandatory.\ [ZBXNEXT-8085](https://support.zabbix.com/browse/ZBXNEXT-8085) `user.create`, `user.update`: Removed support for deprecated parameter `user_medias`.\ [ZBXNEXT-8085](https://support.zabbix.com/browse/ZBXNEXT-8085) `user.login`: Removed support for deprecated parameter `user`.\ [ZBXNEXT-3100](https://support.zabbix.com/browse/ZBXNEXT-3100) `user.update`: Added new parameter `current_passwd`.\
uk	#### user  [ZBXNEXT-8085](https://support.zabbix.com/browse/ZBXNEXT-8085) Вилучено підтримку застарілої властивості `alias`.\ [ZBXNEXT-276](https://support.zabbix.com/browse/ZBXNEXT-276) Властивість `roleid` більше не є обов’язковою.\ [ZBXNEXT-276](https://support.zabbix.com/browse/ZBXNEXT-276) Додано нові властивості `userdirectoryid`, `ts_provisioned`.\ [ZBXNEXT-276](https://support.zabbix.com/browse/ZBXNEXT-276) Додано новий метод `user.provision`.\ [ZBXNEXT-276](https://support.zabbix.com/browse/ZBXNEXT-276) `user.create`: Параметр `usrgrps` більше не є обов’язковим.\ [ZBXNEXT-8085](https://support.zabbix.com/browse/ZBXNEXT-8085) `user.create`, `user.update`: вилучено підтримку застарілого параметра `user_medias`.\ [ZBXNEXT-8085](https://support.zabbix.com/browse/ZBXNEXT-8085) `user.login`: видалено підтримку застарілого параметра `user`.\ [ZBXNEXT-3100](https://support.zabbix.com/browse/ZBXNEXT-3100) `user.update`: додано новий параметр `current_passwd`.\

en-us	#### Using a custom expression filter  Create a trigger action that uses a custom expression - "A and (B or C)" - for evaluating action conditions. Once a trigger with a severity higher or equal to "Warning" from host "10084" or host "10106" goes into a PROBLEM state, the action will send a message to all users in user group "7" via media type "1". The formula IDs "A", "B" and "C" have been chosen arbitrarily.  [Request](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "action.create",     "params": {         "name": "Trigger action",         "eventsource": 0,         "esc_period": "15m",         "filter": {             "evaltype": 3,             "formula": "A and (B or C)",             "conditions": [                 {                     "conditiontype": 4,                     "operator": 5,                     "value": "2",                     "formulaid": "A"                 },                 {                     "conditiontype": 1,                     "operator": 0,                     "value": "10084",                     "formulaid": "B"                 },                 {                     "conditiontype": 1,                     "operator": 0,                     "value": "10106",                     "formulaid": "C"                 }             ]         },         "operations": [             {                 "operationtype": 0,                 "esc_step_from": 1,                 "esc_step_to": 1,                 "opmessage_grp": [                     {                         "usrgrpid": "7"                     }                 ],                 "opmessage": {                     "default_msg": 1,                     "mediatypeid": "1"                 }             }         ]     },     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "actionids": [             "18"         ]     },     "id": 1 } ```
uk	 #### Використання спеціального фільтра виразів  Створіть дію тригера, яка використовує користувацький вираз - «A and (B or C)» - для оцінки умов дії.  Як тільки тригер зі ступенем серйозності вище або дорівнює «Warning» з хоста «10084» або хоста «10106» перейде в стан ПРОБЛЕМА, дія надішле повідомлення всім користувачам групи користувачів «7» через тип медіа «1».  Ідентифікатори формул «A», «B» і «C» обрано довільно.  [Запит](/manual/api#performing-requests):  ```json {     "jsonrpc": "2.0",     "method": "action.create",     "params": {         "name": "Trigger action",         "eventsource": 0,         "status": 0,         "esc_period": "15m",         "filter": {             "evaltype": 3,             "formula": "A and (B or C)",             "conditions": [                 {                     "conditiontype": 4,                     "operator": 5,                     "value": "2",                     "formulaid": "A"                 },                 {                     "conditiontype": 1,                     "operator": 0,                     "value": "10084",                     "formulaid": "B"                 },                 {                     "conditiontype": 1,                     "operator": 0,                     "value": "10106",                     "formulaid": "C"                 }             ]         },         "operations": [             {                 "operationtype": 0,                 "esc_step_from": 1,                 "esc_step_to": 1,                 "opmessage_grp": [                     {                         "usrgrpid": "7"                     }                 ],                 "opmessage": {                     "default_msg": 1,                     "mediatypeid": "1"                 }             }         ],     },     "id": 1 } ```  Відповідь:  ```json {     "jsonrpc": "2.0",     "result": {         "actionids": [             "18"         ]     },     "id": 1 } ```

en-us	##### - Using a static IP address  By default the appliance uses DHCP to obtain the IP address. To specify a static IP address:  -   Log in as root user; -   Open */etc/sysconfig/network-scripts/ifcfg-eth0* file; -   Replace *BOOTPROTO=dhcp* with *BOOTPROTO=none* -   Add the following lines:     -   *IPADDR=<IP address of the appliance>*     -   *PREFIX=<CIDR prefix>*     -   *GATEWAY=<gateway IP address>*     -   *DNS1=<DNS server IP address>* -   Run **systemctl restart network** command.  Consult the official Red Hat [documentation](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/deployment_guide/s1-networkscripts-interfaces) if needed.
uk	##### - Використання статичної IP-адреси  За замовчуванням готове рішення використовує DHCP для отримання IP-адреси. Щоб указати статичну IP-адресу:  -   Увійдіть як користувач root; -   Відкрийте файл */etc/sysconfig/network-scripts/ifcfg-eth0*; -   Замініть *BOOTPROTO=dhcp* на *BOOTPROTO=none* -   Додайте такі рядки:     -   *IPADDR=<IP-адреса готового рішення>*     -   *PREFIX=<префікс CIDR>*     -   *GATEWAY=<IP-адреса шлюзу>*     -   *DNS1=<IP-адреса сервера DNS>* -   Виконайте команду **systemctl restart network**.  За потреби зверніться до офіційної [документації](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/deployment_guide/s1-networkscripts-interfaces) Red Hat.

en-us	### Verify CA mode  Copy required MySQL CA to the Zabbix frontend server, assign proper permissions to allow the webserver to read this file.  ::: noteclassic  *Verify CA* mode doesn't work on SLES 12 and RHEL 7 due to older MySQL libraries.  :::
uk	### Перевірте режим CA  Скопіюйте необхідний MySQL CA на інтерфейсний сервер Zabbix, призначте відповідні дозволи, щоб дозволити веб-серверу читати цей файл.  ::: noteclassic Режим *Перевірка CA* не працює на SLES 12 і RHEL 7 через застарілі бібліотеки MySQL. :::

en-us	### Verify Full mode
uk	### Перевірити повний режим

en-us	 ### version  Module version. The version will be displayed in the Administration section.  *Type*: String  *Example*:   ```json "version": "1.0" ```
uk	 ### version  Версія модуля. Версія буде відображатися в розділі Адміністрування.  *Тип*: String  *Приклад*:  ```json "version": "1.0" ```

en-us	#### Viewing data  With an item defined, you might be curious if it is actually gathering data. For that, go to *Monitoring → Latest data*, select 'New host' in the filter and click on *Apply*.  ![](../../../assets/en/manual/quickstart/latest_data.png){width="600"}  With that said, it may take up to 60 seconds for the first data to arrive. That, by default, is how often the server reads configuration changes and picks up new items to execute.  If you see no value in the 'Change' column, maybe only one value has been received so far. Wait 30 seconds for another value to arrive.  If you do not see information about the item as in the screenshot, make sure that:  -   you have filled out the item 'Key' and 'Type of information' fields exactly as in the screenshot; -   both the agent and the server are running; -   host status is 'Monitored' and its availability icon is green; -   the host selected in the host filter is correct;  -   the item is enabled.
uk	#### Перегляд даних  Якщо елемент даних визначено, вам може бути цікаво, чи він справді збирає дані. Для цього перейдіть до *Моніторинг → Останні дані*, виберіть 'New host' у фільтрі та натисніть *Застосувати*.  ![](../../../assets/en/manual/quickstart/latest_data.png){width="600"}  З огляду на це, для надходження перших даних може знадобитися до 60 секунд. За замовчуванням це те, як часто сервер читає зміни налаштувань та вибирає нові елементи даних для виконання.  Якщо ви не бачите значення в стовпці 'Змінити', можливо, наразі було отримано лише одне значення. Зачекайте 30 секунд, поки не прийде інше значення.  Якщо ви не бачите інформації про елемент даних, як на знімку екрану, переконайтеся, що:  -   ви заповнили поля елементу даних 'Ключ' і 'Тип інформації' точно так, як на знімку екрану; -   і агент, і сервер запущені; -   стан вузла мережі 'Відстежується', а значок доступності зелений; -   вузол мережі, вибраний у фільтрі вузлів мережі, правильний; -   елемент даних включено.

en-us	#### View mode buttons  The following buttons located in the top right corner are common for every section:  |   |   | |--|--------| |![](../../../../assets/en/manual/web_interface/button_kiosk.png)|Display page in kiosk mode. In this mode only page content is displayed.<br>To exit kiosk mode, move the mouse cursor until the ![](../../../../assets/en/manual/web_interface/button_kiosk_leave.png) exit button appears and click on it. You will be taken back to normal mode.|
uk	#### Кнопки режиму перегляду  Наступні кнопки, розташовані у верхньому правому куті, є загальними для кожного розділу:  | | | |--|--------| |![](../../../../assets/en/manual/web_interface/button_kiosk.png)|Відображати сторінку в режимі кіоску. У цьому режимі відображається лише вміст сторінки.<br>Щоб вийти з режиму кіоску, перемістіть курсор миші до ![](../../../../assets/en/manual/web_interface/button_kiosk_leave.png ) з’явиться кнопка виходу та натисніть її. Ви повернетеся до звичайного режиму.|

en-us	 # Views  View file receives the data from a controller and then prepares the HTML look of it.  :::noteclassic Defining view(s) for a frontend module is optional, unless the module is a widget.\ Dashboard widgets need at least two views: one for the edit mode and one for the view mode (should be stored in the *views* directory). :::  It is possible to use pre-defined Zabbix HTML classes (from the */zabbix/ui/include/classes/html*) in the view as well as add new HTML and CSS classes. New classes should be stored in the module's *assets* folder.  Example:  ```` ... (new CColHeader(_('Name'))) ````  This will add a new column name *Name* and style the top table row as on other Zabbix pages.
uk	 # Views  View-файл отримує дані від контролера, а потім генерує їх HTML-відображення.  :::noteclassic Створювати view-файл для інтерфейсного модуля необов’язково, якщо тільки модуль не є віджетом.\ Для віджетів інформаційної панелі потрібно принаймні два типу view: один для режиму редагування та інший для режиму перегляду (має зберігатися в каталозі *views*). :::  У view-файлах можна використовувати попередньо визначені класи Zabbix HTML (з */zabbix/ui/include/classes/html*), а також додавати нові класи HTML і CSS. Нові класи повинні зберігатися в каталозі модуля *assets* .  приклад:  ```` ... (new CColHeader(_('Name'))) ````  Це додасть нову назву стовпця *Name* і стилізує верхній рядок таблиці, аналогічно до інших сторінок Zabbix.

en-us	# > Web scenario object  The following objects are directly related to the `webcheck` API.
uk	# > Об'єкт веб-сценарію  Наступні об’єкти безпосередньо пов’язані з API 'webcheck'.

en-us	 ### What a module can be used for  -   Adding new functionality via custom frontend sections; -   Creating custom dashboard widget types (see [widget modules](/devel/modules/widgets)); -   Overriding or extending the existing functionality.
uk	 ### Для чого можна використовувати модуль  - Додавання нової функціональності через користувацькі розділи інтерфейсу; - Створення користувацьких типів віджетів інформаційної панелі (див. [модулі віджетів](/devel/modules/widgets)); - Заміна або розширення наявної функціональності.

en-us	 ### What a module cannot be used for  -   Registering a new API method or modifying an existing one.
uk	 ### Для чого не можна використовувати модуль  - Реєстрація нового методу API або зміна існуючого.

en-us	### What is a PHP frontend module?  -   A module is an entity with a unique ID, name, description, author, and other fields defined in it's manifest file, along with PHP, Javascript and other files located in a single directory inside the *modules* directory of your Zabbix frontend installation (for example, *zabbix/ui/modules*). -   A module should conform to simple rules to guarantee correct operation. -   A module must be installed (unpacked) and enabled in the frontend by the administrator.
uk	### Що таке PHP frontend модуль ?  - Модуль - це сутність з унікальним ідентифікатором, назвою, описом, автором та іншими полями, визначеними у файлі маніфесту, разом з PHP, Javascript та іншими файлами, розташованими в одному каталозі всередині каталогу *modules* вашої інсталяції web-інтерфейсу Zabbix (наприклад, *zabbix/ui/modules*). - Модуль повинен відповідати простим правилам, щоб гарантувати правильну роботу. - Модуль повинен бути встановлений (розпакований) і активований у web-інтерфейсі адміністратором.

en-us	## What you'll build  During this tutorial, you will first build a [basic](#part-i---hello-world) "Hello, world!" widget and then convert it into a [more advanced](#part-ii---gauge-chart) widget that displays an item value as a gauge chart. Here's how the finished widget will look like:  ![](../../../../assets/en/devel/modules/tutorials/widget/widget_view_finished.png){width="600"}
uk	## Що ви створите  У цьому посібнику ви спочатку створите [базовий](#part-i---hello-world) віджет "Hello, world!", а потім перетворите його на [більш просунутий](#part-ii---gauge-chart) віджет, який відображає значення елемента даних у вигляді гістограми.Ось як виглядатиме готовий віджет:  ![](../../../../assets/en/devel/modules/tutorials/widget/widget_view_finished.png){width="600"}

en-us	### What you'll build  During this tutorial, you will first build a frontend module that adds a new *My Address* menu section and then convert it into a [more advanced](#part-iii---module-action) frontend module that makes an HTTP request to *https://api.seeip.org* and displays the response - the IP address of your computer - on a new page in the newly created *My Address* menu section. Here's how the finished module will look like:  ![](../../../../assets/en/devel/modules/tutorials/module/my_address_finished.png){width="600"}
uk	### Що ви створите  У цьому уроці ви спочатку створите модуль інтерфейсу, який додає новий розділ меню *Моя адреса*,  а потім перетворите його на [більш просунутий] (#part-iii---module-action) модуль інтерфейсу, який робить HTTP-запит до *https://api.seeip.org*  і відображає відповідь - IP-адресу вашого комп'ютера - на новій сторінці в новоствореному розділі меню *Моя адреса*. Ось як виглядатиме готовий модуль:  ![](../../../../assets/en/devel/modules/tutorials/module/my_address_finished.png){width="600"}

en-us	 ### What you'll create  During this tutorial, you will add a new loadable plugin **MyIP**. The plugin will implement 1 metric called **myip**, which returns the external IP address of the host where Zabbix agent 2 is running.
uk	 ### Що ви створите  Під час цього уроку ви додасте новий завантажуваний плагін **MyIP**. Плагін реалізує 1 метрику під назвою **myip**, яка повертає зовнішню IP-адресу хоста, на якому запущено Zabbix Agent 2.

en-us	### Where to go next  Whether you prefer to learn by doing or read the guidelines first, these pages contain the information and steps required to build your own modules:  - [Step-by-step tutorials for writing your first module](/devel/modules/tutorials) - [Module file structure](/devel/modules/file_structure) - [Widget module specifics](/devel/modules/widgets) - [Module examples to reuse](/devel/modules/examples)
uk	### Куди рухатися далі  Незалежно від того, чи віддаєте ви перевагу навчанню на практиці, чи спочатку читаєте інструкції, ці сторінки містять інформацію та кроки, необхідні для створення власних модулів:  - [Покрокові посібники для написання вашого першого модуля](/devel/modules/tutorials) - [Файлова структура модуля](/devel/modules/file_structure) - [Особливості модуля віджетів](/devel/modules/widgets) - [Приклади модулів для повторного використання](/devel/modules/examples)

en-us	### Widget action  The widget action class (*WidgetView*) contains methods for operations with widgets in the presentation view mode. The majority of widget actions use and/or extend the default controller class *CControllerDashboardWidgetView*.  The widget action class should be located in the *actions* directory and specified in the [*actions*](/devel/modules/file_structure/manifest#actions) parameter (*actions/widget.{id}.view/class*) in the *manifest.json* file.  **actions/WidgetView.php example (implemented in the Zabbix-native [*System information*](/manual/web_interface/frontend_sections/dashboards/widgets/system) widget)**  ```php class WidgetView extends CControllerDashboardWidgetView {      protected function doAction(): void {         $this->setResponse(new CControllerResponseData([             'name' => $this->getInput('name', $this->widget->getDefaultName()),             'system_info' => CSystemInfoHelper::getData(),             'info_type' => $this->fields_values['info_type'],             'user_type' => CWebUser::getType(),             'user' => [                 'debug_mode' => $this->getDebugMode()             ]         ]));     } } ```
uk	### Widget action  Клас дій віджетів (*WidgetView*) містить методи для роботи з віджетами в режимі перегляду презентації. Більшість дій віджетів використовують та/або розширюють клас контролера за замовчуванням *CControllerDashboardWidgetView*.  Клас дій віджета має розташовуватися в каталозі *actions* і вказуватися в параметрі [*actions*](/devel/modules/file_structure/manifest#actions) (*actions/widget.{id}.view/class*) у файлі *manifest.json*.  **actions/WidgetView.php приклад (реалізований у стандартному для Zabbix віджеті [*Системна інформація*](/manual/web_interface/frontend_sections/dashboards/widgets/system)**  ```php class WidgetView extends CControllerDashboardWidgetView {      protected function doAction(): void {         $this->setResponse(new CControllerResponseData([             'name' => $this->getInput('name', $this->widget->getDefaultName()),             'system_info' => CSystemInfoHelper::getData(),             'info_type' => $this->fields_values['info_type'],             'user_type' => CWebUser::getType(),             'user' => [                 'debug_mode' => $this->getDebugMode()             ]         ]));     } } ```

en-us	### Widget examples  - Minimal widget - [widget_min.zip](/../assets/en/devel/modules/examples/widget_min.zip) - "Hello, world" widget using CSS only - [hello_world_css.zip](/../assets/en/devel/modules/examples/hello_world_css.zip) - "Hello, world" widget using JavaScript only - [hello_world_js.zip](/../assets/en/devel/modules/examples/hello_world_js.zip) - "Hello, world" widget using PHP - [hello_world_php.zip](/../assets/en/devel/modules/examples/hello_world_php.zip)  ::: notetip You can also use [Zabbix native widgets](https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/ui/widgets) as examples. :::
uk	### Приклади віджетів  - Мінімальний віджет - [widget_min.zip](/../assets/en/devel/modules/examples/widget_min.zip) - Віджет "Hello, world" лише з використанням CSS - [hello_world_css.zip](/../assets/en/devel/modules/examples/hello_world_css.zip) - Віджет "Hello, world" використовує лише JavaScript - [hello_world_js.zip](/../assets/en/devel/modules/examples/hello_world_js.zip) - Віджет "Hello, world" з використанням PHP - [hello_world_php.zip](/../assets/en/devel/modules/examples/hello_world_php.zip)  ::: підказка Ви також можете використовувати [власні віджети Zabbix](https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/ui/widgets) як приклади. :::

en-us	### WidgetForm  The *WidgetForm* class extends the default class *CWidgetForm* and contains a set of [*CWidgetField*](#cwidgetfield) fields that are required for defining widget configuration storage structure in the database and handling input validation.  The *WidgetForm* class should be located in the *includes* directory. If the class has a different name, the name should be specified in the [*widget/form_class*](/devel/modules/file_structure/manifest#widget) parameter in the *manifest.json* file.  **includes/WidgetForm.php example**  ```php <?php  namespace Modules\MyCustomWidget\Includes;  use Modules\MyCustomWidget\Widget;  use Zabbix\Widgets\{     CWidgetField,     CWidgetForm };  use Zabbix\Widgets\Fields\{     CWidgetFieldMultiSelectItem,     CWidgetFieldTextBox,     CWidgetFieldColor };  class WidgetForm extends CWidgetForm {      public function addFields(): self {         return $this             ->addField(                 (new CWidgetFieldMultiSelectItem('itemid', _('Item')))                     ->setFlags(CWidgetField::FLAG_NOT_EMPTY | CWidgetField::FLAG_LABEL_ASTERISK)                     ->setMultiple(false)                     ->setFilterParameter('numeric', true)             )             ->addField(                 new CWidgetFieldTextBox('description', _('Description'))             )             ->addField(                 (new CWidgetFieldColor('chart_color', _('Color')))->setDefault('FF0000')             );     } } ```
uk	### WidgetForm  Клас *WidgetForm* розширює стандартний клас *CWidgetForm* і містить набір полів [*CWidgetField*](#cwidgetfield). які необхідні для визначення структури зберігання конфігурації віджета в базі даних і обробки валідації вхідних даних.  Клас *WidgetForm* має бути розташований у каталозі *includes*. Якщо клас має іншу назву, її потрібно вказати в параметрі [*widget/form_class*](/devel/modules/file_structure/manifest#widget) у файлі *manifest.json*.  **includes/WidgetForm.php приклад**  ```php <?php  namespace Modules\MyCustomWidget\Includes;  use Modules\MyCustomWidget\Widget;  use Zabbix\Widgets\{     CWidgetField,     CWidgetForm };  use Zabbix\Widgets\Fields\{     CWidgetFieldMultiSelectItem,     CWidgetFieldTextBox,     CWidgetFieldColor };  class WidgetForm extends CWidgetForm {      public function addFields(): self {         return $this             ->addField(                 (new CWidgetFieldMultiSelectItem('itemid', _('Item')))                     ->setFlags(CWidgetField::FLAG_NOT_EMPTY | CWidgetField::FLAG_LABEL_ASTERISK)                     ->setMultiple(false)                     ->setFilterParameter('numeric', true)             )             ->addField(               new CWidgetFieldTextBox('description', _('Description'))             )             ->addField(               (new CWidgetFieldColor('chart_color', _('Color')))->setDefault('FF0000')             );     } } ```

en-us	## Widget preview  Widget modules, once added, become immediately visible in the dashboard widget list.  You can open a dashboard, switch to the edit mode and add the widget to the dashboard as usual.  When you make some changes to the widget, refresh the dashboard to view how the widget looks with the most recent updates.
uk	## Попередній перегляд віджета  Модулі віджетів після додавання відразу стають видимими в списку віджетів інформаційної панелі.  Ви можете відкрити інформаційну панель, перейти в режим редагування та додати віджет на інформаційну панель, як зазвичай.  Після внесення змін у віджет, оновіть інформаційну панель, щоб побачити, як виглядає віджет з останніми оновленнями.

en-us	### Widget  Primary widget class, extends the base class of all dashboard widgets - *CWidget*. Required for overriding the default widget behavior.  The *Widget* class should be located in the root directory of the widget (for example, *zabbix/ui/modules/my_custom_widget*).  **Widget.php example**  ```php <?php  namespace Modules\MyCustomWidget;  use Zabbix\Core\CWidget;  class Widget extends CWidget {      public const MY_CONSTANT = 0;      public function getTranslationStrings(): array {         return [             'class.widget.js' => [                 'No data' => _('No data')             ]         ];     } } ```
uk	### Віджет  Основний клас віджетів, розширює базовий клас усіх віджетів інформаційної панелі - *CWidget*. Необхідний для заміни поведінки віджета за замовчуванням.  Клас *Widget* має бути розташований у кореневому каталозі віджета (наприклад, *zabbix/ui/modules/my_custom_widget*).  **Приклад Widget.php**  ```php <?php  namespace Modules\MyCustomWidget;  use Zabbix\Core\CWidget;  class Widget extends CWidget {      public const MY_CONSTANT = 0;     public function getTranslationStrings(): array {         return [             'class.widget.js' => [               'No data' => _('No data')             ]         ];     } } ```

en-us	# Widgets  Widgets are Zabbix frontend modules used for the dashboards. Unless otherwise noted, all module guidelines are also applicable to widgets.  However, a widget is notably different from a module. To build a widget:  - specify the type "widget" in the [manifest.json file](/devel/modules/file_structure/manifest) ("type": "widget"); - include at least two views: one for the [widget presentation mode](/devel/modules/widgets/presentation#widget-view) and one for the [widget configuration mode](/devel/modules/widgets/configuration#widget-configuration-view) (example.widget.view.php and example.widget.edit.php); - and a [controller](/devel/modules/widgets/presentation#widget-actions) for widget presentation (WidgetView.php); - use and extend default [widget classes](/devel/modules/widgets/configuration).
uk	# Віджети  Віджети — це інтерфейсні модулі Zabbix, які використовуються для інформаційних панелей. Якщо не зазначено інше, усі інструкції щодо модуля також застосовуються до віджетів.  Однак віджет значно відрізняється від модуля. Щоб створити віджет:  - вкажіть тип "widget" у [файлі manifest.json](/devel/modules/file_structure/manifest) ("type": "widget"); - включіть принаймні два view: один для [режиму презентації віджетів](/devel/modules/widgets/presentation#widget-view) і один для [режиму конфігурації віджетів](/devel/modules/widgets/configuration#widget- configuration-view) (example.widget.view.php і example.widget.edit.php); - і [контролер](/devel/modules/widgets/presentation#widget-actions) для представлення віджетів (WidgetView.php); - використовуйте та розширюйте стандартні [класи віджетів](/devel/modules/widgets/configuration).

en-us	### Widget view  The widget view class (*CWidgetView*) is responsible for building the widget presentation view.  The widget view class should be located in the *views* directory. If the file containing the widget view class has a different name than the default (*widget.view.php*), then it must be specified in the *manifest.json* file [*actions*](/devel/modules/file_structure/manifest#actions) parameter (*actions/widget.{id}.view/view*).  **views/widget.view.php example**  ```php <?php  /**  * My custom widget view.  *  * @var CView $this  * @var array $data  */  (new CWidgetView($data))     ->addItem(         new CTag('h1', true, $data['name'])     )     ->show(); ```
uk	### Widget view  Клас view віджетів (*CWidgetView*) відповідає за створення представлення view віджетів.  Клас view віджета має бути розташований у каталозі *views*. Якщо файл, що містить клас view віджетів, має іншу назву, ніж назва за замовчуванням (*widget.view.php*), тоді її потрібно вказати у файлі *manifest.json* [*actions*](/devel/modules/file_structure /manifest#actions) параметр (*actions/widget.{id}.view/view*).  **views/widget.view.php приклад**  ```php <?php  /**  * My custom widget view.  *  * @var CView $this  * @var array $data  */  (new CWidgetView($data))     ->additem(        new CTag('h1', true, $data['name'])     )     ->show(); ```

en-us	 ### widget  Widget configuration. Used, if *[type](#type)* is set to *widget*.  *Type*: Object  *Supported object keys:*  -   **name** (string) - used in the widget list and as default header. If empty, "name" parameter from the module will be used.  -   **template_support** (boolean) - determines whether the widget should be available in template dashboards. Supported values: *true*, *false* (default).  -   **size** (object) - default widget dimensions. Supports keys:     - *width* (integer) - default widget width.     - *height* (integer) - default widget height.  -   **form_class** (string) - class with widget fields form. Must be located in the *includes* directory.     If the class is *WidgetForm.php*, which is expected by default, this parameter maybe omitted.     If using a different name, specify it here.  -   **js_class** (string) - name of a JavaScript class for widget view mode to extend the default CWidget class.     The class will be loaded with the dashboard.     The class source file must be located in the assets/js directory. See also: [assets](#assets).  -   **use_time_selector** (boolean) - determines whether the widget requires dashboard time selector.     Supported values: *true*, *false* (default).  -   **refresh_rate** (integer) - widget refresh rate in seconds (default: 60).  *Example*:   ```json "widget": {     "name": "",                            "template_support": true,           "size": {                                "width": 12,         "height": 5     },     "form_class": "WidgetForm",      "js_class": "CWidget",              "use_time_selector": false,         "refresh_rate": 60              } ```
uk	 ### widget  Конфігурація віджета. Використовується, якщо *[type](#type)* має значення *widget*.  *Тип*: Object  *Підтримувані ключі об’єктів:*  - **name** (string) - використовується у списку віджетів і як заголовок за замовчуванням. Якщо значення пусте, буде використано параметр "name" модуля.  - **template_support** (boolean) - визначає, чи повинен віджет бути доступним на дашборді шаблонів. Підтримувані значення: *true*, *false* (за замовчуванням).  - **size** (object) - розміри віджета за замовчуванням. Підтримує ключі:     - *width* (integer) - ширина віджета за замовчуванням.     - *height* (integer) - висота віджета за замовчуванням.  - **form_class** (string) - клас з формою полів віджетів. Повинен знаходитися в каталозі *includes*.     Якщо класом є *WidgetForm.php*, який очікується за замовчуванням, цей параметр можна опустити.     Якщо ви використовуєте інше ім’я, вкажіть його тут.  - **js_class** (stringdashboard) - назва класу JavaScript для режиму перегляду віджетів для розширення стандартного класу CWidget.     Клас буде завантажено разом із панеллю інструментів.     Вихідний файл класу має бути розташований у каталозі assets/js. Дивіться також: [assets](#assets).  - **use_time_selector** (boolean) - визначає, чи потрібен віджет селектор часу на інформаційній панелі.     Підтримувані значення: *true*, *false* (за замовчуванням).  - **refresh_rate** (integer) - частота оновлення віджета в секундах (за замовчуванням: 60).  *Приклад*:  ```json "widget": {     "name": "",     "template_support": true,     "size": {         "width": 12,         "height": 5     },     "form_class": "WidgetForm",     "js_class": "CWidget",     "use_time_selector": false,     "refresh_rate": 60 } ```

en-us	### Writing a module  A sample module writing process consists of the following steps (where available, click on the file or folder name to view additional details about the step):  1. Create a new directory for the module inside **zabbix/ui/modules/**. 2. Add [manifest.json](/devel/modules/file_structure/manifest) file with module metadata. 3. Create *[views](/devel/modules/file_structure/views)* folder and define a module view(s). 4. Create *[actions](/devel/modules/file_structure/actions)* folder and define a module action(s). 5. Create Module.php (or Widget.php for dashboard widgets) file and define initialization and event handling rules. 6. Create *[assets](/devel/modules/file_structure/assets)* folder for JavaScript files (place into *assets/js*), CSS styles (place into *assets/css*), or any other additional files. 7. Make sure to specify required views, actions and asset files in the manifest.json. 8. [Register](/devel/modules/file_structure/register) the module in Zabbix frontend and start using it.  :::notetip You can register and enable a module as soon as you create manifest.json file. Once the module is enabled, you can preview all changes made to module files immediately by refreshing Zabbix frontend. :::
uk	### Написання модуля  Приклад процесу написання модуля складається з наступних кроків (там, де це можливо, клацніть на назві файлу або папки, щоб переглянути додаткову інформацію про крок):  1. Створіть новий каталог для модуля всередині **zabbix/ui/modules/**. 2. Додайте файл [manifest.json](/devel/modules/file_structure/manifest) із метаданими модуля. 3. Створіть папку *[views](/devel/modules/file_structure/views)* та визначте вид(и) модуля. 4. Створіть папку *[actions](/devel/modules/file_structure/actions)* та визначте дії модуля. 5. Створіть файл Module.php (або Widget.php для віджетів інформаційної панелі) і визначте правила ініціалізації та обробки подій. 6. Створіть папку *[assets](/devel/modules/file_structure/assets)* для файлів JavaScript (розмістіть у *assets/js*), стилів CSS (розмістіть у *assets/css*) або будь-яких інших додаткових файлів. 7. Переконайтеся, що в manifest.json вказані необхідні views, actions та assets. 8. [Зареєструйте](/devel/modules/file_structure/register) модуль у інтерфейсі Zabbix і почніть його використовувати.  :::notetip Ви можете зареєструвати та ввімкнути модуль, щойно створите файл manifest.json. Після ввімкнення модуля ви можете одразу переглянути всі зміни, внесені до файлів модуля, перезавантаживши інтерфейс Zabbix. :::

en-us	# zabbix\_agent2  Section: Maintenance Commands (8)\ Updated: 2019-01-29\ [Index](#index) [Return to Main Contents](/manpages)  ------------------------------------------------------------------------  [ ]{#lbAB}
uk	# zabbix\_agent2  Розділ: Команди обслуговування (8)\ Оновлено: 29.01.2019\ [Покажчик](#index) [Повернутися до основного вмісту](/manpages)  -------------------------------------------------- ----------------------  [ ]{#lbAB}

en-us	# zabbix\_agentd  Section: Maintenance Commands (8)\ Updated: 2019-01-29\ [Index](#index) [Return to Main Contents](/manpages)  ------------------------------------------------------------------------  [ ]{#lbAB}
uk	# zabbix\_agentd  Розділ: Команди обслуговування (8)\ Оновлено: 29.01.2019\ [Покажчик](#index) [Повернутися до основного вмісту](/manpages)  -------------------------------------------------- ----------------------  [ ]{#lbAB}

en-us	# Zabbix API changes in 6.4
uk	# Зміни Zabbix API у версії 6.4

en-us	# Zabbix documentation  These pages contain official Zabbix documentation.  Use the sidebar navigation to browse documentation pages.  To be able to watch pages, log in with your [Zabbix forums](http://www.zabbix.com/forum/) username and password.
uk	# Документація Zabbix  Ці сторінки містять офіційну документацію Zabbix.  Використовуйте навігацію на бічній панелі, щоб переглядати сторінки документації.  Щоб мати можливість переглядати сторінки, увійдіть, використовуючи своє ім’я користувача та пароль [на форумах Zabbix](http://www.zabbix.com/forum/).

en-us	# zabbix\_get  Section: User Commands (1)\ Updated: 2021-06-01\ [Index](#index) [Return to Main Contents](/manpages)  ------------------------------------------------------------------------  [ ]{#lbAB}
uk	# zabbix\_get  Розділ: Команди користувача (1)\ Оновлено: 01.06.2021\ [Покажчик](#index) [Повернутися до основного вмісту](/manpages)  -------------------------------------------------- ----------------------  [ ]{#lbAB}

en-us	# zabbix\_js  Section: User Commands (1)\ Updated: 2019-01-29\ [Index](#index) [Return to Main Contents](/manpages)  ------------------------------------------------------------------------  [ ]{#lbAB}
uk	# zabbix\_js  Розділ: Команди користувача (1)\ Оновлено: 29.01.2019\ [Покажчик](#index) [Повернутися до основного вмісту](/manpages)  -------------------------------------------------- ----------------------  [ ]{#lbAB}

en-us	# Zabbix manpages  These are Zabbix manpages for Zabbix processes.
uk	# Сторінки довідки Zabbix  Це сторінки довідки Zabbix для процесів Zabbix.

en-us	# Zabbix Manual  Welcome to the user manual for Zabbix software. These pages are created to help users successfully manage their monitoring tasks with Zabbix, from the simple to the more complex ones.
uk	# Посібник Zabbix  Ласкаво просимо до посібника користувача програмного забезпечення Zabbix. Ці сторінки створені, щоб допомогти користувачам успішно керувати своїми завданнями моніторингу за допомогою Zabbix, від простих до складніших.

en-us	# zabbix\_proxy  Section: Maintenance Commands (8)\ Updated: 2020-09-04\ [Index](#index) [Return to Main Contents](/manpages)  ------------------------------------------------------------------------  [ ]{#lbAB}
uk	# zabbix\_proxy  Розділ: Команди обслуговування (8)\ Оновлено: 04.09.2020\ [Покажчик](#index) [Повернутися до основного вмісту](/manpages)  -------------------------------------------------- ----------------------  [ ]{#lbAB}

en-us	 ### Zabbix Security Advisories and CVE database  See [Zabbix Security Advisories and CVE database](https://www.zabbix.com/security_advisories).
uk	 ### Zabbix Security Advisories and CVE database  See [Zabbix Security Advisories and CVE database](https://www.zabbix.com/security_advisories).

en-us	# zabbix\_sender  Section: User Commands (1)\ Updated: 2021-06-01\ [Index](#index) [Return to Main Contents](/manpages)  ------------------------------------------------------------------------  [ ]{#lbAB}
uk	# zabbix\_sender  Розділ: Команди користувача (1)\ Оновлено: 01.06.2021\ [Зміст](#index) [Повернутися до основного вмісту](/manpages)  -------------------------------------------------- ----------------------  [ ]{#lbAB}

en-us	# zabbix\_server  Section: Maintenance Commands (8)\ Updated: 2020-09-04\ [Index](#index) [Return to Main Contents](/manpages)  ------------------------------------------------------------------------  [ ]{#lbAB}
uk	# zabbix\_server  Розділ: Команди обслуговування (8)\ Оновлено: 04.09.2020\ [Покажчик](#index) [Повернутися до основного вмісту](/manpages)  -------------------------------------------------- ----------------------  [ ]{#lbAB}

en-us	# zabbix\_web\_service  Section: Maintenance Commands (8)\ Updated: 2019-01-29\ [Index](#index) [Return to Main Contents](/manpages)  ------------------------------------------------------------------------  [ ]{#lbAB}
uk	# zabbix\_web\_service  Розділ: Команди обслуговування (8)\ Оновлено: 29.01.2019\ [Покажчик](#index) [Повернутися до основного вмісту](/manpages)  -------------------------------------------------- ----------------------  [ ]{#lbAB}

en-us	###     
uk	###     

en-us	# 11 Time zones
uk	# 11 Часові пояси

en-us	# 12 Database error handling  If Zabbix detects that the backend database is not accessible, it will send a notification message and continue the attempts to connect to the database. For some database engines, specific error codes are recognized.
uk	# 12 Обробка помилок бази даних  Якщо Zabbix виявить, що серверна база даних недоступна, він надішле сповіщення та продовжить спроби підключитися до бази даних. Для деяких механізмів баз даних розпізнаються певні коди помилок.

en-us	# 13 Problem acknowledgment
uk	# 13. Підтвердження проблеми

en-us	# 14 Configuration export/import
uk	# 14. Експорт/імпорт конфігурації

en-us	# 15 Data export
uk	# 15 Експорт даних

en-us	# 17 Encryption
uk	# 17 Шифрування

en-us	# 18 Web interface
uk	# 18. Веб-інтерфейс

en-us	# 19 API
uk	# 19. API

en-us	# 1 Creating an item
uk	# 1 Створення елементу данних

en-us	# 1 Database creation
uk	# 1 Створення бази даних

en-us	# 1 Foreach functions
uk	# 1 Функції Foreach

en-us	# 1 Global notifications
uk	# 1 Глобальні сповіщення

en-us	# 1 Graphs
uk	# 1 Графіки

en-us	# 1 High availability
uk	# 1 Висока доступність

en-us	# 1 Introduction  Please use the sidebar to access content in the Introduction section.
uk	# 1. Вступ  Будь ласка, використовуйте бічну панель, щоб отримати доступ до вмісту вступного розділу.

en-us	# 1 Login and configuring user
uk	# 1 Вхід і налаштування користувача

en-us	# 1 Manual structure
uk	# 1 Структура посібника

en-us	# 1 Menu
uk	# 1 Меню

en-us	# 1 Problem suppression
uk	# 1 Приховування проблеми

en-us	# 1 Web monitoring items
uk	# 1 Елементи веб-моніторингу

en-us	# 2 Frontend sections
uk	# 2 Інтерфейсні розділи

en-us	# 2 Installation and setup  Please use the sidebar to access content in this section.
uk	# 2 Встановлення та налаштування  Скористайтесь бічною панеллю щоб отримати доступ до вмісту цього розділу.

en-us	# 2 Monitor Windows with Zabbix agent
uk	# 2 Monitor Windows with Zabbix agent

en-us	# 2 New host
uk	# 2 Новий вузол мережі

en-us	# 2 Passive and active agent checks
uk	# 2 Passive and active agent checks

en-us	# 2 Real-life scenario
uk	# 2 Реальний сценарій

en-us	# 2 Repairing Zabbix database character set and collation
uk	# 2 Відновлення набору символів і сортування бази даних Zabbix

en-us	# 2 Sound in browsers
uk	# 2 Звук в браузерах

en-us	# 3 New item
uk	# 3 Новий елемент даних

en-us	# 3 Templates
uk	# 3 Шаблони

en-us	# 3 User settings
uk	# 3 Налаштування користувача

en-us	# 3 Zabbix processes  Please use the sidebar to access content in the Zabbix process section.
uk	# 3. Процеси Zabbix  Для доступу до вмісту розділу "Процеси Zabbix", будь ласка, використовуйте бічну панель.

en-us	# 4 New trigger
uk	# 4 Новий тригер

en-us	# 4 Proxy
uk	# 4 Проксі

en-us	# 4 Zabbix agent 2 plugin protocol  Zabbix agent 2 protocol is based on code, size and data model.
uk	# 4 Zabbix agent 2 plugin protocol  Zabbix agent 2 protocol is based on code, size and data model.

en-us	# 4 Zabbix agent 2 (UNIX)
uk	# 4 Zabbix агент 2 (UNIX)

en-us	# 5 Frontend maintenance mode
uk	# 5 Режим обслуговування інтерфейсу

en-us	# 5 Quickstart  Please use the sidebar to access content in the Quickstart section.
uk	# 5. Швидкий початок  Будь ласка, використовуйте бічну панель для доступу до вмісту в розділі швидкого початку.

en-us	# 5 Receiving problem notification
uk	# 5 Отримання повідомлення про проблему

en-us	# 6 Action log
uk	# 6 Журнал дій

en-us	# 6 New template
uk	# 6 Новий шаблон

en-us	# 6 Page parameters
uk	# 6 Параметри сторінки

en-us	# 6 Zabbix appliance
uk	# 6. Готове рішення Zabbix

en-us	# 8 Creating your own theme
uk	# 8 Створення власної теми

en-us	# 8 Upgrade procedure
uk	# 8 Процедура оновлення

en-us	# 9 Queue
uk	# 9 Черга

en-us	# 9 Zabbix web service
uk	# 9 Веб-сервіс Zabbix

en-us	# action.create
uk	# action.create

en-us	# action.delete
uk	# action.delete

en-us	# action.get
uk	# action.get

en-us	# Actions  Actions are responsible for 'business logic' of the module. An action usually consists of a [controller](#controller) and an [action view](views#action-view).   A module can:   - Call actions that are already defined in Zabbix frontend. - Override default actions with custom actions. - Define completely new actions.  To override a default action behavior with some custom behavior, define an action with the same name in the module configuration.  When the action is called, the module action will be executed instead of the default Zabbix action.   Action files should be stored in the *actions* folder. The actions need to be specified in the [manifest.json](manifest).
uk	# Actions  Дії відповідають за «бізнес-логіку» модуля. Зазвичай дія складається з [контролера](#controller) і [перегляду дії](views#action-view).  Модуль може:  - Викликати дії, які вже визначені у інтерфейсі Zabbix. - Замінювати дії за замовчуванням власними діями. - Визначати абсолютно нові дії.  Щоб замінити поведінку дій за замовчуванням на якусь настроювану поведінку, визначте дію з такою самою назвою в конфігурації модуля. Під час виклику дії буде виконано дію модуля замість типової дії Zabbix.  Файли дій повинні зберігатися в папці *actions*. Дії потрібно вказати в [manifest.json](маніфест).

en-us	 ### actions  Actions to register with the module. Defining *class* object key for each action is required, other action keys are optional.  *Type*: Object  Supported object keys if *[type](#type)* is *module*:  -   **write.your.action.name** (object) - action name, should be written in lowercase [a-z], separating words with dots.     Supports the keys:     - **class** (string; required) - action class name.     - **layout** (string) - action layout. Supported values: *layout.json*, *layout.htmlpage* (default), *null*.     - **view** (string) - action view.  *Example*:  ```json "actions": {     "module.example.list": {         "class": "ExampleList",         "view": "example.list",         "layout": "layout.htmlpage"         }     } ```  Supported object keys if *[type](#type)* is *widget*:  -   **widget.{id}.view** (object) - file and class name for widget view. Replace **{id}** with the widget's [id](#id) value (for example, *widget.example_clock.view*).     Supports the keys:     - **class** (string; required) - action class name for widget view mode to extend the default CControllerDashboardWidgetView class.       The class source file must be located in the *actions* directory.     - **view** (string) - widget view. Must be located in the *views* directory.       If the view file is *widget.view.php*, which is expected by default, this parameter maybe omitted.       If using a different name, specify it here. -   **widget.{id}.edit** (object) - file name for widget configuration view. Replace **{id}** with the widget's [id](#id) value (for example, *widget.example_clock.edit*).     Supports the keys:     - **class** (string; required) - action class name for widget configuration view mode. The class source file must be located in the *actions* directory.     - **view** (string) - widget configuration view. Must be located in the *views* directory.       If the view file is *widget.edit.php*, which is expected by default, this parameter maybe omitted.       If using a different name, specify it here.  *Example*:   ```json "actions": {     "widget.tophosts.view": {         "class": "WidgetView"     },     "widget.tophosts.column.edit": {         "class": "ColumnEdit",         "view": "column.edit",         "layout": "layout.json"     } } ```
uk	 ### actions  Дії для реєстрації в модулі. Необхідно визначити ключ об’єкта *class* для кожної дії, інші ключі дії необов’язкові.  *Тип*: Object  Підтримувані ключі об’єктів, якщо *[type](#type)* є *module*:  - **write.your.action.name** (object) - назва дії, має бути написано малими літерами [a-z], розділяючи слова крапками.     Підтримує ключі:     - **class** (string; required) - назва класу дії.     - **layout** (string) - розкладка дії. Підтримувані значення: *layout.json*, *layout.htmlpage* (за замовчуванням), *null*.     - **view** (string) - представлення дії.  *Приклад*:  ```json "actions": {     "module.example.list": {         "class": "ExampleList",         "view": "example.list",         "layout": "layout.htmlpage"         }     } ```  Підтримувані ключі об’єктів, якщо *[type](#type)* є *widget*:  - **widget.{id}.view** (object) - ім'я файлу та класу для представлення віджетів. Замініть **{id}** значенням [id](#id) віджета (наприклад, *widget.example_clock.view*).     Підтримує ключі:     - **class** (string; required) - ім'я класу дії для режиму перегляду віджетів для розширення стандартного класу CControllerDashboardWidgetView.       Вихідний файл класу має бути розташований у каталозі *actions*.     - **view** (string) - представлення віджета. Повинен знаходитися в каталозі *views*.       Якщо файл представлення *widget.view.php*, що очікується за замовчуванням, цей параметр може бути пропущений.       Якщо ви використовуєте інше ім’я, вкажіть його тут. - **widget.{id}.edit** (object) - ім'я файлу для представлення конфігурації віджета. Замініть **{id}** значенням [id](#id) віджета (наприклад, *widget.example_clock.edit*).     Підтримує ключі:     - **class** (string; required) - назва класу дії для режиму представлення конфігурації віджета. Вихідний файл класу має бути розташований у каталозі *actions*.     - **view** (string) - представлення конфігурації віджета. Повинен знаходитися в каталозі *views*.       Якщо файл представлення *widget.edit.php*, що очікується за замовчуванням, цей параметр може бути пропущений.       Якщо ви використовуєте інше ім’я, вкажіть його тут.  *Приклад*:  ```json "actions": {     "widget.tophosts.view": {         "class": "WidgetView"     },     "widget.tophosts.column.edit": {         "class": "ColumnEdit",         "view": "column.edit",         "layout": "layout.json"     } } ```

en-us	# action.update
uk	# action.update

en-us	 ### Action view  This is a reference file for defining an action view.  ````php <?php declare(strict_types = 1);  /** * @var CView $this */  $this->includeJsFile('example.something.view.js.php');  (new CWidget())     ->setTitle(_('Something view'))     ->addItem(new CDiv($data['name']))     ->addItem(new CPartial('module.example.something.reusable', [         'contacts' => $data['contacts']     ])     ->show(); ````
uk	### Action view  Це довідковий файл для створення Action view.  ````php <?php declare(strict_types = 1);  /** * @var CView $this */  $this->includeJsFile('example.something.view.js.php');  (new CWidget())     ->setTitle(_('Something view'))     ->addItem(new CDiv($data['name']))     ->addItem(new CPartial('module.example.something.reusable', [         'contacts' => $data['contacts']     ])     ->show(); ````

en-us	##### Add a blank module to Zabbix frontend  1. Create a directory *MyAddress* in the *modules* directory of your Zabbix frontend installation (for example, *zabbix/ui/modules*).  2. Create a *manifest.json* file with basic module metadata (see the description of supported [parameters](../file_structure/manifest)).  **ui/modules/MyAddress/manifest.json**  ```json {     "manifest_version": 2.0,     "id": "my-address",     "name": "My IP Address",     "version": "1.0",     "namespace": "MyAddress",     "description": "My External IP Address." } ```  3. In Zabbix frontend, go to *Administration → General → Modules* section and click on the *Scan directory* button.  ![](../../../../assets/en/devel/modules/tutorials/widget/scan_dir.png)  4. Locate the new module *My IP Address* in the list and click on the "Disabled" hyperlink to change the module's status from "Disabled" to "Enabled".  ![](../../../../assets/en/devel/modules/tutorials/module/module_register.png){width="600"}  The module is now registered in the frontend. However, it is not visible yet, because you still need to define the module functionality. Once you add content to the module directory, you will immediately see the changes in Zabbix frontend upon refreshing the page.
uk	##### Додайте порожній модуль до інтерфейсу Zabbix  1. Створіть каталог *MyAddress* у каталозі *modules* вашої інсталяції web-інтерфейсу Zabbix (наприклад, *zabbix/ui/modules*).  2. Створіть файл *manifest.json* із базовими метаданими модуля (перегляньте опис підтримуваних [параметрів](../file_structure/manifest)).  **ui/modules/MyAddress/manifest.json**  ```json {     "manifest_version": 2.0,     "id": "my-address",     "name": "My IP Address",     "version": "1.0",     "namespace": "MyAddress",     "description": "Моя зовнішня IP-адреса" } ```  3. У інтерфейсі Zabbix перейдіть до розділу *Адміністрування → Загальні → Модулі* та натисніть кнопку *Сканувати каталог*.  ![](../../../../assets/en/devel/modules/tutorials/widget/scan_dir.png)  4. Знайдіть у списку новий модуль *Моя IP-адреса* та натисніть гіперпосилання «Дезактивовано», щоб змінити статус модуля з «Дезактивовано» на «Активовано».  ![](../../../../assets/en/devel/modules/tutorials/module/module_register.png){width="600"}  Тепер модуль зареєстровано у фронтенді. Однак його ще не видно, тому що вам ще потрібно визначити функціональність модуля. Після того, як ви додасте контент до каталогу модулів, ви одразу побачите зміни у фронтенді Zabbix при оновленні сторінки.

en-us	### Add advanced configuration settings to a configuration view  In this section, you will learn how to add an expandable/collapsible *Advanced configuration* section with optional parameters, such as color, minimum and maximum values, units and the *Description* field created earlier.  1. Create a *Widget.php* file in the main widget directory *lesson_gauge_chart* to create a new class *Widget*.  The *Widget* class will extend the *CWidget* base class to add/override the default widget settings (in this case - translations). JavaScript, provided below, displays the string "No data" in case of missing data. The "No data" string is present in the Zabbix UI translation files.  If there are any widget constants, it is recommended to also specify them in the *Widget* class.  **ui/modules/lesson_gauge_chart/Widget.php**  ```php <?php  namespace Modules\LessonGaugeChart;  use Zabbix\Core\CWidget;  class Widget extends CWidget {      public const UNIT_AUTO = 0;     public const UNIT_STATIC = 1;      public function getTranslationStrings(): array {         return [             'class.widget.js' => [                 'No data' => _('No data')             ]         ];     } } ```  2. Open *includes/WidgetForm.php* and add the new fields *Color* (color picker), *Min* (numeric field), *Max* (numeric field), and *Units* (select), and define the default color palette for the color picker, so that it can be used in the next steps.  **ui/modules/lesson_gauge_chart/includes/WidgetForm.php**  ```php <?php  namespace Modules\LessonGaugeChart\Includes;  use Modules\LessonGaugeChart\Widget;  use Zabbix\Widgets\{     CWidgetField,     CWidgetForm };  use Zabbix\Widgets\Fields\{     CWidgetFieldColor,     CWidgetFieldMultiSelectItem,     CWidgetFieldNumericBox,     CWidgetFieldSelect,     CWidgetFieldTextBox };  /**  * Gauge chart widget form.  */ class WidgetForm extends CWidgetForm {      public const DEFAULT_COLOR_PALETTE = [         'FF465C', 'B0AF07', '0EC9AC', '524BBC', 'ED1248', 'D1E754', '2AB5FF', '385CC7', 'EC1594', 'BAE37D',         '6AC8FF', 'EE2B29', '3CA20D', '6F4BBC', '00A1FF', 'F3601B', '1CAE59', '45CFDB', '894BBC', '6D6D6D'     ];      public function addFields(): self {         return $this             ->addField(                 (new CWidgetFieldMultiSelectItem('itemid', _('Item')))                     ->setFlags(CWidgetField::FLAG_NOT_EMPTY | CWidgetField::FLAG_LABEL_ASTERISK)                     ->setMultiple(false)             )             ->addField(                 (new CWidgetFieldColor('chart_color', _('Color')))->setDefault('FF0000')             )             ->addField(                 (new CWidgetFieldNumericBox('value_min', _('Min')))                     ->setDefault(0)                     ->setFlags(CWidgetField::FLAG_NOT_EMPTY | CWidgetField::FLAG_LABEL_ASTERISK)             )             ->addField(                 (new CWidgetFieldNumericBox('value_max', _('Max')))                     ->setDefault(100)                     ->setFlags(CWidgetField::FLAG_NOT_EMPTY | CWidgetField::FLAG_LABEL_ASTERISK)             )             ->addField(                 (new CWidgetFieldSelect('value_units', _('Units'), [                     Widget::UNIT_AUTO => _x('Auto', 'history source selection method'),                     Widget::UNIT_STATIC => _x('Static', 'history source selection method')                 ]))->setDefault(Widget::UNIT_AUTO)             )             ->addField(                 (new CWidgetFieldTextBox('value_static_units'))             )             ->addField(                 new CWidgetFieldTextBox('description', _('Description'))             );     } } ```  3. Open *views/widget.edit.php* and add the field visual components to the configuration view.  **ui/modules/lesson_gauge_chart/views/widget.edit.php**  ```php <?php  /**  * Gauge chart widget form view.  *  * @var CView $this  * @var array $data  */  $lefty_units = new CWidgetFieldSelectView($data['fields']['value_units']); $lefty_static_units = (new CWidgetFieldTextBoxView($data['fields']['value_static_units']))     ->setPlaceholder(_('value'))     ->setWidth(ZBX_TEXTAREA_TINY_WIDTH);  (new CWidgetFormView($data))     ->addField(         (new CWidgetFieldMultiSelectItemView($data['fields']['itemid']))             ->setPopupParameter('numeric', true)     )     ->addFieldset(         (new CWidgetFormFieldsetCollapsibleView(_('Advanced configuration')))             ->addField(                 new CWidgetFieldColorView($data['fields']['chart_color'])             )             ->addField(                 new CWidgetFieldNumericBoxView($data['fields']['value_min'])             )             ->addField(                 new CWidgetFieldNumericBoxView($data['fields']['value_max'])             )             ->addItem([                 $lefty_units->getLabel(),                 (new CFormField([                     $lefty_units->getView()->addClass(ZBX_STYLE_FORM_INPUT_MARGIN),                     $lefty_static_units->getView()                 ]))             ])             ->addField(                 new CWidgetFieldTextBoxView($data['fields']['description'])             )     )     ->show(); ```  ::: noteclassic The *addField()* method of the *CWidgetFormView* class takes a CSS class string as the second parameter. :::  4. Return to the dashboard, switch to the edit mode and click on the gear icon in the widget to open the widget configuration form. The widget configuration form now contains a new expandable/collapsible section *Advanced configuration*.  ![](../../../../assets/en/devel/modules/tutorials/widget/widget_conf_advanced.png){width="600"}  5. Expand the *Advanced configuration* section to see additional widget configuration fields. Note that the field *Color* has no color picker yet. This is because the color picker must be initialized with JavaScript, which will be added in the next section - [*Add JavaScript to the widget*](#add-javascript-to-the-widget).  ![](../../../../assets/en/devel/modules/tutorials/widget/widget_conf_advanced_a.png){width="600"}
uk	### Додайте розширені параметри конфігурації до перегляду конфігурації  У цьому розділі ви дізнаєтеся, як додати розширюваний/згортаний розділ *Розширена конфігурація* з необов’язковими параметрами, такими як колір, мінімальні та максимальні значення, одиниці вимірювання та поле *Опис*, що створене раніше.  1. Створіть файл *Widget.php* у головному каталозі віджетів *lesson_gauge_chart*, щоб створити новий клас *Widget*.  Клас *Widget* розширить базовий клас *CWidget*, щоб додати/замінити параметри віджета за замовчуванням (у цьому випадку - переклади). JavaScript, наведений нижче, відображає рядок «Немає даних» у разі відсутності даних. Рядок «Немає даних» присутній у файлах перекладу інтерфейсу Zabbix.  Якщо є будь-які константи віджетів, рекомендується також вказати їх у класі *Widget*.  **ui/modules/lesson_gauge_chart/Widget.php**  ```php <?phpnamespace Modules\LessonGaugeChart;use Zabbix\Core\CWidget;class Widget extends CWidget {public const UNIT_AUTO = 0;public const UNIT_STATIC = 1;public function getTranslationStrings(): array {return ['class.widget.js' => ['No data' => _('No data')]];}}```  2. Відкрийте *includes/WidgetForm.php* і додайте нові поля *Color* (вибір кольору), *Min* (числове поле), *Max* (числове поле) і *Units* (вибір), а також визначте палітру кольорів за замовчуванням для засобу вибору кольорів, щоб її можна було використовувати на наступних кроках.  **ui/modules/lesson_gauge_chart/includes/WidgetForm.php**  ```php <?php  простір імен Modules\LessonGaugeChart\Includes;  використовувати Modules\LessonGaugeChart\Widget;  використовувати Zabbix\Widgets\{     CWidgetField,     CWidgetForm };  використовувати Zabbix\Widgets\Fields\{     CWidgetFieldColor,     CWidgetFieldMultiSelectItem,     CWidgetFieldNumericBox,     CWidgetFieldSelect,     CWidgetFieldTextBox };  /**  * Форма віджета вимірювальної діаграми.  */ class WidgetForm extends CWidgetForm {      public const DEFAULT_COLOR_PALETTE = [         'FF465C', 'B0AF07', '0EC9AC', '524BBC', 'ED1248', 'D1E754', '2AB5FF', '385CC7', 'EC1594', 'BAE37D',         '6AC8FF', 'EE2B29', '3CA20D', '6F4BBC', '00A1FF', 'F3601B', '1CAE59', '45CFDB', '894BBC', '6D6D6D'     ];      публічна функція addFields(): self {         повернути $це             ->addField(                 (новий CWidgetFieldMultiSelectItem('itemid', _('Item')))                     ->setFlags(CWidgetField::FLAG_NOT_EMPTY | CWidgetField::FLAG_LABEL_ASTERISK)                     ->setMultiple(false)             )             ->addField(                 (новий CWidgetFieldColor('chart_color', _('Color')))->setDefault('FF0000')             )             ->addField(                 (новий CWidgetFieldNumericBox('value_min', _('Min')))                     ->setDefault(0)                     ->setFlags(CWidgetField::FLAG_NOT_EMPTY | CWidgetField::FLAG_LABEL_ASTERISK)             )             ->addField(                 (новий CWidgetFieldNumericBox('value_max', _('Max')))                     ->setDefault(100)                     ->setFlags(CWidgetField::FLAG_NOT_EMPTY | CWidgetField::FLAG_LABEL_ASTERISK)             )             ->addField(                 (новий CWidgetFieldSelect('value_units', _('Units'), [                     Віджет::UNIT_AUTO => _x('Авто', 'метод вибору джерела історії'),                     Віджет::UNIT_STATIC => _x('Статичний', 'метод вибору джерела історії')                 ]))->setDefault(Widget::UNIT_AUTO)             )             ->addField(                 (новий CWidgetFieldTextBox('value_static_units'))             )             ->addField(                 новий CWidgetFieldTextBox('опис', _('Опис'))             );     } } ```  3. Відкрийте *views/widget.edit.php* і додайте візуальні компоненти поля до перегляду конфігурації.  **ui/modules/lesson_gauge_chart/views/widget.edit.php**  ```php <?php  /**  * Перегляд форми віджета вимірювальної діаграми.  *  * @var CПереглянути $це  * @var масив $data  */  $lefty_units = новий CWidgetFieldSelectView($data['fields']['value_units']); $lefty_static_units = (новий CWidgetFieldTextBoxView($data['fields']['value_static_units']))     ->setPlaceholder(_('value'))     ->setWidth(ZBX_TEXTAREA_TINY_WIDTH);  (новий CWidgetFormView($data))     ->addField(         (новий CWidgetFieldMultiSelectItemView($data['fields']['itemid']))             ->setPopupParameter('numeric', true)     )     ->addFieldset(         (новий CWidgetFormFieldsetCollapsibleView(_('Advanced configuration')))             ->addField(                 новий CWidgetFieldColorView($data['fields']['chart_color'])             )             ->addField(                 новий CWidgetFieldNumericBoxView($data['fields']['value_min'])             )             ->addField(                 новий CWidgetFieldNumericBoxView($data['fields']['value_max'])             )             ->addItem([                 $lefty_units->getLabel(),                 (новий CFormField([                     $lefty_units->getView()->addClass(ZBX_STYLE_FORM_INPUT_MARGIN),                     $lefty_static_units->getView()                 ]))             ])             ->addField(                 новий CWidgetFieldTextBoxView($data['fields']['description'])             )     )     ->показати(); ```  ::: noteclassic Метод *addField()* класу *CWidgetFormView* приймає рядок класу CSS як другий параметр. :::  4. Поверніться на інформаційну панель, перейдіть у режим редагування та клацніть значок шестірні у віджеті, щоб відкрити форму налаштування віджета. Форма конфігурації віджета тепер містить новий розділ, який можна розширювати/згортати *Розширена конфігурація*.  ![](../../../../assets/en/devel/modules/tutorials/widget/widget_conf_advanced.png){width="600"}  5. Розгорніть розділ *Додаткова конфігурація*, щоб побачити додаткові поля конфігурації віджетів. Зауважте, що поле *Колір* ще не має вибору кольору. Це пояснюється тим, що засіб вибору кольорів має бути ініціалізовано за допомогою JavaScript, який буде додано в наступному розділі – [*Додати JavaScript до віджета*](#add-javascript-to-the-widget).  ![](../../../../assets/en/devel/modules/tutorials/widget/widget_conf_advanced_a.png){width="600"}

en-us	### Add a widget view  :::noteclassic The widget's **view** file should be located in the *views* directory (for this tutorial, *ui/modules/lesson_gauge_chart/views/*). If the file has the default name *widget.view.php*, you do not need to register it in the *manifest.json* file. If the file has a different name, specify it in the *actions/widget.lesson_gauge_chart.view* section of the [manifest.json](devel/modules/file_structure/manifest) file. :::  1. Create a directory *views* in the *lesson_gauge_chart* directory.  2. Create a *widget.view.php* file in the *views* directory.  **ui/modules/lesson_gauge_chart/views/widget.view.php**  ```php <?php  /**  * Gauge chart widget view.  *  * @var CView $this  * @var array $data  */  (new CWidgetView($data))     ->addItem(         new CTag('h1', true, 'Hello, world!')     )     ->show(); ```  3. Refresh the dashboard. The *Gauge chart* widget now displays "Hello, world!".  ![](../../../../assets/en/devel/modules/tutorials/widget/widget_hello_world.png){width="600"}
uk	### Додавання view віджету  :::noteclassic Файл **view** віджета має бути розташований у каталозі *views* (для цієї інструкції  *ui/modules/lesson_gauge_chart/views/*). Якщо файл має назву за замовчуванням *widget.view.php*, вам не потрібно реєструвати його у файлі *manifest.json*. Якщо файл має іншу назву, укажіть її в розділі *actions/widget.lesson_gauge_chart.view* файлу [manifest.json](devel/modules/file_structure/manifest). :::  1. Створіть каталог *views* у каталозі *lesson_gauge_chart*.  2. Створіть файл *widget.view.php* у каталозі *views*.  **ui/modules/lesson_gauge_chart/views/widget.view.php**  ```php <?php  /**  * View віджета Gauge chart.  * * @var CView $this  * @var array $data  */  (new CWidgetView($data))     ->additem(         new CTag('h1', true, 'Hello, world!')     )     ->show(); ```  3. Оновіть інформаційну панель. Віджет *Gauge chart* тепер відображає «Hello, world!».  ![](../../../../assets/en/devel/modules/tutorials/widget/widget_hello_world.png){width="600"}

en-us	## Adding a module  Open *Administration→General→Modules* page and press *Scan directory*.  ![](../../../../assets/en/devel/modules/tutorials/widget/scan_dir.png)  Locate your module in the list and activate it.  To activate a module, press on the *Disabled* hyperlink - the module's state will change to *Enabled*.  Press on the module name to view additional information about the module, such as author, version, or short description (if defined in the manifest).
uk	## Додавання модуля  Відкрийте сторінку *Адміністрування→Загальні→Модулі* і натисніть *Сканувати дерикторію*.  ![](../../../../assets/en/devel/modules/tutorials/widget/scan_dir.png)  Знайдіть свій модуль у списку та активуйте його.  Щоб активувати модуль, натисніть на гіперпосилання *Дезактивовано* - стан модуля зміниться на *Активовно*.  Натисніть назву модуля, щоб переглянути додаткову інформацію про модуль, наприклад автора, версію або короткий опис (якщо визначено в маніфесті).

en-us	#### Adding host  Information about configured hosts in Zabbix is available in *Data collection → Hosts* and *Monitoring* → *Hosts*. There is already one pre-defined host, called "Zabbix server", but we want to learn adding another.  To add a new host, click on *Create host*. This will present us with a host configuration form.\ ![](../../../assets/en/manual/quickstart/new_host.png)  All mandatory input fields are marked with a red asterisk.  The bare minimum to enter here is:  ***Host name***  -   Enter a host name. Alphanumerics, spaces, dots, dashes and     underscores are allowed.  ***Host groups***  -   Select one or several existing groups by clicking *Select* button or     enter a non-existing group name to create a new group.  ::: noteclassic All access permissions are assigned to host groups, not individual hosts. That is why a host must belong to at least one group. :::  ***Interfaces: IP address***  -   Although not a required field technically, a host interface is necessary for collecting certain metrics. To use Zabbix agent passive checks, specify the agent's IP or DNS in this field. Note that you should also specify Zabbix server's IP or DNS in the Zabbix agent configuration file 'Server' directive. If Zabbix agent and Zabbix server are installed on the same machine, you need to specify the same IP/DNS in both places.  [Other options](/manual/config/hosts/host#configuration) will suit us with their defaults for now.  When done, click *Add*. Your new host should be visible in the host list.  ![](../../../assets/en/manual/quickstart/host_list.png){width="600"}  The Availability column contains indicators of host availability per each interface. We have defined a Zabbix agent interface, so we can use the agent availability icon (with 'ZBX' on it) to understand host availability:  -   ![icon\_zbx\_gray.png](../../../assets/en/manual/quickstart/icon_zbx_gray.png) -     host status has not been established; no metric check has happened     yet -   ![icon\_zbx\_green.png](../../../assets/en/manual/quickstart/icon_zbx_green.png) -     host is available, a metric check has been successful -   ![icon\_zbx\_red.png](../../../assets/en/manual/quickstart/icon_zbx_red.png) -     host is unavailable, a metric check has failed (move your mouse     cursor over the icon to see the error message). There might be some     error with communication, possibly caused by incorrect interface     credentials. Check that Zabbix server is running, and try refreshing     the page later as well.
uk	#### Додавання вузла мережі  Інформація про налаштовані вузли мережі в Zabbix доступна в *Збір даних → Вузли мережі* та *Моніторинг* → *Вузли мережі*. Уже існує один попередньо визначений вузол мережі під назвою "Zabbix server", але ми хочемо навчитися додавати інший.  Щоб додати новий вузол мережі, натисніть *Створити вузол мережі*. Це надасть нам форму конфігурації вузла мережі.\ ![](../../../assets/en/manual/quickstart/new_host.png)  Усі обов’язкові поля для введення позначені червоною зірочкою.  Мінімальний набір для введення сюди такий:  ***Ім'я вузла мережі***  -   Введіть ім'я вузла мережі. Допускаються буквено-цифрові символи, пробіли, крапки, тире та підкреслення.  ***Групи вузлів мережі***  -   Виберіть одну або кілька існуючих груп, натиснувши кнопку *Вибрати*, чи введіть неіснуючу назву групи, щоб створити нову групу.  ::: noteclassic Усі права доступу призначені групам вузлів мережі, а не окремим вузлам мережі. Тому вузол мережі повинен належати хоча б до однієї групи. :::  ***Інтерфейси: IP-адреса***  -   Технічно поле не є обов’язковим, але для збору певних показників необхідний інтерфейс вузла мережі. Щоб використовувати пасивні перевірки агента Zabbix, вкажіть у цьому полі IP або DNS агента. Зауважте, що ви також повинні вказати IP або DNS сервера Zabbix у директиві 'Server' файлу налаштування агента Zabbix. Якщо агент Zabbix і сервер Zabbix встановлено на одній машині, вам потрібно вказати однакові IP/DNS в обох місцях.  [Інші параметри](/manual/config/hosts/host#configuration) наразі підійдуть нам із стандартними значеннями.  Після завершення натисніть *Додати*. Ваш новий вузол мережі має бути видимим у списку вузлів мережі.  ![](../../../assets/en/manual/quickstart/host_list.png){width="600"}  Стовпець "Доступність" містить індикатори доступності вузла мережі для кожного інтерфейсу. Ми визначили інтерфейс агента Zabbix, тому ми можемо використовувати піктограму доступності агента (з 'ZBX' на ньому), щоб зрозуміти доступність вузла мережі:  -   ![icon\_zbx\_gray.png](../../../assets/en/manual/quickstart/icon_zbx_gray.png) - статус вузла мережі не встановлено; жодної перевірки показників ще не було -   ![icon\_zbx\_green.png](../../../assets/en/manual/quickstart/icon_zbx_green.png) - вузол мережі доступний, перевірка показників пройшла успішно -   ![icon\_zbx\_red.png](../../../assets/en/manual/quickstart/icon_zbx_red.png) - вузол мережі недоступний, перевірка показників не вдалася (наведіть курсор миші на піктограму, щоб побачити повідомлення про помилку). Можливо, виникла якась помилка під час зв’язку, спричинена неправильними обліковими даними інтерфейсу. Перевірте, чи працює сервер Zabbix, і спробуйте оновити сторінку пізніше.

en-us	#### Adding item to template  To add an item to the template, go to the item list for 'New host'. In *Data collection → Hosts* click on *Items* next to 'New host'.  Then:  -   Mark the checkbox of the 'CPU Load' item in the list. -   Click on *Copy* below the list. -   Select the template to copy the item to.  ![](../../../assets/en/manual/quickstart/copy_to_template.png){width="600"}  All mandatory input fields are marked with a red asterisk.  -   Click on *Copy*.  If you now go to *Data collection* → *Templates*, 'New template' should have one new item in it.  We will stop at one item only for now, but similarly you can add any other items, triggers or other entities to the template until it's a fairly complete set of entities for given purpose (monitoring OS, monitoring single application).
uk	#### Додавання елемента даних до шаблону  Щоб додати елемент даних до шаблону, перейдіть до списку елементів для 'New host'. У *Збір даних → Хости* натисніть *Елементи* біля пункту 'New host'.  Потім:  -   Поставте прапорець біля елементу даних 'CPU Load' у списку. -   Натисніть *Копіювати* під списком. -   Виберіть шаблон, до якого потрібно скопіювати елемент.  ![](../../../assets/en/manual/quickstart/copy_to_template.png){width="600"}  Усі обов’язкові поля для введення позначені червоною зірочкою.  - Натисніть *Копіювати*.  Якщо ви зараз перейдете до *Збір даних* → *Шаблони*, у 'New template' має бути один новий елемент даних.  Наразі ми зупинимося лише на одному елементі даних, але так само ви можете додати будь-які інші елементи даних, тригери чи інші сутності до шаблону, доки це не буде досить повний набір сутностей для певної мети (моніторинг ОС, моніторинг окремої програми).

en-us	#### Adding template  To start working with templates, we must first create one. To do that, in *Data collection* → *Templates* click on *Create template*. This will present us with a template configuration form.  ![](../../../assets/en/manual/quickstart/new_template.png){width="600"}  All mandatory input fields are marked with a red asterisk.  The required parameters to enter here are:  ***Template name***  -   Enter a template name. Alpha-numericals, spaces and underscores are     allowed.  ***Template groups***  -   Select one or several groups by clicking *Select* button. The     template must belong to a group.  ::: noteclassic Access permissions to template groups are assigned in the [user group](/manual/quickstart/login#adding-permissions) configuration on the **Template permissions** tab in the same way as host permissions. All access permissions are assigned to groups, not individual templates, that's why including the template into at least one group is mandatory.  :::   When done, click *Add*. Your new template should be visible in the list of templates. You can also use the [filter](/manual/web_interface/frontend_sections/data_collection/templates#using-filter) to find your template.  ![](../../../assets/en/manual/quickstart/template_list.png){width="600"}  As you may see, the template is there, but it holds nothing in it - no items, triggers or other entities.
uk	#### Додавання шаблону  Щоб почати працювати з шаблонами, ми повинні спочатку його створити. Для цього в *Збір даних* → *Шаблони* натисніть *Створити шаблон*. Це надасть нам форму конфігурації шаблону.  ![](../../../assets/en/manual/quickstart/new_template.png){width="600"}  Усі обов’язкові поля для введення позначені червоною зірочкою.  Тут потрібно ввести наступні параметри:  ***Назва шаблону***  -   Введіть назву шаблону. Допускаються буквено-цифрові символи, пробіли та підкреслення.  ***Групи шаблонів***  -   Виберіть одну або кілька груп, натиснувши кнопку *Вибрати*. Шаблон має належати до групи.  ::: noteclassic Права доступу до груп шаблонів призначаються в налаштуванні[групи користувачів](/manual/quickstart/login#adding-permissions) на вкладці **Дозволи шаблону** так само, як дозволи вузла мережі. Усі права доступу призначаються групам, а не окремим шаблонам, тому включення шаблону принаймні до однієї групи є обов’язковим. :::   Після завершення натисніть *Додати*. Ваш новий шаблон має бути видимим у списку шаблонів. Ви також можете скористатися [фільтром](/manual/web_interface/frontend_sections/data_collection/templates#using-filter), щоб знайти свій шаблон.  ![](../../../assets/en/manual/quickstart/template_list.png){width="600"}  Як ви можете бачити, шаблон відображається, але він не містить нічого - жодних елементів даних, тригерів чи інших сутностей.

en-us	##### Agent configuration  HA cluster nodes (servers) must be listed in the configuration of  Zabbix agent or Zabbix agent 2.  ![](../../../../assets/en/manual/config/zabbix_ha_agent.png)  To enable passive checks, the node names must be listed in the Server [parameter](/manual/appendix/config/zabbix_agentd), separated by a **comma**.  ``` Server=zabbix-node-01,zabbix-node-02 ```  To enable active checks, the node names must be listed in the ServerActive [parameter](/manual/appendix/config/zabbix_agentd). Note that for  active checks the nodes must be separated by a comma from any other  servers, while the nodes themselves must be separated by a **semicolon**, e.g.:  ``` ServerActive=zabbix-node-01;zabbix-node-02 ```
uk	##### Конфігурація агента  Вузли (сервери) HA кластера мають бути вказані в конфігурації Zabbix агента або Zabbix агента 2.  ![](../../../../assets/en/manual/config/zabbix_ha_agent.png)  Щоб увімкнути пасивні перевірки, імена вузлів мають бути вказані в [параметрі](/manual/appendix/config/zabbix_agentd) Server і розділені **комою**.  ``` Server=zabbix-node-01,zabbix-node-02 ```  Щоб увімкнути активні перевірки, імена вузлів мають бути вказані в [параметрі](/manual/appendix/config/zabbix_agentd) ServerActive. Зверніть увагу, що для активних перевірок, вузли одного кластеру повинні бути відокремлені від інших Zabbix серверів комою, а самі вузли повинні бути розділені **крапкою з комою**, наприклад:  ``` ServerActive=zabbix-node-01;zabbix-node-02 ```

en-us	# alert.get
uk	# alert.get

en-us	# apiinfo.version
uk	# apiinfo.version

en-us	### API versions  To simplify API versioning, since Zabbix 2.0.4, the version of the API matches the version of Zabbix itself. You can use the [apiinfo.version](/manual/api/reference/apiinfo/version) method to find out the version of the API you are working with. This can be useful for adjusting your application to use version-specific features.  Zabbix guarantees feature backward compatibility inside a major version. When making backward incompatible changes between major releases, Zabbix usually leaves the old features as deprecated in the next release, and only removes them in the release after that. Occasionally, Zabbix may remove features between major releases without providing any backward compatibility. It is important that you never rely on any deprecated features and migrate to newer alternatives as soon as possible.  ::: notetip You can follow all the changes made to the API in the [API changelog](/manual/api/changes). :::
uk	### версії API  Для спрощення керування версіями API, починаючи з Zabbix 2.0.4, версія API відповідає версії самого Zabbix. Ви можете використовувати [apiinfo.version](/manual/api/reference/apiinfo/version) метод пошуку версії API, з якою ви працюєте. Це може бути корисно для налаштування  вашого додатка на використання специфічних для певної версії функцій.  Zabbix гарантує зворотну сумісність функцій всередині мажорної версії.  При внесенні зворотно несумісних змін між мажорними випусками,  Zabbix зазвичай залишає старі функції застарілими(deprecated) в наступному випуску, і видаляє їх лише   у подальших випусках. Іноді Zabbix може видаляти можливості між мажорними випусками  без забезпечення зворотної сумісності. Важливо, щоб ви ніколи не покладалися на  застарілі функції і переходили на новіші альтернативи якомога швидше.  ::: notetip Ви можете стежити за всіма змінами, внесеними до API, у [Журналі змін API](/manual/api/changes). :::

en-us	# Appendix 1. Reference commentary
uk	№ Додаток 1. Опорний коментар

en-us	 ### assets/css  *assets/css* is reserved and should only contain CSS style files. To be used by the widget, specify these files in the *[manifest.json](/devel/modules/file_structure/manifest)*.  For example:  ```json "assets": {     "css": ["mywidget.css"] } ```
uk	 ### assets/css  *assets/css* зарезервований і має містити лише файли стилю CSS. Щоб використовувати його віджетом, укажіть ці файли в *[manifest.json](/devel/modules/file_structure/manifest)*.  Наприклад:  ```json "assets": {     "css": ["mywidget.css"] } ```

en-us	 ### assets  CSS styles and JavaScript files to include.  *Type*: Object  *Supported object keys:*  -   **css** (array) - CSS files to include. The files must be located in the *assets/css*. -   **js** (array) - JavaScript files to include. The files must be located in the *assets/js*.  *Example*:   ```json "assets": {     "css": ["widget.css"],     "js": ["class.widget.js"] } ```
uk	 ### assets  Стилі CSS і файли JavaScript для включення.  *Тип*: Object  *Підтримувані ключі об’єктів:*  - **css** (array) - файли CSS для включення. Файли мають бути розташовані в *assets/css*. - **js** (array) - файли JavaScript для включення. Файли мають бути розташовані в *assets/js*.  *Приклад*:  ```json "assets": {     "css": ["widget.css"],     "js": ["class.widget.js"] } ```

en-us	 ### assets/js  *assets/js* directory is reserved and should only contain JavaScript files. To be used by the widget, specify these files in the *[manifest.json](/devel/modules/file_structure/manifest)*.  For example:  ```json "assets": {     "js": ["class.widget.js"] } ```
uk	 ### assets/js  Каталог *assets/js* зарезервований і має містити лише файли JavaScript. Щоб використовувати його віджетом, укажіть ці файли в *[manifest.json](/devel/modules/file_structure/manifest)*.  Наприклад:  ```json "assets": {     "js": ["class.widget.js"] } ```

en-us	 # Assets  The folder *assets* may contain any files and subfolders that do not belong to other directories. You can use it for:  - JavaScript styles (must be inside *[assets/js](#assetsjs)*); - CSS styles (must be inside *[assets/css](#assetscss)*); - Images; - Fonts; - Anything else you need to include.
uk	 # Assets  Папка *assets* може містити будь-які файли та підпапки, які не належать до інших каталогів. Ви можете використовувати її для:  - Стилі JavaScript (має бути всередині *[assets/js](#assetsjs)*); - Стилі CSS (має бути в *[assets/css](#assetscss)*); - Зображення; - Шрифти; - Усе, що вам потрібно додати.

en-us	# auditlog.get
uk	# auditlog.get

en-us	# authentication.get
uk	# authentication.get

en-us	#### Authentication  To access any data in Zabbix, you need to either:  -   use an existing [API token](/manual/web_interface/frontend_sections/users/api_tokens) (created in Zabbix frontend or using the [Token API](/manual/api/reference/token)); -   use an authentication token obtained with the [user.login](/manual/api/reference/user/login) method.  For example, if you wanted to obtain a new authentication token by logging in as a standard *Admin* user, then a JSON request would look like this:  ```bash curl --request POST \   --url 'https://example.com/zabbix/api_jsonrpc.php' \   --header 'Content-Type: application/json-rpc' \   --data '{"jsonrpc":"2.0","method":"user.login","params":{"username":"Admin","password":"zabbix"},"id":1}' ```  If you provided the credentials correctly, the response returned by the API should contain the user authentication token:  ```json {     "jsonrpc": "2.0",     "result": "0424bd59b807674191e7d77572075f33",     "id": 1 } ```
uk	#### Автентифікація  Щоб отримати доступ до будь-яких даних у Zabbix, вам потрібно:  - використовувати існуючий [API-токен](/manual/web_interface/frontend_sections/users/api_tokens) (створений у інтерфейсі Zabbix або за допомогою [Token API](/manual/api/reference/token)); - використовувати токен автентифікації, отриманий методом [user.login](/manual/api/reference/user/login).  Наприклад, якщо ви хочете отримати новий токен автентифікації, увійшовши як стандартний користувач *Admin*, то JSON-запит буде виглядати наступним чином:  ```bash curl --request POST \   --url 'https://example.com/zabbix/api_jsonrpc.php' \   --header 'Content-Type: application/json-rpc' \   --data '{"jsonrpc":"2.0","method":"user.login","params":{"username":"Admin","password":"zabbix"},"id":1}' ```  Якщо ви правильно вказали облікові дані, відповідь, повернута API, повинна містити токен автентифікації користувача:  ```json {     "jsonrpc": "2.0",     "result": "0424bd59b807674191e7d77572075f33",     "id": 1 } ```

en-us	# authentication.update
uk	# authentication.update

en-us	## AUTHOR  Alexei Vladishev <<alex@zabbix.com>>  ------------------------------------------------------------------------  [ ]{#index}
uk	## АВТОР  Олексій Владишев <<alex@zabbix.com>>  -------------------------------------------------- ----------------------  [ ]{#index}

en-us	## AUTHOR  Alexei Vladishev <<alex@zabbix.com>>  ------------------------------------------------------------------------  [ ]{#index}
uk	## АВТОР  Олексій Владишев <<alex@zabbix.com>>  -------------------------------------------------- ----------------------  [ ]{#index}

en-us	## AUTHOR  Alexei Vladishev <<alex@zabbix.com>>  ------------------------------------------------------------------------  [ ]{#index}
uk	## АВТОР  Олексій Владишев <<alex@zabbix.com>>  -------------------------------------------------- ----------------------  [ ]{#index}

en-us	## AUTHOR  Alexei Vladishev <<alex@zabbix.com>>  ------------------------------------------------------------------------  [ ]{#index}
uk	## АВТОР  Олексій Владишев <<alex@zabbix.com>>  -------------------------------------------------- ----------------------  [ ]{#index}

en-us	## AUTHOR  Alexei Vladishev <<alex@zabbix.com>>  ------------------------------------------------------------------------  [ ]{#index}
uk	## АВТОР  Олексій Владишев <<alex@zabbix.com>>  -------------------------------------------------- ----------------------  [ ]{#index}

en-us	#### Authorization methods
uk	#### Методи авторизації

en-us	 ### author  Module author. The author will be displayed in the Administration section.  *Type*: String  *Example*:   ```json "author": "John Smith" ```
uk	 ### author  Автор модуля. Автор буде відображатися в розділі Адміністрування.  *Тип*: String  *Приклад*:  ```json "author": "Лесь Подерв'янський" ```

en-us	## AUTHOR  Zabbix LLC  ------------------------------------------------------------------------  [ ]{#index}
uk	## АВТОР  ТОВ Zabbix  -------------------------------------------------- ----------------------  [ ]{#index}

en-us	## AUTHOR  Zabbix LLC  ------------------------------------------------------------------------  [ ]{#index}
uk	## АВТОР  ТОВ Zabbix  -------------------------------------------------- ----------------------  [ ]{#index}

en-us	# autoregistration.get
uk	# autoregistration.get

en-us	# autoregistration.update
uk	# autoregistration.update

en-us	## Backward incompatible changes
uk	## Зворотно несумісні зміни

en-us	##### By "Authorization" header  All API requests require an authentication or an API token. You can provide the credentials by using the "Authorization" request header:  ```bash curl --request POST \   --url 'https://example.com/zabbix/api_jsonrpc.php' \   --header 'Authorization: Bearer 0424bd59b807674191e7d77572075f33' ```
uk	##### За заголовком "Authorization" .  Усі запити до API вимагають автентифікації або токену API. Ви можете надати облікові дані, використовуючи заголовок запиту "Authorization":  ```bash curl --request POST \   --url 'https://example.com/zabbix/api_jsonrpc.php' \   --header 'Authorization: Bearer 0424bd59b807674191e7d77572075f33' ```

en-us	##### By "auth" property  An API request can be authorized by the "auth" property.  ::: noteimportant Note that the "auth" property is deprecated. It will be removed in the future releases. :::  ```bash curl --request POST \   --url 'https://example.com/zabbix/api_jsonrpc.php' \   --header 'Content-Type: application/json-rpc' \   --data '{"jsonrpc":"2.0","method":"host.get","params":{"output":["hostid"]},"auth":"0424bd59b807674191e7d77572075f33","id":1}' ```
uk	##### За властивістю "auth".  Запит API може бути авторизований за допомогою властивості "auth".  ::: noteimportant Зауважте, що властивість "auth" застаріла. Її буде видалено в наступних релізах. :::  ```bash curl --request POST \   --url 'https://example.com/zabbix/api_jsonrpc.php' \   --header 'Content-Type: application/json-rpc' \   --data '{"jsonrpc":"2.0","method":"host.get","params":{"output":["hostid"]},"auth":"0424bd59b807674191e7d77572075f33","id":1}' ```

en-us	##### By Zabbix cookie  A *"zbx_session"* cookie is used to authorize an API request from Zabbix UI performed using JavaScript (from a module or a custom widget).
uk	##### Файл cookie Zabbix  Файл cookie *"zbx_session "* використовується для авторизації API-запиту з інтерфейсу Zabbix, що виконується за допомогою JavaScript (з модуля або кастомного віджета).

en-us	#### Calculation time  A trigger is recalculated every time Zabbix server receives a new value that is part of the expression. When a new value is received, each function that is included in the expression is recalculated (not just the one that received the new value).  Additionally, a trigger is recalculated each time when a new value is received **and** every 30 seconds if time-based functions are used in the expression.  Time-based functions are **nodata()**, **date()**, **dayofmonth()**, **dayofweek()**, **time()**, **now()**; they are recalculated every 30 seconds by the Zabbix history syncer process.  Triggers that reference trend functions **only** are evaluated once per  the smallest time period in the expression. See also [trend functions](/manual/appendix/functions/trends).
uk	#### Calculation time  A trigger is recalculated every time Zabbix server receives a new value that is part of the expression. When a new value is received, each function that is included in the expression is recalculated (not just the one that received the new value).  Additionally, a trigger is recalculated each time when a new value is received **and** every 30 seconds if time-based functions are used in the expression.  Time-based functions are **nodata()**, **date()**, **dayofmonth()**, **dayofweek()**, **time()**, **now()**; they are recalculated every 30 seconds by the Zabbix history syncer process.  Triggers that reference trend functions **only** are evaluated once per  the smallest time period in the expression. See also [trend functions](/manual/appendix/functions/trends).

en-us	 ### Changes from 6.4 to 7.0
uk	 ### Зміни з 6.4 до 7.0

en-us	 ### Changes in 7.0
uk	 ### Зміни в 7.0

en-us	#### - Changes to AlmaLinux 8 configuration  The appliance is based on AlmaLinux 8. There are some changes applied to the base AlmaLinux configuration.
uk	#### - Зміни в налаштуваннях AlmaLinux 8  Готове рішення базується на AlmaLinux 8. До базової конфігурації AlmaLinux застосовано деякі зміни.

en-us	 ### config  Default values for the module options. The object may contain any custom keys. If specified, these values will be written into the database during module registration. New variables added later will be written upon the first call. Afterwards, the variable values can only be changed directly in the database.  *Type*: Object  *Example*:  ```json "config": {     "username": "Admin",     "password": "",     "auth_url": "https://example.com/auth" } ```
uk	 ### config  Значення за замовчуванням для параметрів модуля. Об'єкт може містити будь-які спеціальні ключі. Якщо вказано, ці значення будуть записані в базу даних під час реєстрації модуля. Нові змінні, додані пізніше, будуть записані під час першого виклику. Після цього значення змінних можна змінити лише безпосередньо в базі даних.  *Тип*: Object  *Приклад*:  ```json "config": {     "username": "Admin",     "password": "",     "auth_url": "https://example.com/auth" } ```

en-us	#### Configuration  A problem can be suppressed through the **[problem update](/manual/acknowledgment#updating-problems)**  window, where suppression is one of the problem update options along with  commenting, changing severity, acknowledging, etc.   A problem may also be unsuppressed through the same problem  update window.
uk	#### Конфігурація  Проблему можна сховати за допомогою вікна **[оновлення проблеми](/manual/acknowledgment#updating-problems)**, де приховування є одним із параметрів оновлення проблеми разом із коментування, зміна серйозності, підтвердження тощо.  Проблема також може бути знову зроблена видимою в тому самому вікні оновлення проблеми.

en-us	# configuration.export
uk	# configuration.export

en-us	# configuration.import
uk	# configuration.import

en-us	# configuration.importcompare
uk	# configuration.importcompare

en-us	# Configuration  This page describes classes that can be used to create a widget configuration view with custom configuration fields. The widget configuration view is the part of the widget that allows the user to configure widget parameters for [presentation](/presentation).
uk	# Конфігурація  На цій сторінці описано класи, які можна використовувати для створення конфігурації view віджета з настроюваними полями конфігурації. View конфігурації віджета — це частина віджета, яка дозволяє користувачеві налаштовувати параметри віджета для [презентації](/presentation).

en-us	 ### Copyright notice  Zabbix documentation is NOT distributed under the AGPL-3.0 license. Use  of Zabbix documentation is subject to the following terms:   You may create a printed copy of this documentation solely for your  own personal use. Conversion to other formats is allowed as long as  the actual content is not altered or edited in any way. You shall  not publish or distribute this documentation in any form or on any  media, except if you distribute the documentation in a manner similar  to how Zabbix disseminates it (that is, electronically for download  on a Zabbix web site) or on a USB or similar medium, provided however  that the documentation is disseminated together with the software on  the same medium. Any other use, such as any dissemination of printed  copies or use of this documentation, in whole or in part, in another  publication, requires the prior written consent from an authorized  representative of Zabbix. Zabbix reserves any and all rights to this  documentation not expressly granted above.
uk	 ### Повідомлення про авторські права  Документація Zabbix НЕ розповсюджується під ліцензією AGPL-3.0. Використання документації Zabbix регулюється наступними умовами:  Ви можете створити друковану копію цієї документації виключно для свого особистого користування. Конвертація в інші формати дозволено, якщо фактичний вміст жодним чином не змінюється та не редагується. Ви не повинні  публікувати або поширювати цю документацію в будь-якій формі або на  будь-якому носії, за винятком випадків, коли ви поширюєте документацію в спосіб,  подібний до того, як її поширює Zabbix (тобто в електронному вигляді для  завантаження на веб-сайті Zabbix) або на USB або аналогічному носії, за умови,  що документація поширюється разом з програмним забезпеченням на тому ж носії.   Будь-яке інше використання, наприклад, розповсюдження друкованих копій  або використання цієї документації, повністю або частково, в іншій публікації,  вимагає попередньої письмової згоди від уповноваженого представника Zabbix.  Zabbix залишає за собою всі права на цю документацію, які не були явно надані вище.

en-us	 ### Copyright notice  Zabbix documentation is NOT distributed under the AGPL-3.0 license. Use  of Zabbix documentation is subject to the following terms:   You may create a printed copy of this documentation solely for your  own personal use. Conversion to other formats is allowed as long as  the actual content is not altered or edited in any way. You shall  not publish or distribute this documentation in any form or on any  media, except if you distribute the documentation in a manner similar  to how Zabbix disseminates it (that is, electronically for download  on a Zabbix web site) or on a USB or similar medium, provided however  that the documentation is disseminated together with the software on  the same medium. Any other use, such as any dissemination of printed  copies or use of this documentation, in whole or in part, in another  publication, requires the prior written consent from an authorized  representative of Zabbix. Zabbix reserves any and all rights to this  documentation not expressly granted above.
uk	### Повідомлення про авторські права  Документація Zabbix НЕ розповсюджується за ліцензією AGPL-3.0. Використання документації Zabbix регулюється такими умовами:   Ви можете створити друковану копію цієї документації виключно для свого особистого використання. Перетворення в інші формати дозволено, якщо фактичний вміст жодним чином не змінюється та не редагується. Ви не маєте права публікувати або поширювати цю документацію в будь-якій формі чи на будь-якому носії за винятком випадків, коли ви поширюєте документацію подібним чином  до того, як Zabbix поширює її (тобто в електронному вигляді для завантаження на веб-сайті Zabbix) або на USB чи подібному носії, однак за умови, що документація поширюється разом із програмним забезпеченням на одному носії. Будь-яке інше використання, наприклад, будь-яке розповсюдження друковани копій, або використання цієї документації, повністю або частково, в іншій  публікації, потребує попереднього письмового узгодження з уповноваженим представником Zabbix. Zabbix залишає за собою будь-які права на цю документацію, прямо не надані вище.

en-us	# correlation.create
uk	# correlation.create

en-us	# correlation.delete
uk	# correlation.delete

en-us	# correlation.get
uk	# correlation.get

en-us	# correlation.update
uk	# correlation.update

en-us	##### Create a menu section  1. Create a *Module.php* file in the *MyAddress* directory.  This file implements a new *Module* class that extends the default *CModule* class. The *Module* class will insert a new *My Address* menu section into the main menu.  The *setAction()* method specifies an action to be executed upon clicking on the menu section. To start with, you can use the predefined action *userprofile.edit*, which will open the *User profile* page. In [part III](#part-iii---module-action) of this tutorial, you will learn how to create a custom action.  **ui/modules/MyAddress/Module.php**  ```php <?php  namespace Modules\MyAddress;  use Zabbix\Core\CModule,     APP,     CMenuItem;  class Module extends CModule {      public function init(): void {         APP::Component()->get('menu.main')             ->add((new CMenuItem(_('My Address')))             ->setAction('userprofile.edit'));     } } ```  :::noteclassic You can replace `'userprofile.edit'` with other actions, for example, `'charts.view'` (opens custom graphs), `'problems.view'` (opens *Monitoring → Problems*), or `'report.status'` (opens *System information* report). :::  3. Refresh Zabbix frontend. There is now a new *My Address* section at the bottom of the Zabbix main menu. Click on *My Address* to open the *User profile* page.  ![](../../../../assets/en/devel/modules/tutorials/module/my_address_top_menu.png){width="600"}
uk	##### Створення розділу меню  1. Створіть файл *Module.php* у каталозі *MyAddress*.  Цей файл реалізує новий клас *Module*, який розширює стандартний клас *CModule*. Клас *Module* вставить новий розділ меню *My Address* в головне меню.  Метод *setAction()* визначає дію, яка буде виконана після натискання на розділ меню. Для початку ви можете скористатися попередньо визначеною дією *userprofile.edit*, яка відкриє сторінку *Профіль користувача*. У [частині III](#part-iii---module-action) цієї інструкції ви дізнаєтесь, як створити користувацьку дію.  **ui/modules/MyAddress/Module.php**  ```php <?php  namespace Modules\MyAddress;  use Zabbix\Core\CModule,     APP,     CMenuItem;  class Module extends CModule {      public function init(): void {     APP::Component()->get('menu.main')     ->add((новий CMenuItem(_('My Address')))     ->setAction('userprofile.edit'));     } } ```  :::noteclassic Ви можете замінити «userprofile.edit» іншими діями, наприклад «charts.view» (відкриває користувацькі графіки), «problems.view» (відкриває *Моніторинг → Проблеми*) або `'report.status'` (відкриває звіт *Інформація про систему*). :::  3. Оновіть інтерфейс Zabbix. Тепер у нижній частині головного меню Zabbix є новий розділ *Моя адреса*. Натисніть *Моя адреса*, щоб відкрити сторінку *Профіль користувача*.  ![](../../../../assets/en/devel/modules/tutorials/module/my_address_top_menu.png){width="600"}

en-us	# Create a module (tutorial)
uk	# Створення модуля (інструкція)

en-us	 # Create a plugin (tutorial)
uk	 # Створення плагіна (посібник)

en-us	# Create a widget (tutorial)
uk	# Створення віджета (інструкція)

en-us	#### Creating a new item  Now, create a new [item](/manual/api/reference/item/object) on the host "Zabbix server" using the data you have obtained from the previous `host.get` request. This can be done using the [item.create](/manual/api/reference/item/create) method:  ```bash curl --request POST \   --url 'https://example.com/zabbix/api_jsonrpc.php' \   --header 'Authorization: Bearer ${AUTHORIZATION_TOKEN}' \   --header 'Content-Type: application/json-rpc' \   --data '{"jsonrpc":"2.0","method":"item.create","params":{"name":"Free disk space on /home/joe/","key_":"vfs.fs.size[/home/joe/,free]","hostid":"10084","type":0,"value_type":3,"interfaceid":"1","delay":30},"id":3}' ```  A successful response will contain the ID of the newly created item, which can be used to reference the item in the following requests:  ```json {     "jsonrpc": "2.0",     "result": {         "itemids": [             "24759"         ]     },     "id": 3 } ```  ::: notetip The `item.create` method as well as other *create methods* can also accept arrays of objects and create multiple items with one API call. :::
uk	#### Створення нового елемента  Тепер створіть новий [item](/manual/api/reference/item/object) на хості "Zabbix server", використовуючи дані, які ви отримали з попереднього `host.get`-запиту.  Це можна зробити за допомогою методу [item.create](/manual/api/reference/item/create):  ```bash curl --request POST \   --url 'https://example.com/zabbix/api_jsonrpc.php' \   --header 'Authorization: Bearer ${AUTHORIZATION_TOKEN}' \   --header 'Content-Type: application/json-rpc' \   --data '{"jsonrpc":"2.0","method":"item.create","params":{"name":"Free disk space on /home/joe/","key_":"vfs.fs.size[/home/joe/,free]","hostid":"10084","type":0,"value_type":3,"interfaceid":"1","delay":30},"id":3}' ```  Успішна відповідь міститиме ідентифікатор щойно створеного елемента, який можна використовувати для посилання на елемент у таких запитах:  ```json {     "jsonrpc": "2.0",     "result": {         "itemids": [             "24759"         ]     },     "id": 3 } ```  ::: notetip Метод `item.create`, як і інші методи *create*, також може приймати масиви об'єктів і створювати декілька елементів одним викликом API. :::

en-us	 ##### Creating application  1\. Log into your account at [Microsoft Azure](https://portal.azure.com). For testing purposes, you may create a free trial account in Microsoft Azure.  2\. From the main menu (see top left of the screen) select *Azure Active Directory*.  3\. Select *Enterprise applications* -> *Add new application* -> *Create your own application*.  4\. Add the name of your app and select the *Integrate any other application...* option. After that, click on *Create*.  ![](../../../../assets/en/manual/appendix/install/azure_create_app.png){width="600"}
uk	 ##### Creating application  1\. Log into your account at [Microsoft Azure](https://portal.azure.com). For testing purposes, you may create a free trial account in Microsoft Azure.  2\. From the main menu (see top left of the screen) select *Azure Active Directory*.  3\. Select *Enterprise applications* -> *Add new application* -> *Create your own application*.  4\. Add the name of your app and select the *Integrate any other application...* option. After that, click on *Create*.  ![](../../../../assets/en/manual/appendix/install/azure_create_app.png){width="600"}

en-us	#### Creating multiple triggers  Thus, if *create methods* accept arrays, you can add multiple [triggers](/manual/api/reference/trigger/object), for example, this one:   ```bash curl --request POST \   --url 'https://example.com/zabbix/api_jsonrpc.php' \   --header 'Authorization: Bearer ${AUTHORIZATION_TOKEN}' \   --header 'Content-Type: application/json-rpc' \   --data '{"jsonrpc":"2.0","method":"trigger.create","params":[{"description":"Processor load is too high on {HOST.NAME}","expression":"last(/Linux server/system.cpu.load[percpu,avg1])>5",},{"description":"Too many processes on {HOST.NAME}","expression":"avg(/Linux server/proc.num[],5m)>300",}],"id":4}' ```  The successful response will contain the IDs of the newly created triggers:  ```json {     "jsonrpc": "2.0",     "result": {         "triggerids": [             "17369",             "17370"         ]     },     "id": 4 } ```
uk	#### Створення кількох тригерів  Таким чином, якщо *методи створення* приймають масиви, ви можете додати кілька [тригерів](/manual/api/reference/trigger/object), наприклад, цей:   ```bash curl --request POST \   --url 'https://example.com/zabbix/api_jsonrpc.php' \   --header 'Authorization: Bearer ${AUTHORIZATION_TOKEN}' \   --header 'Content-Type: application/json-rpc' \   --data '{"jsonrpc":"2.0","method":"trigger.create","params":[{"description":"Processor load is too high on {HOST.NAME}","expression":"last(/Linux server/system.cpu.load[percpu,avg1])>5",},{"description":"Too many processes on {HOST.NAME}","expression":"avg(/Linux server/proc.num[],5m)>300",}],"id":4}' ```  Успішна відповідь міститиме ідентифікатори новостворених тригерів:  ```json {     "jsonrpc": "2.0",     "result": {         "triggerids": [             "17369",             "17370"         ]     },     "id": 4 } ```

en-us	 ##### CSS styles  CSS files may contain a custom attribute `theme` to define different style for a specific frontend themes.  Available themes and their attribute values:  -   **Blue** - [theme='blue-theme'] -   **Dark** - [theme='dark-theme'] -   **High-contrast light** - [theme='hc-light'] -   **High-contrast dark** - [theme='hc-dark']  Example:  ```css .widget {     background-color: red; }   [theme='dark-theme'] .widget {     background-color: green; } ```
uk	 ##### Стилі CSS  Файли CSS можуть містити користувацький атрибут `theme` для визначення іншого стилю для певних тем інтерфейсу.  Доступні теми та значення їхніх атрибутів:  - **Блакитна** - [theme='blue-theme'] - **Темна** - [theme='dark-theme'] - **Висококонтрастна світла** - [theme='hc-light'] - **Висококонтрастна темна** - [theme='hc-dark']  приклад:  ```css .widget {     background-color: червоний; }   [theme='dark-theme'] .widget {     background-color: зелений; } ```

en-us	##### Custom copyright notice  To set a custom copyright notice, add `BRAND_FOOTER` to the array from the first listing. Please be aware that HTML is not supported here. Setting `BRAND_FOOTER` to an empty string will hide the copyright notice completely (but the footer will stay in place).  ```php 'BRAND_FOOTER' => '{text}', ```
uk	 ##### Спеціальне повідомлення про авторські права  Щоб установити спеціальне повідомлення про авторські права, додайте `BRAND_FOOTER` до масиву з першого списку. Зауважте, що HTML тут не підтримується. Встановлення `BRAND_FOOTER` на порожній рядок повністю приховає повідомлення про авторські права (але нижній колонтитул залишиться на місці).  ```php 'BRAND_FOOTER' => '{text}', ```

en-us	##### Custom help location  To replace the default *Help* link with a link of your choice, add `BRAND_HELP_URL` to the array from the first listing.  ```php 'BRAND_HELP_URL' => '{URL}' ```
uk	##### Спеціальне розташування довідки  Щоб замінити посилання *Довідка* за замовчуванням посиланням за вашим вибором, додайте `BRAND_HELP_URL` до масиву з першого списку.  ```php 'BRAND_HELP_URL' => '{URL}' ```

en-us	#### Custom script limit  Available custom script length depends on the database used:  |Database|Limit in characters|Limit in bytes| |---|---|---| |*MySQL*|65535|65535| |*PostgreSQL*|65535|not limited| |*Oracle*|2048|4000| |*SQLite (only Zabbix proxy)*|65535|not limited|
uk	#### Обмеження спеціального сценарію  Доступна довжина спеціального сценарію залежить від використовуваної бази даних:  |База даних|Обмеження в символах|Обмеження в байтах| |---|---|---| |*MySQL*|65535|65535| |*PostgreSQL*|65535|не обмежено| |*Oracle*|2048|4000| |*SQLite (тільки Zabbix проксі)*|65535|не обмежено|

en-us	# dashboard.create
uk	# dashboard.create

en-us	# dashboard.delete
uk	# dashboard.delete

en-us	# dashboard.get
uk	# dashboard.get

en-us	# dashboard.update
uk	# dashboard.update

en-us	# dcheck.get
uk	# dcheck.get

en-us	 ### description  Module description.  *Type*: String  *Example*:   ```json "description": "This is a clock widget." ```
uk	 ### description  Опис модуля.  *Тип*: String  *Приклад*:  ```json "description": "Це віджет годинника." ```

en-us	### Description  `string apiinfo.version(array)`  This method allows to retrieve the version of the Zabbix API.  ::: noteimportant This method is only available to unauthenticated users and must be called without the `auth` parameter in the JSON-RPC request. :::
uk	### Опис  `string apiinfo.version(array)`  Цей метод дозволяє отримати версію Zabbix API.  ::: noteimportant Цей метод доступний лише для неавтентифікованих користувачів і повинен викликатися без параметра `auth` у запиті JSON-RPC. :::

en-us	## DESCRIPTION  **zabbix\_agent2** is an application for monitoring parameters of various services.\ \ [ ]{#lbAE}
uk	## ОПИС  **zabbix\_agent2** — додаток для моніторингу параметрів різних сервісів.\ \ [ ]{#lbAE}

en-us	## DESCRIPTION  **zabbix\_agentd** is a daemon for monitoring various server parameters. [ ]{#lbAE}
uk	## ОПИС  **zabbix\_agentd** — це демон для моніторингу різних параметрів сервера. [ ]{#lbAE}

en-us	## DESCRIPTION  **zabbix\_get** is a command line utility for getting data from Zabbix agent. [ ]{#lbAE}
uk	## ОПИС  **zabbix\_get** — утиліта командного рядка для отримання даних від агента Zabbix. [ ]{#lbAE}

en-us	## DESCRIPTION  **zabbix\_js** is a command line utility that can be used for embedded script testing. [ ]{#lbAE}
uk	## ОПИС  **zabbix\_js** — це утиліта командного рядка, яку можна використовувати для тестування вбудованих сценаріїв. [ ]{#lbAE}

en-us	## DESCRIPTION  **zabbix\_proxy** is a daemon that collects monitoring data from devices and sends it to Zabbix server. [ ]{#lbAE}
uk	## ОПИС  **zabbix\_proxy** — це демон, який збирає дані моніторингу з пристроїв і надсилає їх на сервер Zabbix. [ ]{#lbAE}

en-us	## DESCRIPTION  **zabbix\_sender** is a command line utility for sending monitoring data to Zabbix server or proxy. On the Zabbix server an item of type **Zabbix trapper** should be created with corresponding key. Note that incoming values will only be accepted from hosts specified in **Allowed hosts** field for this item. [ ]{#lbAE}
uk	## ОПИС  **zabbix\_sender** — це утиліта командного рядка для надсилання даних моніторингу на сервер або проксі Zabbix. На сервері Zabbix має бути створений елемент типу **Zabbix trapper** з відповідним ключем. Зауважте, що вхідні значення прийматимуться лише від хостів, указаних у полі **Allowed hosts** для цього елемента. [ ]{#lbAE}

en-us	## DESCRIPTION  **zabbix\_server** is the core daemon of Zabbix software. [ ]{#lbAE}
uk	## ОПИС  **zabbix\_server** є базовою службою програмного забезпечення Zabbix. [ ]{#lbAE}

en-us	## DESCRIPTION  **zabbix\_web\_service** is an application for providing web services to Zabbix components. [ ]{#lbAE}
uk	## ОПИС  **zabbix\_web\_service** — це програма для надання веб-сервісів компонентам Zabbix. [ ]{#lbAE}

en-us	# Developer Center  This section contains everything you need to quickly start developing custom Zabbix extensions:  - [Frontend modules](/devel/modules) - [Dashboard widgets](/devel/modules/widgets) - [Plugins](/devel/plugins) for Zabbix agent 2
uk	# Центр розробників  У цьому розділі міститься все, що вам потрібно, щоб швидко розпочати розробку власних розширень Zabbix:  - [Модулі інтерфейсу](/devel/modules) - [Віджети інформаційної панелі](/devel/modules/widgets) - [Плагіни](/devel/plugins) для Zabbix agent 2

en-us	# dhost.get
uk	# dhost.get

en-us	### Disabling HA cluster  To disable a high availability cluster:  -   make backup copies of configuration files -   stop standby nodes -   remove the HANodeName parameter from the active primary server -   restart the primary server (it will start in standalone mode)
uk	### Вимкнення кластера високої доступності  Щоб вимкнути кластер високої доступності:  - зробіть резервні копії конфігураційних файлів  - зупиніть резервні вузли - видаліть параметр HANodeName з активного основного сервера - перезапустіть основний сервер (він запуститься в автономному режимі)

en-us	# discoveryrule.copy
uk	# discoveryrule.copy

en-us	# discoveryrule.create
uk	# discoveryrule.create

en-us	# discoveryrule.delete
uk	# discoveryrule.delete

en-us	# discoveryrule.get
uk	# discoveryrule.get

en-us	# discoveryrule.update
uk	# discoveryrule.update

en-us	#### Display  Based on acknowledgment information it is possible to configure how the problem count is displayed in the dashboard or maps. To do that, you have to make selections in the *Problem display* option, available in both [map configuration](/manual/config/visualization/maps/map#creating_a_map) and the *Problems by severity* [dashboard widget](/manual/web_interface/frontend_sections/dashboards##adding_widgets). It is possible to display all problem count, unacknowledged problem count as separated from the total or unacknowledged problem count only.  Based on problem update information (acknowledgment, etc.), it is possible to configure update operations - send a message or execute remote commands.
uk	#### Відображення  На основі інформації про підтвердження можна налаштувати спосіб відображення кількості проблем на інформаційній панелі чи картах. Для цього вам потрібно зробити вибір у параметрі *Відображення проблеми*, доступному як у [map configuration](/manual/config/visualization/maps/map#creating_a_map), так і в *Проблеми за ступенем тяжкості* [віджеті панелі інструментів]( /manual/web_interface/frontend_sections/dashboards##adding_widgets). Можна відобразити кількість усіх проблем, кількість непідтверджених проблем окремо від загальної чи тільки кількість непідтверджених проблем.  На основі інформації про оновлення проблеми (підтвердження тощо) можна налаштувати операції оновлення – надіслати повідомлення або виконати віддалені команди.

en-us	#### Displaying trigger status  With a trigger defined, you might be interested to see its status.  If the CPU load has exceeded the threshold level you defined in the trigger, the problem will be displayed in *Monitoring → Problems*.  ![](../../../assets/en/manual/quickstart/trigger_status0.png){width="600"}  The flashing in the status column indicates a recent change of trigger status, one that has taken place in the last 30 minutes.
uk	#### Відображення статусу тригера  Якщо тригер визначено, вам може бути цікаво переглянути його статус.  Якщо навантаження ЦП перевищило пороговий рівень, який ви визначили в тригері, проблема буде відображена в *Моніторинг → Проблеми*.  ![](../../../assets/en/manual/quickstart/trigger_status0.png){width="600"}  Блимання в стовпці статусу вказує на нещодавню зміну статусу тригера, яка відбулася за останні 30 хвилин.

en-us	#### Display  Once suppressed the problem is marked by a blinking  ![](../../../assets/en/manual/web_interface/frontend_sections/monitoring/icon_suppression.png)  suppression icon in the *Info* column, before being hidden.   The suppression icon is blinking while the suppression task is in the waiting list.  Once the task manager has suppressed the problem, the icon will stop blinking.  If the suppression icon keeps blinking for a long time, this may indicate a server problem,  for example, if the server is down and the task manager cannot complete the task.  The same logic applies to unsuppression. In the short period after the task is  submitted and the server has not completed it, the unsuppression icon is blinking.   A suppressed problem may be both hidden or shown, depending on the problem filter/widget settings.  When shown in the problem list, a suppressed problem is marked by the suppression icon and  suppression details are shown on mouseover:  ![](../../../assets/en/manual/web_interface/suppressed_problem_listed.png)  Suppression details are also displayed in a popup when positioning the mouse on the suppression  icon in the *Actions* column.
uk	#### Відображення  Після приховування проблема позначається блиманням ![](../../../assets/en/manual/web_interface/frontend_sections/monitoring/icon_suppression.png) значка приховування в стовпці *Інформація*, перш ніж його приховати.  Значок придушення блимає, поки завдання придушення знаходиться в списку очікування. Після того, як диспетчер завдань вирішить проблему, значок перестане блимати. Якщо піктограма придушення продовжує блимати протягом тривалого часу, це може вказувати на проблему з сервером, наприклад, якщо сервер не працює і диспетчер завдань не може завершити завдання. Така ж логіка застосовується і до зняття приховування. Протягом короткого періоду після того, як завдання було надіслано, але сервер не встиг його виконати, піктограма зняття приховування блимає.   Прихована проблема може бути як прихованою, так і відображеною, залежно від налаштувань фільтра проблеми/віджета.  При відображенні у списку проблем прихована проблема позначається піктограмою придушення та деталі придушення показуються при наведенні миші:  ![](../../../assets/en/manual/web_interface/suppressed_problem_listed.png)  Деталі придушення також відображаються у спливаючому вікні, якщо навести курсор миші на придушення у стовпці *Дії*.

en-us	# drule.create
uk	# drule.create

en-us	# drule.delete
uk	# drule.delete

en-us	# drule.get
uk	# drule.get

en-us	# drule.update
uk	# drule.update

en-us	# dservice.get
uk	# dservice.get

en-us	### Enabling high availability
uk	### Увімкнення високої доступності

en-us	#### Error handling  Up to the present moment, everything you have tried has worked fine. But what would happen if you tried making an incorrect call to the API? Try to create another host by calling [host.create](/manual/api/reference/host/create) but omitting the mandatory `groups` parameter:  ```bash curl --request POST \   --url 'https://example.com/zabbix/api_jsonrpc.php' \   --header 'Authorization: Bearer ${AUTHORIZATION_TOKEN}' \   --header 'Content-Type: application/json-rpc' \   --data '{"jsonrpc":"2.0","method":"host.create","params":{"host":"Linux server","interfaces":[{"type":1,"main":1,"useip":1,"ip":"192.168.3.1","dns":"","port":"10050"}]},"id":7}' ```  The response will then contain an error message:  ```json {     "jsonrpc": "2.0",     "error": {         "code": -32602,         "message": "Invalid params.",         "data": "No groups for host \"Linux server\"."     },     "id": 7 } ```  If an error has occurred, instead of the `result` property, the response object will contain the `error` property with the following data:  -   `code` - an error code; -   `message` - a short error summary; -   `data` - a more detailed error message.  Errors can occur in various cases, such as, using incorrect input values, a session timeout or trying to access non-existing objects. Your application should be able to gracefully handle these kinds of errors.
uk	#### Обробка помилок  До цього моменту все, що ви спробували, працювало нормально. Але що станеться, якщо ви спробуєте зробити некоректний виклик API? Спробуйте створити інший хост, викликавши [host.create](/manual/api/reference/host/create), але опустивши обов'язковий параметр `groups`:  ```bash curl --request POST \   --url 'https://example.com/zabbix/api_jsonrpc.php' \   --header 'Authorization: Bearer ${AUTHORIZATION_TOKEN}' \   --header 'Content-Type: application/json-rpc' \   --data '{"jsonrpc":"2.0","method":"host.create","params":{"host":"Linux server","interfaces":[{"type":1,"main":1,"useip":1,"ip":"192.168.3.1","dns":"","port":"10050"}]},"id":7}' ```  Тоді відповідь міститиме повідомлення про помилку:  ```json {     "jsonrpc": "2.0",     "error": {         "code": -32602,         "message": "Invalid params.",         "data": "No groups for host \"Linux server\"."     },     "id": 7 } ```  Якщо сталася помилка, замість властивості `result` об'єкт відповіді  буде містити властивість `error` з наступними даними:  - `code` - код помилки; - `message` - короткий опис помилки; - `data` - більш детальне повідомлення про помилку.  Помилки можуть виникати у різних випадках, наприклад, при використанні  неправильних вхідних даних, таймауті сеансу або спробі отримати доступ  до неіснуючих об'єктів. Ваша програма повинна вміти коректно обробляти такі помилки.

en-us	 #### Errors with fping execution in rootless containers  When containers are running in rootless mode or in a specific-restrictions environment, you may face errors related to fping execution when performing ICMP checks, such as `fping: Operation not permitted` or all packets to all resources lost.   To fix this problem add `--cap-add=net_raw` to "docker run" or "podman run" commands.   Additionally fping execution in non-root environments may require sysctl modification, i.e.:       sudo sysctl -w "net.ipv4.ping_group_range=0 1995"  where "1995" is the zabbix GID. For more details, see [ZBX-22833](https://support.zabbix.com/browse/ZBX-22833).
uk	 #### Errors with fping execution in rootless containers  When containers are running in rootless mode or in a specific-restrictions environment, you may face errors related to fping execution when performing ICMP checks, such as `fping: Operation not permitted` or all packets to all resources lost.   To fix this problem add `--cap-add=net_raw` to "docker run" or "podman run" commands.   Additionally fping execution in non-root environments may require sysctl modification, i.e.:       sudo sysctl -w "net.ipv4.ping_group_range=0 1995"  where "1995" is the zabbix GID. For more details, see [ZBX-22833](https://support.zabbix.com/browse/ZBX-22833).

en-us	# event.acknowledge
uk	# event.acknowledge

en-us	# event.get
uk	# event.get

en-us	### Event tag  The event tag object has the following properties.  |Property|[Type](/manual/api/reference_commentary#data_types)|Description| |--|--|------| |tag|string|Event tag name.| |value|string|Event tag value.|
uk	### Тег події  Об'єкт тегу події має такі властивості.  |Властивість|[Тип](/manual/api/reference_commentary#data_types)|Опис| |--|--|------| |тег|рядок|Назва тегу події.| |значення|рядок|Значення тегу події.|

en-us	### Example
uk	### Приклади

en-us	##### Example 1  To create a "Web scenario failed" trigger, you can define a trigger expression:      last(/host/web.test.fail[Scenario])<>0  Make sure to replace 'Scenario' with the real name of your scenario.
uk	##### Приклад 1  Щоб створити тригер «Веб-сценарій не вдалося», ви можете визначити вираз тригера:       last(/host/web.test.fail[сценарій])<>0  Обов’язково замініть «Сценарій» справжньою назвою сценарію.

en-us	##### Example 2  To create a "Web scenario failed" trigger with a useful problem description in the trigger name, you can define a trigger with name:      Web scenario "Scenario" failed: {ITEM.VALUE}  and trigger expression:      length(last(/host/web.test.error[Scenario]))>0 and last(/host/web.test.fail[Scenario])>0  Make sure to replace 'Scenario' with the real name of your scenario.
uk	##### Приклад 2  Щоб створити тригер «Помилка веб-сценарію» з корисним описом проблеми в назві тригера, ви можете визначити тригер із назвою:       Помилка веб-сценарію "Сценарій": {ITEM.VALUE}  і тригерний вираз:       length(last(/host/web.test.error[Scenario]))>0 and last(/host/web.test.fail[Scenario])>0  Обов’язково замініть «Сценарій» справжньою назвою сценарію.

en-us	##### Example 3  To create a "Web application is slow" trigger, you can define a trigger expression:      last(/host/web.test.in[Scenario,,bps])<10000  Make sure to replace 'Scenario' with the real name of your scenario.
uk	##### Приклад 3  Щоб створити тригер «Веб-програма працює повільно», ви можете визначити вираз тригера:       last(/host/web.test.in[Scenario,,bps])<10000  Обов’язково замініть «Сценарій» справжньою назвою сценарію.

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	### Examples
uk	### Приклади

en-us	#### Examples
uk	#### Приклади

en-us	 ##### Examples of correct/incorrect syntax  Expressions (including function calls) cannot be used as history, trend, or foreach [function](/manual/appendix/functions) parameters. However, those functions themselves can be used in other (non-historical) function parameters.  |Expression|Example| |-|---------| |Valid|`avg(last(/host/key1),last(/host/key2)*10,last(/host/key1)*100)`<br>`max(avg(avg_foreach(/*/system.cpu.load?[group="Servers A"],5m)),avg(avg_foreach(/*/system.cpu.load?[group="Servers B"],5m)),avg(avg_foreach(/*/system.cpu.load?[group="Servers C"],5m)))`| |Invalid|`sum(/host/key,10+2)`<br>`sum(/host/key, avg(10,2))`<br>`sum(/host/key,last(/host/key2))`|  Note that in an expression like:      sum(sum_foreach(//resptime[*],5m))/sum(count_foreach(//resptime[*],5m))  it cannot be guaranteed that both parts of the equation will always have the same set of values.  While one part of the expression is evaluated, a new value for the requested period may arrive and  then the other part of the expression will have a different set of values.
uk	 ##### Examples of correct/incorrect syntax  Expressions (including function calls) cannot be used as history, trend, or foreach [function](/manual/appendix/functions) parameters. However, those functions themselves can be used in other (non-historical) function parameters.  |Expression|Example| |-|---------| |Valid|`avg(last(/host/key1),last(/host/key2)*10,last(/host/key1)*100)`<br>`max(avg(avg_foreach(/*/system.cpu.load?[group="Servers A"],5m)),avg(avg_foreach(/*/system.cpu.load?[group="Servers B"],5m)),avg(avg_foreach(/*/system.cpu.load?[group="Servers C"],5m)))`| |Invalid|`sum(/host/key,10+2)`<br>`sum(/host/key, avg(10,2))`<br>`sum(/host/key,last(/host/key2))`|  Note that in an expression like:      sum(sum_foreach(//resptime[*],5m))/sum(count_foreach(//resptime[*],5m))  it cannot be guaranteed that both parts of the equation will always have the same set of values.  While one part of the expression is evaluated, a new value for the requested period may arrive and  then the other part of the expression will have a different set of values.

en-us	# Examples  This section provides files of sample modules and widgets, which you can use as a base for your custom modules.  To use a module:  1. Download the ZIP archive. 2. Unpack the content into a separate directory inside the *modules* directory of your Zabbix frontend installation (for example, *zabbix/ui/modules*). 3. Register the module in Zabbix frontend.
uk	# Приклади  У цьому розділі представлені файли зразків модулів та віджетів, які ви можете використовувати як основу для власних модулів.  Щоб використовувати модуль:  1. Завантажте ZIP-архів. 2. Розпакуйте вміст в окремий підкаталог у каталозі з *модулями* web-серверу Zabbix (наприклад */zabbix/ui/modules*). 3. Зареєструйте модуль у інтерфейсі Zabbix.

en-us	 # Examples  You can use several empty examples as well as existing loadable plugins supplied by Zabbix as a reference:   - [Examples](https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/src/go/plugins/debug/external)  - [MongoDB plugin](https://git.zabbix.com/projects/AP/repos/mongodb/browse) - [PostgreSQL plugin](https://git.zabbix.com/projects/AP/repos/postgresql/browse)
uk	 # Приклади  Ви можете використати кілька порожніх прикладів, а також існуючі плагіни, що можна завантажити, надані Zabbix, як посилання:  - [Приклади](https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/src/go/plugins/debug/external) - [Плагін MongoDB](https://git.zabbix.com/projects/AP/repos/mongodb/browse) - [Плагін PostgreSQL](https://git.zabbix.com/projects/AP/repos/postgresql/browse)

en-us	## EXAMPLES  **zabbix\_get -s 127.0.0.1 -p 10050 -k "system.cpu.load\[all,avg1\]"**\ **zabbix\_get -s 127.0.0.1 -p 10050 -k "system.cpu.load\[all,avg1\]" --tls-connect cert --tls-ca-file /home/zabbix/zabbix\_ca\_file --tls-agent-cert-issuer "CN=Signing CA,OU=IT operations,O=Example Corp,DC=example,DC=com" --tls-agent-cert-subject "CN=server1,OU=IT operations,O=Example Corp,DC=example,DC=com" --tls-cert-file /home/zabbix/zabbix\_get.crt --tls-key-file /home/zabbix/zabbix\_get.key\ zabbix\_get -s 127.0.0.1 -p 10050 -k "system.cpu.load\[all,avg1\]" --tls-connect psk --tls-psk-identity "PSK ID Zabbix agentd" --tls-psk-file /home/zabbix/zabbix\_agentd.psk** [ ]{#lbAH}
uk	## ПРИКЛАДИ  **zabbix\_get -s 127.0.0.1 -p 10050 -k "system.cpu.load\[all,avg1\]"**\ **zabbix\_get -s 127.0.0.1 -p 10050 -k "system.cpu.load\[all,avg1\]" --tls-connect cert --tls-ca-file /home/zabbix/zabbix\_ca\_file --tls-agent-cert-issuer "CN=Signing CA,OU=IT operations,O=Example Corp,DC=example,DC=com" --tls-agent-cert-subject "CN=server1,OU=IT operations,O=Example Corp,DC=example,DC=com" --tls-cert-file /home/zabbix/zabbix\_get.crt --tls-key-file /home/zabbix/zabbix\_get.key\ zabbix\_get -s 127.0.0.1 -p 10050 -k "system.cpu.load\[all,avg1\]" --tls-connect psk --tls-psk-identity "PSK ID Zabbix agentd" --tls-psk-file /home/zabbix/zabbix\_agentd.psk** [ ]{#lbAH}

en-us	## EXAMPLES  **zabbix\_js -s script-file.js -p example** [ ]{#lbAG}
uk	## ПРИКЛАДИ  **zabbix\_js -s script-file.js -p example** [ ]{#lbAG}

en-us	## EXAMPLES  **zabbix\_sender -c /etc/zabbix/zabbix\_agentd.conf -k mysql.queries -o 342.45**\     Send **342.45** as the value for **mysql.queries** item of monitored host. Use monitored host and Zabbix server defined in agent configuration file.  **zabbix\_sender -c /etc/zabbix/zabbix\_agentd.conf -s "Monitored Host" -k mysql.queries -o 342.45**\     Send **342.45** as the value for **mysql.queries** item of **Monitored Host** host using Zabbix server defined in agent configuration file.  \ **zabbix\_sender -z 192.168.1.113 -i data\_values.txt**     \ Send values from file **data\_values.txt** to Zabbix server with IP **192.168.1.113**. Host names and keys are defined in the file.  \ **echo "- hw.serial.number 1287872261 SQ4321ASDF" | zabbix\_sender -c /usr/local/etc/zabbix\_agentd.conf -T -i -**\     Send a timestamped value from the commandline to Zabbix server, specified in the agent configuration file. Dash in the input data indicates that hostname also should be used from the same configuration file.  \ **echo '"Zabbix server" trapper.item ""' | zabbix\_sender -z 192.168.1.113 -p 10000 -i -**\     Send empty value of an item to the Zabbix server with IP address **192.168.1.113** on port **10000** from the commandline. Empty values must be indicated by empty double quotes.  **zabbix\_sender -z 192.168.1.113 -s "Monitored Host" -k mysql.queries -o 342.45 --tls-connect cert --tls-ca-file /home/zabbix/zabbix\_ca\_file --tls-cert-file /home/zabbix/zabbix\_agentd.crt --tls-key-file /home/zabbix/zabbix\_agentd.key**\     Send **342.45** as the value for **mysql.queries** item in **Monitored Host** host to server with IP **192.168.1.113** using TLS with certificate.  **zabbix\_sender -z 192.168.1.113 -s "Monitored Host" -k mysql.queries -o 342.45 --tls-connect psk --tls-psk-identity "PSK ID Zabbix agentd" --tls-psk-file /home/zabbix/zabbix\_agentd.psk**\     Send **342.45** as the value for **mysql.queries** item in **Monitored Host** host to server with IP **192.168.1.113** using TLS with pre-shared key (PSK).  [ ]{#lbAI}
uk	## ПРИКЛАДИ  **zabbix\_sender -c /etc/zabbix/zabbix\_agentd.conf -k mysql.queries -o 342,45**\     Надішліть **342.45** як значення для елемента **mysql.queries** контрольованого хосту. Використовуйте контрольований хост і сервер Zabbix, визначені у файлі конфігурації агента.  **zabbix\_sender -c /etc/zabbix/zabbix\_agentd.conf -s "Monitored Host" -k mysql.queries -o 342.45**\     Надішліть **342.45** як значення для елемента **mysql.queries** хосту **Monitored Host** за допомогою сервера Zabbix, визначеного у файлі конфігурації агента.  \ **zabbix\_sender -z 192.168.1.113 -i data\_values.txt**     \ Надсилайте значення з файлу **data\_values.txt** на сервер Zabbix з IP **192.168.1.113**. Імена хостів і ключі визначені у файлі.  \ **echo "- hw.serial.number 1287872261 SQ4321ASDF" | zabbix\_sender -c /usr/local/etc/zabbix\_agentd.conf -T -i -**\     Надішліть значення з міткою часу з командного рядка на сервер Zabbix, указане у файлі конфігурації агента. Прочерк у вхідних даних означає, що ім’я хоста також має використовуватися з того самого файлу конфігурації.  \ **echo '"Zabbix server" trapper.item ""' | zabbix\_sender -z 192.168.1.113 -p 10000 -i -**\     Надішліть порожнє значення елемента на сервер Zabbix з IP-адресою **192.168.1.113** на порт **10000** з командного рядка. Порожні значення повинні бути позначені порожніми подвійними лапками.  **zabbix\_sender -z 192.168.1.113 -s "Monitored Host" -k mysql.queries -o 342.45 --tls-connect cert --tls-ca-file /home/zabbix/zabbix\_ca\_file --tls-cert-file /home/zabbix/zabbix\_agentd.crt --tls-key-file /home/zabbix/zabbix\_agentd.key**\     Надішліть **342.45** як значення для елемента **mysql.queries** у хості **Monitored Host** на сервер з IP-адресою **192.168.1.113** за допомогою TLS із сертифікатом.  **zabbix\_sender -z 192.168.1.113 -s "Monitored Host" -k mysql.queries -o 342.45 --tls-connect psk --tls-psk-identity "PSK ID Zabbix agentd" --tls-psk-file/home/zabbix/zabbix\_agentd.psk**\     Надішліть **342.45** як значення для елемента **mysql.queries** у хості **Monitored Host** на сервер з IP-адресою **192.168.1.113** за допомогою TLS зі спільним ключем (PSK).  [ ]{#lbAI}

en-us	### Example workflow  The following section will walk you through some examples of usage in a greater detail.
uk	### Приклад робочого процесу  У наступному розділі ми розглянемо деякі приклади використання більш детально.

en-us	## EXIT STATUS  The exit status is 0 if the values were sent and all of them were successfully processed by server. If data was sent, but processing of at least one of the values failed, the exit status is 2. If data sending failed, the exit status is 1.  [ ]{#lbAH}
uk	## СТАТУС ВИХОДУ  Статус виходу 0, якщо значення були надіслані, і всі вони були успішно оброблені сервером. Якщо дані були надіслані, але обробка принаймні одного зі значень не вдалася, статус виходу – 2. Якщо надсилання даних не вдалося, статус виходу – 1.  [ ]{#lbAH}

en-us	##### Export format  Data can be exported using the Zabbix web frontend or [Zabbix API](/manual/api/reference/configuration). Supported export formats are YAML, XML and JSON.
uk	##### Формат експорту  Дані можна експортувати за допомогою веб-інтерфейсу Zabbix або [Zabbix API](/manual/api/reference/configuration). Підтримувані формати експорту: YAML, XML і JSON.

en-us	#### Exporting  To export templates, do the following:  1. Go to *Data collection* → *Templates*. 2. Mark the checkboxes of the templates to export. 3. Click *Export* below the list.  ![](../../../assets/en/manual/xml_export_import/export_templates.png)  Depending on the selected format, templates are exported to a local file with a default name:  -   `zabbix_export_templates.yaml` - in YAML export (default option for export); -   `zabbix_export_templates.xml` - in XML export; -   `zabbix_export_templates.json` - in JSON export.
uk	#### Експорт  Щоб експортувати шаблони, виконайте такі дії:  1. Перейдіть до *Збір даних* → *Шаблони*. 2. Позначте шаблони для експорту. 3. Натисніть *Експорт* під списком.  ![](../../../assets/en/manual/xml_export_import/export_templates.png)  Залежно від обраного формату шаблони експортуються в локальний файл із назвою за замовчуванням:  - `zabbix_export_templates.yaml` - в експорті YAML (параметр експорту за замовчуванням); - `zabbix_export_templates.xml` - в експорті XML; - `zabbix_export_templates.json` - в експорті JSON.

en-us	### Failover to standby node  Zabbix will fail over to another node automatically if the active node stops. There  must be at least one node in standby status for the failover to happen.  How fast will the failover be? All nodes update their last access time (and status, if  it is changed) every 5 seconds. So:   -   If the active node shuts down and manages to report its status  as "stopped", another node will take over within **5 seconds**.  -   If the active node shuts down/becomes unavailable without being able to update  its status, standby nodes will wait for the **failover delay** + 5 seconds to take over  The failover delay is configurable, with the supported range between 10 seconds and 15  minutes (one minute by default). To change the failover delay, you may run:  ``` zabbix_server -R ha_set_failover_delay=5m ```
uk	### Перехід на резервний вузол  Zabbix автоматично переключається на інший вузол, якщо активний вузол зупиняється. Для того, щоб відбулося переключення, принаймні один вузол повинен перебувати у стані очікування..  Як швидко відбуватиметься переключення? Усі вузли оновлюють свій час останнього доступу (і статус, якщо він змінився) кожні 5 секунд. Отже:  - Якщо активний вузол вимикається та встигає повідомити про свій статус як "зупинений", інший вузол займе його місце протягом **5 секунд**.  - Якщо активний вузол вимикається/стає недоступним без можливості оновлення свого статусу, резервні вузли чекатимуть **затримку перемикання на інший ресурс** + 5 секунд  Затримку перемикання на інший ресурс можна налаштувати в діапазоні від 10 секунд до 15 хвилин (за замовчуванням одна хвилина). Щоб змінити затримку перемикання на інший ресурс, ви можете виконати команду:  ``` zabbix_server -R ha_set_failover_delay=5m ```

en-us	##### File example  ```php <?php  return [     'BRAND_LOGO' => './my_images/custom_logo.png',     'BRAND_LOGO_SIDEBAR' => './my_images/custom_logo_sidebar.png',     'BRAND_LOGO_SIDEBAR_COMPACT' => './my_images/custom_logo_sidebar_compact.png',     'BRAND_FOOTER' => '© Zabbix',     'BRAND_HELP_URL' => 'https://www.example.com/help/' ]; ```
uk	##### Приклад файлу  ```php <?php  return [      'BRAND_LOGO' => './my_images/custom_logo.png',      'BRAND_LOGO_SIDEBAR' => './my_images/custom_logo_sidebar.png',      'BRAND_LOGO_SIDEBAR_COMPACT' => './my_images/custom_logo_sidebar_compact.png',      'BRAND_FOOTER' => '© Zabbix',      'BRAND_HELP_URL' => 'https://www.example.com/help/' ]; ```

en-us	## FILES  */usr/local/etc/zabbix\_agent2.conf*   Default location of Zabbix agent 2 configuration file (if not modified during compile time).  [ ]{#lbAH}
uk	## ФАЙЛИ  */usr/local/etc/zabbix\_agent2.conf* Розташування файлу конфігурації Zabbix agent 2 за замовчуванням (якщо не змінено під час компіляції).  [ ]{#lbAH}

en-us	## FILES  */usr/local/etc/zabbix\_agentd.conf*   Default location of Zabbix agent configuration file (if not modified during compile time).  [ ]{#lbAI}
uk	## ФАЙЛИ  */usr/local/etc/zabbix\_agentd.conf* Типове розташування файлу конфігурації агента Zabbix (якщо не змінено під час компіляції).  [ ]{#lbAI}

en-us	## FILES  */usr/local/etc/zabbix\_proxy.conf*   Default location of Zabbix proxy configuration file (if not modified during compile time).  [ ]{#lbAI}
uk	## ФАЙЛИ  */usr/local/etc/zabbix\_proxy.conf* Розташування файлу конфігурації Zabbix проксі за замовчуванням (якщо не змінено під час компіляції).  [ ]{#lbAI}

en-us	## FILES  */usr/local/etc/zabbix\_server.conf*   Default location of Zabbix server configuration file (if not modified during compile time).  [ ]{#lbAI}
uk	## ФАЙЛИ  */usr/local/etc/zabbix\_server.conf* Розташування файлу конфігурації Zabbix серверу за замовчуванням (якщо не змінено під час компіляції).  [ ]{#lbAI}

en-us	## FILES  */usr/local/etc/zabbix\_web\_service.conf*   Default location of Zabbix web service configuration file (if not modified during compile time).  [ ]{#lbAG}
uk	## ФАЙЛИ  */usr/local/etc/zabbix\_web\_service.conf* Розташування файлу конфігурації веб-сервісу Zabbix за замовчуванням (якщо не змінено під час компіляції).  [ ]{#lbAG}

en-us	##### - Firewall configuration  The appliance uses iptables firewall with predefined rules:  -   Opened SSH port (22 TCP); -   Opened Zabbix agent (10050 TCP) and Zabbix trapper (10051 TCP)     ports; -   Opened HTTP (80 TCP) and HTTPS (443 TCP) ports; -   Opened SNMP trap port (162 UDP); -   Opened outgoing connections to NTP port (53 UDP); -   ICMP packets limited to 5 packets per second; -   All other incoming connections are dropped.
uk	##### - Налаштування брандмауера  Готове рішення використовує брандмауер iptables із попередньо визначеними правилами:  -   Відкритий порт SSH (22 TCP); -   Відкрито порти Zabbix agent (10050 TCP) і Zabbix trapper (10051 TCP); -   Відкриті порти HTTP (80 TCP) і HTTPS (443 TCP); -   Відкритий порт SNMP trap (162 UDP); -   Відкриті вихідні з'єднання на порт NTP (53 UDP); -   Пакети ICMP обмежені 5 пакетами в секунду; -   Усі інші вхідні з'єднання скидаються.

en-us	### Further reading  Now, you have enough knowledge to start working with the Zabbix API, however, do not stop here. For further reading you are advised to have a look at the [list of available APIs](/manual/api/reference).
uk	### Більше інформації  Тепер у вас достатньо знань, щоб почати працювати з Zabbix API, однак не зупиняйтеся на цьому. Для подальшого читання радимо переглянути [список доступних API](/manual/api/reference).

en-us	# graph.create
uk	# graph.create

en-us	# graph.delete
uk	# graph.delete

en-us	# graph.get
uk	# graph.get

en-us	# graphitem.get
uk	# graphitem.get

en-us	# graphprototype.create
uk	# graphprototype.create

en-us	# graphprototype.delete
uk	# graphprototype.delete

en-us	# graphprototype.get
uk	# graphprototype.get

en-us	# graphprototype.update
uk	# graphprototype.update

en-us	##### Graphs  With the item working for a while, it might be time to see something visual. [Simple graphs](/manual/config/visualization/graphs/simple) are available for any monitored numeric item without any additional configuration. These graphs are generated on runtime.  To view the graph, go to *Monitoring → Latest data* and click on the 'Graph' link next to the item.  ![](../../../assets/en/manual/quickstart/simple_graph.png){width="600"}
uk	##### Графіки  Коли елемент даних працює деякий час, можливо, настав час побачити щось візуальне. [Прості графіки](/manual/config/visualization/graphs/simple) доступні для будь-якого відстежуваного числового елемента даних без додаткового налаштування. Ці графіки генеруються під час виконання.  Щоб переглянути графік, перейдіть до *Моніторинг → Останні дані* та натисніть посилання 'Графік' поруч із елементом даних.  ![](../../../assets/en/manual/quickstart/simple_graph.png){width="600"}

en-us	# graph.update
uk	# graph.update

en-us	# hanode.get
uk	# hanode.get

en-us	# history.clear
uk	# history.clear

en-us	# history.get
uk	# history.get

en-us	# host.create
uk	# host.create

en-us	# host.delete
uk	# host.delete

en-us	# host.get
uk	# host.get

en-us	# hostgroup.create
uk	# hostgroup.create

en-us	# hostgroup.delete
uk	# hostgroup.delete

en-us	# hostgroup.get
uk	# hostgroup.get

en-us	# hostgroup.massadd
uk	# hostgroup.massadd

en-us	# hostgroup.massremove
uk	# hostgroup.massremove

en-us	# hostgroup.massupdate
uk	# hostgroup.massupdate

en-us	# hostgroup.update
uk	# hostgroup.update

en-us	# hostinterface.create
uk	# hostinterface.create

en-us	# hostinterface.delete
uk	# hostinterface.delete

en-us	# hostinterface.get
uk	# hostinterface.get

en-us	# hostinterface.massadd
uk	# hostinterface.massadd

en-us	# hostinterface.massremove
uk	# hostinterface.massremove

en-us	# hostinterface.replacehostinterfaces
uk	# hostinterface.replacehostinterfaces

en-us	# hostinterface.update
uk	# hostinterface.update

en-us	# host.massadd
uk	# host.massadd

en-us	# host.massremove
uk	# host.massremove

en-us	# host.massupdate
uk	# host.massupdate

en-us	# hostprototype.create
uk	# hostprototype.create

en-us	# hostprototype.delete
uk	# hostprototype.delete

en-us	# hostprototype.get
uk	# hostprototype.get

en-us	# hostprototype.update
uk	# hostprototype.update

en-us	# host.update
uk	# host.update

en-us	# housekeeping.get
uk	# housekeeping.get

en-us	# housekeeping.update
uk	# housekeeping.update

en-us	 ### How modules work  -   An enabled module is launched on each HTTP request, before executing the action code. -   The module will register new actions or redefine the existing ones. -   The module will add new frontend sections and remove or redefine the existing ones. -   The module will hook to frontend events like onBeforeAction and onTerminate, if needed. -   The requested action is finally executed by running the action code - either the default one, or module-defined.
uk	 ### Як працюють модулі  - Увімкнений модуль запускається під час кожного HTTP запиту перед виконанням коду дії. - Модуль буде реєструвати нові дії або перевизначати існуючі. - Модуль додасть нові розділи інтерфейсу та видалить або перевизначить існуючі. - Якщо потрібно, модуль підключатиметься до зовнішніх подій, таких як onBeforeAction і onTerminate. - Запитувана дія остаточно виконується шляхом запуску коду дії - стандартного або визначеного модулем.

en-us	#### How to  First you need to create a PHP file and save it as *local/conf/brand.conf.php*. The contents of the file should be as follows:  ```php <?php  return []; ```  This will hide the links to the *Zabbix Support* and *Zabbix Integrations* pages.
uk	#### Як це зробити  Спочатку вам потрібно створити файл PHP і зберегти його як *local/conf/brand.conf.php*. Вміст файлу має бути таким:  ```php <?php  return []; ```  Це приховає посилання на сторінки *підтримка Zabbix* і *інтеграція Zabbix*.

en-us	# httptest.create
uk	# httptest.create

en-us	# httptest.delete
uk	# httptest.delete

en-us	# httptest.get
uk	# httptest.get

en-us	# httptest.update
uk	# httptest.update

en-us	# iconmap.create
uk	# iconmap.create

en-us	# iconmap.delete
uk	# iconmap.delete

en-us	# iconmap.get
uk	# iconmap.get

en-us	# iconmap.update
uk	# iconmap.update

en-us	 ### id  Module ID. Must be unique. To avoid future naming conflicts, it is recommended to use prefix for modules (author or company name, or any other). For example, if a module is an example for lessons and the module name is "My module", then the ID will be "example_my_module".  *Type*: String  *Example*:  ```json "id": "example_my_module" ```
uk	 ### id  ID модуля. Повинно бути унікальним. Щоб уникнути майбутніх конфліктів іменування, рекомендується використовувати префікс для модулів (назва автора, компанії чи будь-який інший). Наприклад, якщо модуль є прикладом для уроків, а назва модуля – «Мій модуль», тоді ідентифікатор буде «example_my_module».  *Тип*: String  *Приклад*:  ```json "id": "example_my_module" ```

en-us	# image.create
uk	# image.create

en-us	# image.delete
uk	# image.delete

en-us	# image.get
uk	# image.get

en-us	# image.update
uk	# image.update

en-us	 ### Implementation details  The high availability (HA) cluster is an opt-in solution and it is supported for Zabbix server. The native HA solution is designed to be simple in use, it will work across sites and does not have specific requirements for the databases that Zabbix recognizes. Users are free to use the native Zabbix HA solution, or a third-party HA solution, depending on what best suits the high availability requirements in their environment.  The solution consists of multiple zabbix\_server instances or nodes. Every node:  -   is configured separately -   uses the same database -   may have several modes: active, standby, unavailable, stopped  Only one node can be active (working) at a time. A standby node runs only one  process - the HA manager. A standby node does no data collection,  processing or other regular server activities; they do not listen  on ports; they have minimum database connections.  Both active and standby nodes update their last access time every 5 seconds. Each standby node monitors the last access time of the active node. If the last access time of the active node is over 'failover delay' seconds, the standby node switches itself to be the active node and assigns 'unavailable' status to the previously active node.  The active node monitors its own database connectivity - if it is lost for more than `failover delay-5` seconds, it must stop all processing and switch to standby mode. The active node also monitors the status of the standby nodes - if the last access time of a standby node is over 'failover delay' seconds, the standby node is assigned the 'unavailable' status.  The nodes are designed to be compatible across minor Zabbix versions.
uk	### Деталі реалізації  Кластер високої доступності (HA) - це опціональне рішення, яке підтримується Zabbix сервером. Власне рішення HA розроблено таким, щоб бути простим у використанні. Воно буде працювати між різними сайтами і не має специфічних вимог до баз даних, які розпізнає Zabbix. Користувачі можуть вільно використовувати власне рішення Zabbix HA або сторонні рішення HA, в залежності від того, що найкраще відповідає вимогам високої доступності в їхньому середовищі.  Рішення складається з кількох екземплярів zabbix\_server або вузлів. Кожен вузол:  - налаштовується окремо - використовує ту саму базу даних - може мати декілька режимів: активний, очікування, недоступний, зупинений  Одночасно активним (працюючим) може бути лише один вузол. На резервному вузлі виконується лише один процес - HA manager. Резервний вузол не виконує збір, обробку даних або іншу звичайну серверну діяльність; він не прослуховує порти; він має мінімум підключень до баз даних.  Як активні, так і резервні вузли оновлюють час свого останнього доступу кожні 5 секунд. Кожен резервний вузол відстежує час останнього доступу активного вузла. Якщо час останнього доступу активного вузла перевищує "затримку перемикання на інший ресурс", резервний вузол стає активним і присвоює статус "недоступний" попередньому активному вузлу.  Активний вузол відстежує власне з'єднання з базою даних - якщо воно втрачається більш ніж на "затримку перемикання на інший ресурс - 5" секунд, він повинен зупинити всю подальшу роботу і перейти в режим очікування. Активний вузол також відстежує стан резервних вузлів - якщо час останнього доступу резервного вузла перевищує "затримку перемикання на інший ресурс" секунд, резервному вузлу присвоюється статус "недоступний".  Вузли розроблені таким чином, щоб бути сумісними між мінорними версіями Zabbix.

en-us	## Index  [NAME](#lbAB)    [SYNOPSIS](#lbAC)    [DESCRIPTION](#lbAD)    [OPTIONS](#lbAE)    [EXAMPLES](#lbAF)    [SEE ALSO](#lbAG)    ------------------------------------------------------------------------  This document was created on: 21:23:35 GMT, March 18, 2020
uk	## Покажчик  [ІМ'Я](#lbAB)    [СИНТАКСИС](#lbAC)    [ОПИС](#lbAD)    [ПАРАМЕТРИ](#lbAE)    [ПРИКЛАДИ](#lbAF)    [ДИВ. ТАКОЖ](#lbAG)    ------------------------------------------------------------------------  Цей документ створено о 21:23:35 GMT, 18 березня 2020 року

en-us	## Index  [NAME](#lbAB)    [SYNOPSIS](#lbAC)    [DESCRIPTION](#lbAD)    [OPTIONS](#lbAE)    [FILES](#lbAF)    [SEE ALSO](#lbAG)    [AUTHOR](#lbAH)    ------------------------------------------------------------------------  This document was created on: 12:58:30 GMT, June 11, 2021
uk	## Покажчик  [ІМ'Я](#lbAB)  [СИНТАКСИС](#lbAC)  [ОПИС](#lbAD)  [ОПЦІЇ](#lbAE)  [ФАЙЛИ](#lbAF)  [ТАКОЖ ДИВИСЬ](#lbAG)  [АВТОР](#lbAH)  ------------------------------------------------------------------------  Цей документ створено о 12:58:30 GMT, 11 червня 2021 року

en-us	## Index  [NAME](#lbAB)  [SYNOPSIS](#lbAC)  [DESCRIPTION](#lbAD)  [OPTIONS](#lbAE)  [](#lbAF)      [EXAMPLES](#lbAG)  [SEE ALSO](#lbAH)  [AUTHOR](#lbAI)  ------------------------------------------------------------------------  This document was created on: 08:42:29 GMT, June 11, 2021
uk	## Покажчик  [ІМ'Я](# фунтів АБ)  [СИНТАКСИС](#lbAC)  [ОПИС](#lb AD)  [ПААМЕТРИ](#lbAE)  [](#lbAF)      [ПРИКЛАДИ](#lbAG)  [ДИВ. ТАКОЖ](#lbAH)  [АВТОР](#lbAI)  -------------------------------------------------- ----------------------  Цей документ створено о 08:42:29 GMT, 11 червня 2021 року

en-us	## Index  [NAME](#lbAB)  [SYNOPSIS](#lbAC)  [DESCRIPTION](#lbAD)  [OPTIONS](#lbAE)  [](#lbAF)      [EXIT STATUS](#lbAG)  [EXAMPLES](#lbAH)  [SEE ALSO](#lbAI)  [AUTHOR](#lbAJ)  ------------------------------------------------------------------------  This document was created on: 08:42:39 GMT, June 11, 2021
uk	## Покажчик  [ІМ'Я](#lbAB)  [СИНТАКСИС](#lbAC)  [ОПИС](#lbAD)  [ПАРАМЕТРИ](#lbAE)  [](#lbAF)      [СТАТУС ВИХОДУ](#lbAG)  [ПРИКЛАДИ](#lbAH)  [ДИВІТЬСЯ ТАКОЖ](#lbAI)  [АВТОР](#lbAJ)  ------------------------------------------------------------------------  Цей документ створено: 08:42:39 GMT, 11 червня 2021 року

en-us	## Index  [NAME](#lbAB)  [SYNOPSIS](#lbAC)  [DESCRIPTION](#lbAD)  [OPTIONS](#lbAE)  [](#lbAF)      [FILES](#lbAG)  [SEE ALSO](#lbAH)  [AUTHOR](#lbAI)  ------------------------------------------------------------------------  This document was created on: 14:07:57 GMT, November 22, 2021
uk	## Покажчик  [ІМ'Я](#lbAB)  [СИНТАКСИС](#lbAC)  [ОПИС](#lbAD)  [ПАРАМЕТРИ](#lbAE)  [](#lbAF)      [ФАЙЛИ](#lbAG)  [ДИВ. ТАКОЖ](#lbAH)  [АВТОР](#lbAI)  -------------------------------------------------- ----------------------  Цей документ створено о 14:07:57 GMT, 22 листопада 2021 року

en-us	## Index  [NAME](#lbAB)  [SYNOPSIS](#lbAC)  [DESCRIPTION](#lbAD)  [OPTIONS](#lbAE)  [](#lbAF)  [](#lbAG)      [FILES](#lbAH)  [SEE ALSO](#lbAI)  [AUTHOR](#lbAJ)  ------------------------------------------------------------------------  This document was created on: 16:12:14 GMT, September 04, 2020
uk	## Покажчик  [ІМ'Я](#lbAB)  [СИНТАКСИС](#lbAC)  [ОПИС](#lbAD)  [ПАРАМЕТРИ](#lbAE)  [](#lbAF)  [](#lbAG)      [ФАЙЛИ](#lbAH)  [ДИВ. ТАКОЖ](#lbAI)  [АВТОР](#lbAJ)  -------------------------------------------------- ----------------------  Цей документ створено 04 вересня 2020 року о 16:12:14 GMT

en-us	## Index  [NAME](#lbAB)  [SYNOPSIS](#lbAC)  [DESCRIPTION](#lbAD)  [OPTIONS](#lbAE)  [](#lbAF)  [](#lbAG)      [FILES](#lbAH)  [SEE ALSO](#lbAI)  [AUTHOR](#lbAJ)  ------------------------------------------------------------------------  This document was created on: 16:12:22 GMT, September 04, 2020
uk	## Покажчик  [ІМ'Я](#lbAB)  [СИНТАКСИС](#lbAC)  [ОПИС](#lbAD)  [ПАРАМЕТРИ](#lbAE)  [](#lbAF)  [](#lbAG)      [ФАЙЛИ](#lbAH)  [ДИВ. ТАКОЖ](#lbAI)  [АВТОР](#lbAJ)  -------------------------------------------------- ----------------------  Цей документ створено о 16:12:22 GMT, 04 вересня 2020 року

en-us	#### Installing Zabbix  If installing Zabbix directly from [Zabbix git repository](https://git.zabbix.com/projects/ZBX/repos/zabbix/browse), translation files should be generated manually. To generate translation files, run:      make gettext     locale/make_mo.sh  This step is not needed when installing Zabbix from packages or source tar.gz files.
uk	#### Встановлення Zabbix  Якщо Zabbix встановлюється безпосередньо з [git-сховища Zabbix](https://git.zabbix.com/projects/ZBX/repos/zabbix/browse), файли перекладу слід створити вручну. Щоб створити файли перекладу, запустіть:       зробити gettext      locale/make_mo.sh  Цей крок не потрібен, якщо Zabbix встановлюється з пакетів або вихідних файлів tar.gz.

en-us	# item.create
uk	# item.create

en-us	# item.delete
uk	# item.delete

en-us	# item.get
uk	# item.get

en-us	# itemprototype.create
uk	# itemprototype.create

en-us	# itemprototype.delete
uk	# itemprototype.delete

en-us	# itemprototype.get
uk	# itemprototype.get

en-us	# itemprototype.update
uk	# itemprototype.update

en-us	# item.update
uk	# item.update

en-us	##### Item value preprocessing  The **Preprocessing** tab allows to define [transformation rules](/manual/config/items/preprocessing) for the received values.
uk	##### Попередня обробка значення елемента даних  Вкладка **Попередня обробка** дозволяє визначити [transformation rules](/manual/config/items/preprocessing) для отриманих значень.

en-us	#### Kiosk mode  The kiosk mode in supported frontend pages can be activated using URL parameters. For example, in dashboards:  -   `/zabbix.php?action=dashboard.view&kiosk=1` - activate kiosk mode -   `/zabbix.php?action=dashboard.view&kiosk=0` - activate normal mode
uk	#### Режим кіоску  Режим кіоску на підтримуваних зовнішніх сторінках можна активувати за допомогою параметрів URL-адреси. Наприклад, на інформаційних панелях:  - `/zabbix.php?action=dashboard.view&kiosk=1` - активувати режим кіоску - `/zabbix.php?action=dashboard.view&kiosk=0` - активувати звичайний режим

en-us	##### Lifecycle methods  The widget lifecycle methods are invoked by the dashboard, and at different stages of the widget's lifecycle during its existence within the dashboard.
uk	##### Методи життєвого циклу  Методи життєвого циклу віджета викликаються інформаційною панеллю та на різних етапах життєвого циклу віджета під час його існування на інформаційній панелі.

en-us	 #### Limitations  Zabbix agent for Windows does not support non-standard Windows configurations where CPUs are distributed non-uniformly across NUMA nodes. If logical CPUs are distributed non-uniformly, then CPU performance metrics may not be available for some CPUs. For example, if there are 72 logical CPUs with 2 NUMA nodes, both nodes must have 36 CPUs each.
uk	#### Обмеження  Агент Zabbix для Windows не підтримує нестандартні конфігурації Windows, де процесори розподіляються нерівномірно між вузлами NUMA. Якщо логічні ЦП розподілені нерівномірно, показники продуктивності ЦП можуть бути недоступні для деяких ЦП. Наприклад, якщо є 72 логічних ЦП з 2 вузлами NUMA, обидва вузли повинні мати по 36 ЦП кожен.

en-us	##### Linking pre-defined templates to hosts  As you may have noticed, Zabbix comes with a set of predefined templates for various OS, devices and applications. To get started with monitoring very quickly, you may link the appropriate one of them to a host, but beware that these templates need to be fine-tuned for your environment. Some checks may not be needed, and polling intervals may be way too frequent.  More information about [templates](/manual/config/templates) is available.
uk	##### Пов'язування попередньо визначених шаблонів на вузли мережі  Як ви могли помітити, Zabbix поставляється з набором попередньо визначених шаблонів для різних ОС, пристроїв і програм. Щоб дуже швидко розпочати моніторинг, ви можете зв’язати відповідний із них із вузлом мережі, але пам’ятайте, що ці шаблони потрібно точно налаштувати для вашого середовища. Деякі перевірки можуть не знадобитися, а інтервали опитування можуть бути надто частими.  Доступна додаткова інформація про [шаблони](/manual/config/templates).

en-us	#### Linking template to host  With a template ready, it only remains to add it to a host. For that, go to *Data collection → Hosts*, click on 'New host' to open its property form and find the **Templates** field.  Start typing *New template* in the *Templates* field. The name of template we have created should appear in the dropdown list. Scroll down to select. See that it appears in the *Templates* field.  ![](../../../assets/en/manual/quickstart/link_template.png)  Click *Update* in the form to save the changes. The template is now added to the host, with all entities that it holds.  This way it can be applied to any other host as well. Any changes to the items, triggers and other entities at the template level will propagate to the hosts the template is linked to.
uk	#### Пов'язування шаблону з вузлом мережі  З шаблоном готово, залишається тільки додати його на вузол мережі. Для цього перейдіть до *Збір даних → Хости*, клацніть 'New host', щоб відкрити форму його властивостей, і знайдіть поле **Шаблони**.  Почніть вводити *Новий шаблон* у полі *Шаблони*. Назва шаблону, який ми створили, має з’явитися у спадному списку. Прокрутіть вниз, щоб вибрати. Переконайтеся, що він з’явився в полі *Шаблони*.  ![](../../../assets/en/manual/quickstart/link_template.png)  Натисніть *Оновити* у формі, щоб зберегти зміни. Тепер шаблон додано до вузла мережі з усіма об’єктами, які він містить.  Таким чином його можна також застосувати до будь-якого іншого вузла мережі. Будь-які зміни в елементах даних, тригерах та інших сутностях на рівні шаблону поширюватимуться на вузли мережі, з якими пов’язано шаблон.

en-us	#### Login  ![](../../../assets/en/manual/quickstart/login.png){width="350"}  This is the Zabbix welcome screen. Enter the user name **Admin** with password **zabbix** to log in as a [Zabbix superuser](/manual/config/users_and_usergroups/permissions). Access to all menu sections will be granted.
uk	#### Вхід  ![](../../../assets/en/manual/quickstart/login.png){width="350"}  Це екран привітання Zabbix. Введіть ім’я користувача **Admin** з паролем **zabbix**, щоб увійти як [суперкористувач Zabbix](/manual/config/users_and_usergroups/permissions). Буде надано доступ до всіх розділів меню.

en-us	# maintenance.create
uk	# maintenance.create

en-us	# maintenance.delete
uk	# maintenance.delete

en-us	# maintenance.get
uk	# maintenance.get

en-us	### Managing HA cluster  The current status of the HA cluster can be managed using the dedicated [runtime control](/manual/concepts/server#runtime_control) options:  -   `ha_status` - log HA cluster status in the Zabbix server log (and to stdout) -   `ha_remove_node=target` - remove an HA node identified by its     \<target\> - number of the node in the list (the number can be     obtained from the output of running ha\_status), e.g.:  ``` zabbix_server -R ha_remove_node=2 ```  Note that active/standby nodes cannot be removed.  -   `ha_set_failover_delay=delay` - set HA failover delay (between 10 seconds and 15 minutes; time     suffixes are supported, e.g. 10s, 1m)  Node status can be monitored:  -   in *Reports* → *[System     information](/manual/web_interface/frontend_sections/reports/status_of_zabbix#status_of_ha_cluster_nodes)* -   in the *System information* dashboard widget -   using the `ha_status` runtime control option of the server (see     above).  The `zabbix[cluster,discovery,nodes]` internal item can be used for node discovery, as it returns a JSON with the high-availability node information.
uk	### Керування кластером високої доступності  Поточним статусом кластера HA можна керувати за допомогою спеціальних опцій [контролю виконання](/manual/concepts/server#runtime_control):  - `ha_status` - виводити стан кластера HA в журнал Zabbix сервера (і в стандартний потік виводу) - `ha_remove_node=target` - видалити вузол HA, що ідентифікується за його     \<target\> - номер вузла в списку (номер може бути     отримано з результату запуску ha\_status), наприклад:  ``` zabbix_server -R ha_remove_node=2 ```  Зверніть увагу, що активні/резервні вузли не можна видалити.  - `ha_set_failover_delay=delay` - встановлює затримку перемикання на інший ресурс (від 10 секунд до 15 хвилин;     підтримуються суфікси часу, наприклад. 10s, 1m)  Статус вузла можна відстежувати:  - у *Звіти* → *[Інформація про систему](/manual/web_interface/frontend_sections/reports/status_of_zabbix#status_of_ha_cluster_nodes)* - у віджеті інформаційної панелі *Інформація про систему* - за допомогою опції контролю виконяння ha_status (див     вище).  Для виявлення нод можна використовувати внутрішній елемент даних zabbix[cluster,discovery,nodes], оскільки він повертає JSON дані з інформацією про ноди високої доступності.

en-us	 # manifest.json  Any module needs the manifest.json file. The file must be located in the module's primary directory (for example, *zabbix/ui/modules/module_name/manifest.json*).  As a bare minimum, manifest.json should specify these fields:  ```json {     "manifest_version": 2.0,     "id": "my_ip_address",     "name": "My IP Address",     "namespace": "MyIPAddress",     "version": "1.0" } ```  Parameters supported in **manifest.json** (press on the parameter name for a detailed description):  |Parameter |Description |Required | |--|--------|--| |[manifest_version](#manifest-version)|Manifest version of the module.| Yes | |[id](#id) |Unique module ID. |^| |[name](#name) |Module name that will be displayed in the Administration section. |^| |[namespace](#namespace) |PHP namespace for module classes.|^| |[version](#version) |Module version. |^| |[type](#type) |Type of the module. For widget must be set to *widget* | Yes for widgets, otherwise no | |[widget](#widget) |Widget configuration. Used for widgets only. |^| |[actions](#actions) | Actions to register with the module. |^| |[assets](#assets) | CSS styles and JavaScript files to include. | No | |[author](#author) |Module author. |^| |[config](#config) |Default values for custom module options. |^| |[description](#description) |Module description.|^| |[url](#url) |A link to the module description. |^|
uk	 # manifest.json  Для будь-якого модуля потрібний файл manifest.json. Файл має бути розташований у основному каталозі модуля (наприклад *zabbix/ui/modules/module_name/manifest.json*).  Як мінімум, у файлі manifest.json мають бути вказані такі поля:  ```json { "manifest_version": 2.0, "id": "my_ip_address", "name": "My IP Address", "namespace": "MyIPAddress", "version": "1.0" } ```  Параметри, які підтримуються в **manifest.json** (натисніть назву параметра для детального опису):  |Параметр |Опис |Обов'язковий | |--|--------|--| |[manifest_version](#manifest-version)|Версія маніфесту модуля.| Так | |[id](#id) |Унікальний ідентифікатор модуля. |^| |[name](#name) |Назва модуля, що відображатиметься в розділі Адміністрування. |^| |[namespace](#namespace) |Простір імен PHP для класів модулів.|^| |[version](#version) |Версія модуля. |^| |[type](#type) |Тип модуля. Для віджета потрібно встановити *widget* | Так для віджетів, ні для решти | |[widget](#widget) |Конфігурація віджета. Використовується лише для віджетів. |^| |[actions](#actions) | Дії для реєстрації в модулі. |^| |[assets](#assets) | Стилі CSS і файли JavaScript для включення. | Ні | |[author](#author) |Автор модуля. |^| |[config](#config) |Значення за замовчуванням для користувацьких параметрів модуля. |^| |[description](#description) |Опис модуля.|^| |[url](#url) |Посилання на опис модуля. |^|

en-us	 ### manifest_version {#manifest-version}  Manifest version of the module. Currently, supported version is **2.0**.  *Type*: Double  *Example*:   ```json "manifest_version": 2.0 ```
uk	 ### manifest_version {#manifest-version}  Версія маніфесту модуля. Наразі підтримується версія **2.0**.  *Тип*: Double  *Приклад*:  ```json "manifest_version": 2.0 ```

en-us	##### Mass editing options  Buttons below the list offer some mass-editing options:  -   *Enable* - change trigger status to *Enabled*. -   *Disable* - change trigger status to *Disabled*. -   *Copy* - copy the triggers to other hosts or templates. -   *Mass update* - update several properties for a number of triggers     at once. -   *Delete* - delete the triggers.  To use these options, mark the checkboxes before the respective triggers, then click on the required button.
uk	##### Mass editing options  Buttons below the list offer some mass-editing options:  -   *Enable* - change trigger status to *Enabled* -   *Disable* - change trigger status to *Disabled* -   *Copy* - copy the triggers to other hosts or templates -   *Mass update* - update several properties for a number of triggers     at once -   *Delete* - delete the triggers  To use these options, mark the checkboxes before the respective triggers, then click on the required button.

en-us	### Module example  - When creating a host group, grant read permissions to configured user groups - [hg_auto_perm.zip](/../assets/en/devel/modules/examples/hg_auto_perm.zip)
uk	### Приклад модуля  - Під час створення групи хостів надайте дозволи на читання налаштованим групам користувачів - [hg_auto_perm.zip](/../assets/en/devel/modules/examples/hg_auto_perm.zip)

en-us	 # Module file structure  All code related to a module is stored in a single directory inside the **modules** directory of your Zabbix frontend installation (for example, *zabbix/ui/modules*).
uk	 # Структура файлів модуля  Весь код, пов’язаний з модулем, зберігається в одному каталозі всередині каталогу **modules** вашої установки web-інтерфейсу Zabbix (наприклад, *zabbix/ui/modules*).

en-us	### Module file tree  ````yaml example_module_directory/          (required)    manifest.json                   (required)  Metadata and action definition.    Module.php                                  Module initialization and event handling.    actions/                                    Action controller files.        SomethingView.php        SomethingCreate.php        SomethingDelete.php        data_export/            ExportAsXml.php            ExportAsExcel.php    views/                                      View files.        example.something.view.php        example.something.delete.php    assets/                                     Any additional files to be used in views. Must be specified in manifest.json.        js/                                     JavaScript files used in views.            example.something.view.js.php        css/                                    CSS files used in views.            example.something.css         image.png                              Images used in views.         example.something.file                 Any file for using in views. ````
uk	### Дерево файлів модуля  ````yaml example_module_directory/ (обов’язково)    manifest.json (обов’язково) Метадані та визначення дії.    Module.php Ініціалізація модуля та обробка подій.    actions/ Файли управління діями.    SomethingView.php    SomethingCreate.php    SomethingDelete.php    data_export/    ExportAsXml.php    ExportAsExcel.php    views/ view файли.    example.something.view.php    example.something.delete.php    assets/ Будь-які додаткові файли для використання у view. Необхідно вказати в manifest.json.    js/файли JavaScript, які використовуються у view.    example.something.view.js.php    css/ файли CSS, які використовуються у view.    example.something.css    image.png Зображення, що використовуються у view.    example.something.file Будь-який файл для використання у view. ````

en-us	 # Modules
uk	 # Модулі

en-us	 ##### Modules
uk	##### Модулі

en-us	 Most trigger functions are evaluated based on item value [history](/manual/config/items/history_and_trends) data, while some trigger functions for long-term analytics, e.g. **trendavg()**, **trendcount()**, etc, use trend data.
uk	 Most trigger functions are evaluated based on item value [history](/manual/config/items/history_and_trends) data, while some trigger functions for long-term analytics, e.g. **trendavg()**, **trendcount()**, etc, use trend data.

en-us	#### MySQL  -   CR\_CONN\_HOST\_ERROR -   CR\_SERVER\_GONE\_ERROR -   CR\_CONNECTION\_ERROR -   CR\_SERVER\_LOST -   CR\_UNKNOWN\_HOST -   ER\_SERVER\_SHUTDOWN -   ER\_ACCESS\_DENIED\_ERROR -   ER\_ILLEGAL\_GRANT\_FOR\_TABLE -   ER\_TABLEACCESS\_DENIED\_ERROR -   ER\_UNKNOWN\_ERROR
uk	#### MySQL  -   CR\_CONN\_HOST\_ERROR -   CR\_SERVER\_GONE\_ERROR -   CR\_CONNECTION\_ERROR -   CR\_SERVER\_LOST -   CR\_UNKNOWN\_HOST -   ER\_SERVER\_SHUTDOWN -   ER\_ACCESS\_DENIED\_ERROR -   ER\_ILLEGAL\_GRANT\_FOR\_TABLE -   ER\_TABLEACCESS\_DENIED\_ERROR -   ER\_UNKNOWN\_ERROR

en-us	### MySQL  Export and import must be performed in tmux/screen to ensure that the session isn't dropped.  See also: [Important notes](#important-notes)
uk	### MySQL  Експорт і імпорт потрібно виконувати в tmux/screen, щоб гарантувати, що сеанс не буде перервано.  Дивіться також: [Важливі примітки](#important-notes)

en-us	#### MySQL  If a value contains a non-ASCII character in non UTF8 encoding - this character and the following will be discarded when the database stores this value. No warning messages will be written to the *zabbix\_server.log*.\ Relevant for at least MySQL version 5.1.61
uk	#### MySQL  Якщо значення містить символ, відмінний від ASCII, у кодуванні, відмінному від UTF8, цей символ і наступні символи буде відкинуто, коли база даних збереже це значення. На адресу не надходитимуть жодні попереджувальні повідомлення *zabbix\_server.log*.\ Актуально принаймні для версії MySQL 5.1.61

en-us	 ### name  Module name that will be displayed in the Administration section.  *Type*: String  *Example*:   ```json "name": "My module" ```
uk	 ### name  Назва модуля, яка буде відображатися в розділі Адміністрування.  *Тип*: String  *Приклад*:  ```json "name": "Мій модуль" ```

en-us	 ### namespace  PHP namespace for module classes.  *Type*: String  *Example*:   ```json "namespace": "ClockWidget" ```
uk	 ### namespace  Простір імен PHP для класів модулів.  *Тип*: String  *Приклад*:  ```json "namespace": "ClockWidget" ```

en-us	## NAME  zabbix\_agent2 - Zabbix agent 2\ \ [ ]{#lbAC}
uk	## ІМ'Я  zabbix\_agent2 - Zabbix агент 2\ \ [ ]{#lbAC}

en-us	## NAME  zabbix\_agentd - Zabbix agent daemon [ ]{#lbAC}
uk	## ІМ'Я  zabbix\_agentd - демон агента Zabbix [ ]{#lbAC}

en-us	## NAME  zabbix\_get - Zabbix get utility [ ]{#lbAC}
uk	## ІМ'Я  zabbix\_get - утиліта Zabbix для отримання метрик[ ]{#lbAC}

en-us	## NAME  zabbix\_js - Zabbix JS utility [ ]{#lbAC}
uk	## ІМ'Я  zabbix\_js - утиліта Zabbix JS [ ]{#lbAC}

en-us	## NAME  zabbix\_proxy - Zabbix proxy daemon [ ]{#lbAC}
uk	## ІМ'Я  zabbix\_proxy - Zabbix проксі-демон [ ]{#lbAC}

en-us	## NAME  zabbix\_sender - Zabbix sender utility [ ]{#lbAC}
uk	## ІМ'Я  zabbix\_sender - утиліта Zabbix для відправки метрик [ ]{#lbAC}

en-us	## NAME  zabbix\_server - Zabbix server daemon [ ]{#lbAC}
uk	## ІМ'Я  zabbix\_server - сервіс Zabbix сервер [ ]{#lbAC}

en-us	## NAME  zabbix\_web\_service - Zabbix web service [ ]{#lbAC}
uk	## ІМ'Я  zabbix\_web\_service - веб-сервіс Zabbix [ ]{#lbAC}

en-us	#### New action  Delivering notifications is one of the things [actions](/manual/config/notifications/action) do in Zabbix. Therefore, to set up a notification, go to *Alerts → Actions → Trigger actions* and click on *Create action*.\ ![](../../../assets/en/manual/quickstart/new_action.png)  All mandatory input fields are marked with a red asterisk.  In this form, enter a name for the action.  In the most simple case, if we do not add any more specific [conditions](/manual/config/notifications/action/conditions), the action will be taken upon any trigger change from 'Ok' to 'Problem'.  We still should define what the action should do - and that is done in the *Operations* tab. Click on *Add* in the Operations block, which opens a new operation form.  ![](../../../assets/en/manual/quickstart/new_operation.png)  All mandatory input fields are marked with a red asterisk.  Here, click on *Add* in the *Send to Users* block and select the user ('user') we have defined. Select 'Email' as the value of *Send only to*. When done with this, click on *Add*, and the operation should be added:  ![](../../../assets/en/manual/quickstart/operation_list.png){width="600"}  That is all for a simple action configuration, so click *Add* in the action form.
uk	#### Нова дія  Надсилання сповіщень є одним із способів [дій](/manual/config/notifications/action) у Zabbix. Тому, щоб налаштувати сповіщення, перейдіть до *Сповіщення → Дії → Дії тригерів* та натисніть *Створити дію*.\ ![](../../../assets/en/manual/quickstart/new_action.png)  Усі обов’язкові поля для введення позначені червоною зірочкою.  У цій формі введіть назву дії.  У найпростішому випадку, якщо не додавати більш конкретних [умов](/manual/config/notifications/action/conditions), дію буде вжито після будь-якої зміни тригера з 'ОК' на 'Проблема'.  Ми все ще повинні визначити, що має робити дія - і це робиться на вкладці *Операції*. Натисніть *Додати* у блоці Операції, що відкриє нову форму операції.  ![](../../../assets/en/manual/quickstart/new_operation.png)  Усі обов’язкові поля для введення позначені червоною зірочкою.  Тут натисніть *Додати* у блоці *Надіслати користувачам* і виберіть користувача ('користувач'), якого ми визначили. Виберіть 'Електронна пошта' як значення *Надіслати лише до*. Після цього натисніть *Додати*, і операцію буде додано:  ![](../../../assets/en/manual/quickstart/operation_list.png){width="600"}  Це все для простої конфігурації дії, тому натисніть *Додати* у формі дії.

en-us	### Notation
uk	### Позначення

en-us	 ::: notetip After enabling a trigger (changing its configuration status from *Disabled* to *Enabled*), the trigger expression is evaluated as soon as an item in it receives a value or the time to handle a time-based function comes. :::
uk	 ::: notetip After enabling a trigger (changing its configuration status from *Disabled* to *Enabled*), the trigger expression is evaluated as soon as an item in it receives a value or the time to handle a time-based function comes. :::

en-us	## OPTIONS  **-c**, **--config** *config-file*   Use *config-file*. **Zabbix sender** reads server details from the agentd configuration file. By default **Zabbix sender** does not read any configuration file. Only parameters **Hostname**, **ServerActive**, **SourceIP**, **TLSConnect**, **TLSCAFile**, **TLSCRLFile**, **TLSServerCertIssuer**, **TLSServerCertSubject**, **TLSCertFile**, **TLSKeyFile**, **TLSPSKIdentity** and **TLSPSKFile** are supported. All addresses defined in the agent **ServerActive** configuration parameter are used for sending data. If sending of batch data fails to one address, the following batches are not sent to this address.  **-z**, **--zabbix-server** *server*   Hostname or IP address of Zabbix server. If a host is monitored by a proxy, proxy hostname or IP address should be used instead. When used together with **--config**, overrides the entries of **ServerActive** parameter specified in agentd configuration file.  **-p**, **--port** *port*   Specify port number of Zabbix server trapper running on the server. Default is 10051. When used together with **--config**, overrides the port entries of **ServerActive** parameter specified in agentd configuration file.  **-I**, **--source-address** *IP-address*   Specify source IP address. When used together with **--config**, overrides **SourceIP** parameter specified in agentd configuration file.  **-t**, **--timeout** *seconds*   Specify timeout. Valid range: 1-300 seconds (default: 60)  **-s**, **--host** *host*   Specify host name the item belongs to (as registered in Zabbix frontend). Host IP address and DNS name will not work. When used together with **--config**, overrides **Hostname** parameter specified in agentd configuration file.  **-k**, **--key** *key*   Specify item key to send value to.  **-o**, **--value** *value*   Specify item value.  **-i**, **--input-file** *input-file*   Load values from input file. Specify **-** as **<input-file>** to read values from standard input. Each line of file contains whitespace delimited: **<hostname> <key> <value>**. Each value must be specified on its own line. Each line must contain 3 whitespace delimited entries: **<hostname> <key> <value>**, where "hostname" is the name of monitored host as registered in Zabbix frontend, "key" is target item key and "value" - the value to send. Specify **-** as **<hostname>** to use hostname from agent configuration file or from **--host** argument.  An example of a line of an input file:  **"Linux DB3" db.connections 43**  The value type must be correctly set in item configuration of Zabbix frontend. Zabbix sender will send up to 250 values in one connection. [Size limit](/manual/appendix/protocols/header_datalen) for sending values from an input file depends on the size described in Zabbix communication protocol. Contents of the input file must be in the UTF-8 encoding. All values from the input file are sent in a sequential order top-down. Entries must be formatted using the following rules:  - Quoted and non-quoted entries are supported. - Double-quote is the quoting character. - Entries with whitespace must be quoted. - Double-quote and backslash characters inside quoted entry must be escaped with a backslash. - Escaping is not supported in non-quoted entries. - Linefeed escape sequences (\\n) are supported in quoted strings. - Linefeed escape sequences are trimmed from the end of an entry.  **-T**, **--with-timestamps**   This option can be only used with **--input-file** option.  Each line of the input file must contain 4 whitespace delimited entries: **<hostname> <key> <timestamp> <value>**. Timestamp should be specified in Unix timestamp format. If target item has triggers referencing it, all timestamps must be in an increasing order, otherwise event calculation will not be correct.  An example of a line of the input file:  **"Linux DB3" db.connections 1429533600 43**  For more details please see option **--input-file**.  If a timestamped value is sent for a host that is in a “no data” maintenance type then this value will be dropped; however, it is possible to send a timestamped value in for an expired maintenance period and it will be accepted.  **-N**, **--with-ns**   This option can be only used with **--with-timestamps** option.  Each line of the input file must contain 5 whitespace delimited entries: **<hostname> <key> <timestamp> <ns> <value>**.  An example of a line of the input file:  **"Linux DB3" db.connections 1429533600 7402561 43**  For more details please see option **--input-file**.  **-r**, **--real-time**   Send values one by one as soon as they are received. This can be used when reading from standard input.  **--tls-connect** *value*   How to connect to server or proxy. Values:  [ ]{#lbAF}
uk	## ПАРАМЕТРИ  **-c**, **--config** *config-file* Використовуйте *config-file*. **Zabbix sender** читає деталі сервера з файлу конфігурації агента. За замовчуванням **Zabbix sender** не читає жоден файл конфігурації. Підтримуються лише параметри **Hostname**, **ServerActive**, **SourceIP**, **TLSConnect**, **TLSCAFile**, **TLSCRLFile**, **TLSServerCertIssuer**, **TLSServerCertSubject**,  **TLSCertFile**, **TLSKeyFile**, **TLSPSKIdentity** і **TLSPSKFile**. Усі адреси, визначені в параметрі конфігурації агента **ServerActive**, використовуються для надсилання даних. Якщо надсилання пакетних даних не вдається  на одну адресу, наступні пакети не надсилаються на цю адресу.  **-z**, **--zabbix-server** *server* Ім'я хоста або IP-адреса сервера Zabbix. Якщо хост контролюється проксі-сервером, замість нього слід використовувати назву хоста або IP-адресу проксі-сервера. Якщо використовується разом із **--config**, замінює записи параметра **ServerActive**, указаного у файлі конфігурації agentd.  **-p**, **--port** *port* Вкажіть номер порту трапера сервера Zabbix, який працює на сервері. За замовчуванням — 10051. Якщо використовується разом із **--config**, замінює записи порту параметра **ServerActive**, указаного у файлі конфігурації agentd.  **-I**, **--source-address** *IP-address* Вкажіть IP-адресу джерела. Якщо використовується разом із **--config**, замінює параметр **SourceIP**, указаний у файлі конфігурації agentd.  **-t**, **--timeout** *seconds* Вкажіть час очікування. Дійсний діапазон: 1-300 секунд (за замовчуванням: 60)  **-s**, **--host** *host* Вкажіть ім’я хоста, до якого належить елемент даних (як зареєстровано у інтерфейсі Zabbix). IP-адреса хоста та ім’я DNS не працюватимуть. Якщо використовується разом із **--config**, замінює параметр **Hostname**, указаний у файлі конфігурації agentd.  **-k**, **--key** *key* Укажіть ключ елемента даних, до якого потрібно надіслати значення.  **-o**, **--value** *value* Вкажіть значення елементу даних.  **-i**, **--input-file** *input-file* Завантажити значення з вхідного файлу. Укажіть **-** як **<input-file>**, щоб читати значення зі стандартного введення. Кожен рядок файлу містить розділені пробілами: **<ім’я хоста> <ключ> <значення>**. Кожне значення має бути вказано в окремому рядку. Кожен рядок має містити 3 записи, розділені пробілами: **<ім’я хоста> <ключ> <значення>**, де «ім’я хосту» — це ім’я контрольованого хосту, зареєстроване у інтерфейсі Zabbix, «ключ» — ключ цільового елемента та «значення» - значення для надсилання. Укажіть **-** як **<hostname>**, щоб використовувати ім’я хоста з файлу конфігурації агента або з аргументу **--host**.  Приклад рядка вхідного файлу:  **"Linux DB3" db.connections 43**  Тип значення має бути правильно встановлено в конфігурації елемента даних інтерфейсу Zabbix. Zabbix sender надішле до 250 значень за одне підключення. [Обмеження розміру](/manual/appendix/protocols/header_datalen) для надсилання значень із вхідного файлу залежить від розміру, описаного в протоколі зв’язку Zabbix. Вміст вхідного файлу має бути в кодуванні UTF-8. Усі значення з вхідного файлу надсилаються в послідовному порядку зверху вниз. Записи мають бути відформатовані за такими правилами:  - Підтримуються як записи в лапках так і без. - Подвійні лапки - символ взяття в лапки. - Записи з пробілами повинні бути взяті в лапки. - Символи подвійних лапок та зворотної косої риски всередині рядка, що цитується, слід екранувати зворотною косою рискою. - Екранування не підтримується в записах без лапок. - У рядках у лапках підтримуються екрановані послідовності переведення рядка (\\n). - Екран-послідовності переходу рядка обрізаються з кінця запису.  **-T**, **--with-timestamps** Цей параметр можна використовувати лише з параметром **--input-file**.  Кожен рядок вхідного файлу має містити 4 записи, розділені пробілами: **<hostname> <key> <timestamp> <ns> <value>**. Мітку часу слід вказувати у форматі Unix timestamp. Якщо цільовий елемент має тригери, які посилаються на нього, усі позначки часу мають бути в порядку зростання, інакше обчислення події буде неправильним.  Приклад рядка вхідного файлу:  **"Linux DB3" db.connections 1429533600 43**  Щоб дізнатися більше, дивіться опцію **--input-file**.  Якщо значення з міткою часу надсилається для хоста, який має тип обслуговування «немає даних», це значення буде видалено; однак можна надіслати значення з міткою часу для періоду обслуговування, що минув, і воно буде прийнято.  **-N**, **--with-ns** Цей параметр можна використовувати лише з параметром **--with-timestamps**.  Кожен рядок вхідного файлу має містити 5 записів, розділених пробілами: **<hostname> <key> <timestamp> <ns> <value>**.  Приклад рядка вхідного файлу:  **"Linux DB3" db.connections 1429533600 7402561 43**  Щоб дізнатися більше, дивіться опцію **--input-file**.  **-r**, **--real-time** Надсилайте значення одне за одним, щойно вони будуть отримані. Це можна використовувати під час читання зі стандартного введення.  **--tls-connect** *value* Як підключитися до сервера або проксі. Значення:  [ ]{#lbAF}

en-us	## OPTIONS  **-c**, **--config** *config-file*   Use the alternate *config-file* instead of the default one.  **-f**, **--foreground**   Run Zabbix agent in foreground.  **-R**, **--runtime-control** *runtime-option*   Perform administrative functions according to *runtime-option*.  [ ]{#lbAF}
uk	## ПАРАМЕТРИ  **-c**, **--config** *config-file* Використовуйте альтернативний *config-file* замість стандартного.  **-f**, **--foreground** Запустіть Zabbix агент на передньому плані.  **-R**, **--runtime-control** *runtime-option* Виконуйте адміністративні функції згідно з *runtime-option*.  [ ]{#lbAF}

en-us	## OPTIONS  **-c**, **--config** *config-file*   Use the alternate *config-file* instead of the default one.  **-f**, **--foreground**   Run Zabbix proxy in foreground.  **-R**, **--runtime-control** *runtime-option*   Perform administrative functions according to *runtime-option*.  [ ]{#lbAF}
uk	## ПАРАМЕТРИ  **-c**, **--config** *config-file* Використовуйте альтернативний *config-file* замість стандартного.  **-f**, **--foreground** Запустіть Zabbix проксі на передньому плані.  **-R**, **--runtime-control** *runtime-option* Виконуйте адміністративні функції згідно з *runtime-option*.  [ ]{#lbAF}

en-us	## OPTIONS  **-c**, **--config** *config-file*   Use the alternate *config-file* instead of the default one.  **-R**, **--runtime-control** *runtime-option*   Perform administrative functions according to *runtime-option*.
uk	## ПАРАМЕТРИ  **-c**, **--config** *config-file* Використовуйте альтернативний файл конфігурації *config-file* замість стандартного.  **-R**, **--runtime-control** *runtime-option* Виконуйте адміністративні функції згідно з *runtime-option*.

en-us	 #### Options  |Parameter|Description| |---------|-----------| |-V --version|Print the plugin version and license information.| |-h --help|Print help information (shorthand).|
uk	#### Options  |Parameter|Description| |---------|-----------| |-V --version|Print the plugin version and license information.| |-h --help|Print help information (shorthand).|

en-us	## OPTIONS  **-s**, **--script** *script-file*   Specify the file name of the script to execute. If '-' is specified as file name, the script will be read from stdin.  **-p**, **--param** *input-param*   Specify the input parameter.  **-i**, **--input** *input-file*   Specify the file name of the input parameter. If '-' is specified as file name, the input will be read from stdin.  **-l**, **--loglevel** *log-level*   Specify the log level.  **-t**, **--timeout** *timeout*   Specify the timeout in seconds. Valid range: 1\-60 seconds (default: 10)  **-h**, **--help**   Display this help and exit.  **-V**, **--version**   Output version information and exit.  [ ]{#lbAF}
uk	## ПАРАМЕТРИ  **-s**, **--script** *script-file*   Вказати ім'я файлу скрипта для виконання. Якщо в якості імені файлу вказати '-' ім'я файлу, то скрипт буде прочитано з stdin.  **-p**, **--param** *input-param*   Вказати вхідний параметр.  **-i**, **--input** *input-file*   Вказати ім'я файлу вхідного параметра. Якщо в якості імені файлу вказати '-' ім'я файлу, то вхідні дані будуть прочитані з stdin.  **-l**, **--loglevel** *log-level*   Вказати рівень журналу.  **-t**, **--timeout** *timeout*   Вказати таймаут у секундах. Допустимий діапазон: 1\-60 секунд (за замовчуванням: 10)  **-h**, **--help**   Показати цю довідку і вийти.  **-V**, **--version**   Вивести інформацію про версію і вийти.  [ ]{#lbAF}

en-us	#### Oracle  Instructions for creating and configuring Oracle database are provided in a separate [section](/manual/appendix/install/oracle).
uk	#### Oracle  Інструкції щодо створення та налаштування бази даних Oracle наведено в окремому [розділі](/manual/appendix/install/oracle).

en-us	## Other changes and bug fixes
uk	## Інші зміни та виправлення помилок

en-us	#### Overview  By default, Zabbix provides a number of predefined themes. You may follow the step-by-step procedure provided here in order to create your own. Feel free to share the result of your work with Zabbix community if you created something nice.
uk	#### Огляд  За замовчуванням Zabbix надає кілька попередньо визначених тем. Ви можете виконати наведену тут покрокову процедуру, щоб створити свій власний. Не соромтеся поділитися результатом своєї роботи зі спільнотою Zabbix, якщо ви створили щось хороше.

en-us	 ### Overview  Custom loadable plugins extend Zabbix agent 2 functionality. They are compiled separately, but use a package shared with Zabbix agent 2.   Each plugin is a *Go* package that defines the structure and implements one or several plugin interfaces (*Exporter*, *Configurator*, *Runner*).  Jump to:  - [Write your first plugin](/devel/plugins/how_to) - [Plugin interfaces](/devel/plugins/interfaces)   ### Connection diagram  Zabbix agent 2 connects bidirectionally to the plugins using UNIX sockets on Linux and Named Pipes on Windows.   The connection diagram below illustrates the communication process between Zabbix agent 2 and a loadable plugin and the metrics collection process.  ![](../../assets/en/devel/plugin/connection_diagram.png)
uk	 ### Огляд  Користувацькі завантажувані плагіни розширюють функціональність Zabbix agent 2. Вони компілюються окремо, але використовують спільний з Zabbix agent 2 пакет.   Кожен плагін — це пакет *Go*, який визначає структуру та реалізує один або кілька інтерфейсів плагіна (*Exporter*, *Configurator*, *Runner*).  Перейти до:  - [Напишіть свій перший плагін](/devel/plugins/how_to) - [Інтерфейси плагінів](/devel/plugins/interfaces)  ### Схема підключення  Zabbix agent 2 двонаправлено підключається до плагінів за допомогою UNIX-сокетів у Linux та іменованих каналів (Named Pipes) у Windows.   Наведена нижче схема з'єднання ілюструє процес зв'язку між Zabbix agent 2 і завантажуваним плагіном та процес збору метрик.  ![](../../assets/en/devel/plugin/connection_diagram.png)

en-us	### Overview  High availability (HA) is typically required in critical infrastructures  that can afford virtually no downtime. So for any service that  may fail there must be a failover option in place to take over should the current service fail.  Zabbix offers a **native** high-availability solution that is easy to  set up and does not require any previous HA expertise. Native Zabbix HA  may be useful for an extra layer of protection against software/hardware  failures of Zabbix server or to have less downtime due to maintenance.  In the Zabbix high availability mode multiple Zabbix servers are run as  nodes in a cluster. While one Zabbix server in the cluster is active,  others are on standby, ready to take over if necessary.  ![](../../../../assets/en/manual/config/zabbix_ha.png)  Switching to Zabbix HA is non-committal. You may switch back to standalone  operation at any point.  See also: [Implementation details](#implementation-details)
uk	### Огляд  Висока доступність (HA) зазвичай потрібна в критичних інфраструктурах, які практично не можуть дозволити собі простоїв. Тож, для будь-якого сервісу, який може вийти з ладу, має бути передбачена можливість переключення на інший ресурс,  у разі відмови поточного сервісу.  Zabbix пропонує **власне** рішення високої доступності, яке легко налаштувати  і яке не потребує попереднього досвіду роботи з HA. Це вбудоване рішення може  бути корисним як додатковий рівень захисту від програмних або апаратних збоїв  сервера Zabbix або для зменшення часу простою під час технічного обслуговування.  У режимі високої доступності Zabbix, кілька Zabbix серверів працюють як вузли кластеру.  Поки один Zabbix сервер у кластері активний, інші знаходяться в режимі очікування і  готові взяти на себе роботу, в разі потреби.  ![](../../../../assets/en/manual/config/zabbix_ha.png)  Перехід на Zabbix HA не є незворотнім. Ви можете повернутися до режиму  самостійної роботи в будь-який момент.  Дивіться також: [Деталі реалізації](#implementation-details)

en-us	#### Overview  In order to use any other language than English in Zabbix web interface, its locale should be installed on the web server. Additionally, the PHP gettext extension is required for the translations to work.
uk	#### Огляд  Щоб використовувати будь-яку іншу мову, окрім англійської, у веб-інтерфейсі Zabbix, її локаль повинна бути встановлена на веб-сервері. Крім того, для роботи перекладів потрібне розширення PHP gettext.

en-us	#### Overview  In this section, you will learn how to log in and set up a system user in Zabbix.
uk	#### Огляд  У цьому розділі ви дізнаєтесь, як увійти та налаштувати користувача системи Zabbix.