en-us	#### Parameters  The following parameters are available for this item:  -   **active** - memory currently in use or very recently used, and so     it is in RAM -   **anon** - memory not associated with a file (cannot be re-read from     it) -   **available** - available memory, calculated differently depending     on the platform (see the table below) -   **buffers** - cache for things like file system metadata -   **cached** - cache for various things -   **exec** - executable code, typically from a (program) file -   **file** - cache for contents of recently accessed files -   **free** - memory that is readily available to any entity requesting     memory -   **inactive** - memory that is marked as not used -   **pavailable** - 'available' memory as percentage of 'total'     (calculated as `available`/`total`\*100) -   **pinned** - same as 'wired' -   **pused** - 'used' memory as percentage of 'total' (calculated as     `used`/`total`\*100) -   **shared** - memory that may be simultaneously accessed by multiple     processes -   **slab** - total amount of memory used by the kernel to cache data     structures for its own use -   **total** - total physical memory available -   **used** - used memory, calculated differently depending on the     platform (see the table below) -   **wired** - memory that is marked to always stay in RAM. It is never     moved to disk.  ::: notewarning Some of these parameters are platform-specific and might not be available on your platform. See [Items supported by platform](/manual/appendix/items/supported_by_platform) for details. :::  Platform-specific calculation of **available** and **used**:  |Platform|**"available"**|**"used"**| |--------|---------------|----------| |*AIX*|free + cached|real memory in use| |*FreeBSD*|inactive + cached + free|active + wired + cached| |*HP UX*|free|total - free| |*Linux<3.14*|free + buffers + cached|total - free| |*Linux 3.14+*<br>(also backported to 3.10 on RHEL 7)|/proc/meminfo, see "MemAvailable" in Linux kernel [documentation](https://www.kernel.org/doc/Documentation/filesystems/proc.txt) for details.<br>Note that free + buffers + cached is no longer equal to 'available' due to not all the page cache can be freed and low watermark being used in calculation.|total - free| |*NetBSD*|inactive + execpages + file + free|total - free| |*OpenBSD*|inactive + free + cached|active + wired| |*OSX*|inactive + free|active + wired| |*Solaris*|free|total - free| |*Win32*|free|total - free|  ::: noteimportant The sum of *vm.memory.size\[used\]* and *vm.memory.size\[available\]* does not necessarily equal total. For instance, on FreeBSD:\ \* Active, inactive, wired, cached memories are considered used, because they store some useful information.\ \* At the same time inactive, cached, free memories are considered available, because these kinds of memories can be given instantly to processes that request more memory.\ \ So inactive memory is both used and available simultaneously. Because of this, the *vm.memory.size\[used\]* item is designed for informational purposes only, while *vm.memory.size\[available\]* is designed to be used in triggers. :::
fr	 #### Paramètres  Les paramètres suivants sont disponibles pour cet élément :  -   **active** - mémoire actuellement utilisée ou très récemment utilisée, et donc dans la RAM -   **anon** - mémoire non associée à un fichier (ne peut pas être relue à partir de celui-ci) -   **available** - mémoire disponible, calculée différemment selon la plate-forme (voir le tableau ci-dessous) -   **buffers** - cache pour des choses comme les métadonnées du système de fichiers -   **cached** - cache pour diverses choses -   **exec** - code exécutable, généralement à partir d'un fichier (de programme) -   **file** - cache for contents of recently accessed files -   **free** - mémoire facilement disponible pour toute entité demandant de la mémoire -   **inactive** - mémoire marquée comme non utilisée -   **pavailable** - mémoire 'disponible' en pourcentage du 'total' (calculée comme 'available'/'total'\*100) -   **pinned** - identique à 'wired' -   **pused** - mémoire 'utilisée' en pourcentage du 'total' (calculée comme `used`/`total`\*100) -   **shared** - mémoire accessible simultanément par plusieurs processus -   **slab** - quantité totale de mémoire utilisée par le noyau pour mettre en cache les structures de données pour son propre usage -   **total** - mémoire physique totale disponible -   **used** - mémoire utilisée, calculée différemment selon la plate-forme (voir le tableau ci-dessous) -   **wired** - mémoire qui est marquée pour toujours rester dans la RAM. Elle n'est jamais déplacée sur le disque.  ::: notewarning Certains de ces paramètres sont spécifiques à la plate-forme et peuvent ne pas être disponibles sur votre plate-forme. Voir [Éléments pris en charge par la plateforme](/manual/appendix/items/supported_by_platform) pour plus de détails. :::  Calcul spécifique à la plateforme de **available** et **used**:  |Plateforme|**"available"**|**"used"**| |--------|---------------|----------| |*AIX*|free + cached|mémoire réellement utilisée| |*FreeBSD*|inactive + cached + free|active + wired + cached| |*HP UX*|free|total - free| |*Linux<3.14*|free + buffers + cached|total - free| |*Linux 3.14+*<br>(également rétroporté vers 3.10 sur RHEL 7)|/proc/meminfo, voir "MemAvailable" dans la [documentation du noyau Linux](https://www.kernel.org/doc/Documentation/filesystems/proc.txt) pour plus de détails.<br>Notez que free + buffers + cached n'est plus égal à 'available' car tout le cache de page ne peut pas être libéré et le filigrane bas est utilisé dans le calcul.|total - free| |*NetBSD*|inactive + execpages + file + free|total - free| |*OpenBSD*|inactive + free + cached|active + wired| |*OSX*|inactive + free|active + wired| |*Solaris*|free|total - free| |*Win32*|free|total - free|  ::: noteimportant La somme de *vm.memory.size\[used\]* et *vm.memory.size\[available\]* n'est pas nécessairement égale au total. Par exemple, sur FreeBSD :\ \* Les mémoires active, inactive, wired et cached sont considérées comme utilisées, car elles stockent des informations utiles.\ \* En même temps, les mémoires inactive, cached et free sont considérées comme disponibles, car ces types de mémoires peuvent être donnés instantanément aux processus qui demandent plus de mémoire.\ \ Ainsi, la mémoire inactive est à la fois utilisée et available simultanément. Pour cette raison, l'élément *vm.memory.size\[used\]* est conçu à des fins d'information uniquement, tandis que *vm.memory.size\[available\]* est conçu pour être utilisé dans les déclencheurs. :::

en-us	### Parameters  The method accepts the following parameters.  |Parameter|[Type](/manual/api/reference_commentary#data_types)|Description| |--|--|------| |extend|boolean|Default value: "true". Setting it's value to "false" allows to check session without extending it's lifetime. Supported since Zabbix 4.0.| |sessionid|string|User session id.|
fr	### Paramètres  La méthode accepte les paramètres suivants.  |Paramètre|[Type](/manual/api/reference_commentary#data_types)|Description| |--|--|------| |extend|boolean|Valeur par défaut : "true". Définir sa valeur sur "false" permet de vérifier la session sans prolonger sa durée de vie. Pris en charge depuis Zabbix 4.0.| |sessionid|string|Identifiant de session utilisateur.|

en-us	#### Parameter - unquoted string  If the key parameter is an unquoted string, any Unicode character is allowed except comma and right square bracket (\]). Unquoted parameter cannot start with left square bracket (\[).  ![](../../../../../assets/en/manual/config/key_param_unquoted_string.png)
fr	#### Paramètre - chaîne sans guillemet  Si le paramètre clé est une chaîne sans guillemet, tout caractère Unicode est autorisé sauf la virgule et le crochet de droite (\]). Le paramètre sans guillemet ne peut pas commencer avec le crochet gauche (\[).  ![](../../../../../assets/fr/manual/config/items/item/key_param_unquoted_string.png)

en-us	##### Passive and active checks  Zabbix agents can perform passive and active checks.  In a [passive check](/manual/appendix/items/activepassive#passive_checks) the agent responds to a data request. Zabbix server (or proxy) asks for data, for example, CPU load, and Zabbix agent sends back the result.  [Active checks](/manual/appendix/items/activepassive#active_checks) require more complex processing. The agent must first retrieve a list of items from Zabbix server for independent processing. Then it will periodically send new values to the server.  Whether to perform passive or active checks is configured by selecting the respective monitoring [item type](/manual/config/items/itemtypes/zabbix_agent). Zabbix agent processes items of type 'Zabbix agent' or 'Zabbix agent (active)'.
fr	##### Vérifications passives et actives  Les agents Zabbix peuvent effectuer des vérifications passives et actives.  Dans une [vérification passive](/manual/appendix/items/activepassive#passive_checks), l'agent répond à une demande de données. Le serveur Zabbix (ou le proxy) demande des données, par exemple, la charge du processeur, et l'agent Zabbix renvoie le résultat.  Les [vérifications actives](/manual/appendix/items/activepassive#active_checks) nécessitent un traitement plus complexe. L'agent doit d'abord récupérer une liste d'éléments du serveur Zabbix pour un traitement indépendant. Ensuite, il enverra périodiquement de nouvelles valeurs au serveur.  Que ce soit pour effectuer des vérifications passives ou actives, cela se configure en sélectionnant un [type d'élément](/manual/config/items/itemtypes/zabbix_agent). L'agent Zabbix traite les éléments de type 'Agent Zabbix' ou 'Agent Zabbix (actif)'.

en-us	#### Passive checks  A passive check is a simple data request. Zabbix server or proxy asks for some data (for example, CPU load) and Zabbix agent sends back the result to the server.  **Server request**  For definition of header and data length please refer to [protocol details](/manual/appendix/protocols/header_datalen).      <item key>  **Agent response**      <DATA>[\0<ERROR>]  Above, the part in square brackets is optional and is only sent for not supported items.  For example, for supported items:  1.  Server opens a TCP connection 2.  Server sends **<HEADER><DATALEN>agent.ping** 3.  Agent reads the request and responds with     **<HEADER><DATALEN>1** 4.  Server processes data to get the value, '1' in our case 5.  TCP connection is closed  For not supported items:  1.  Server opens a TCP connection 2.  Server sends **<HEADER><DATALEN>vfs.fs.size\[/nono\]** 3.  Agent reads the request and responds with     **<HEADER><DATALEN>ZBX\_NOTSUPPORTED\\0Cannot obtain     filesystem information: \[2\] No such file or directory** 4.  Server processes data, changes item state to not supported with the     specified error message 5.  TCP connection is closed
fr	#### Vérifications passives  Une vérification passive est une simple demande de données. Le serveur ou le proxy Zabbix demande des données (par exemple, la charge du processeur) et l'agent Zabbix renvoie le résultat au serveur.  \*\*Requête du serveur \*\*  Pour la définition de l'en-tête et de la longueur des données, veuillez vous reporter aux [détails du protocole](/manual/appendix/protocols/header_datalen).   <item key>  **Réponse de l'agent**   <DATA>[\0<ERROR>]  Ci-dessus, la partie entre crochets est facultative et n'est envoyée que pour les éléments non supportés.  Par exemple, pour les éléments supportés :  1. Le serveur ouvre une connexion TCP 2. Le serveur envoie **<HEADER><DATALEN>agent.ping** 3. L'agent lit la requête et répond avec **<HEADER><DATALEN>1** 4. Le serveur traite les données pour obtenir la valeur, '1' dans notre cas 5. La connexion TCP est fermée  Pour les éléments non supportés :  1. Le serveur ouvre une connexion TCP 2. Le serveur envoie **<HEADER><DATALEN>vfs.fs.size\[/nono\]** 3. L'agent lit la demande et répond avec **<HEADER><DATALEN>ZBX\_NOTSUPPORTED\\0Cannot obtain filesystem information: \[2\] No such file or directory** 4. Le serveur traite les données et modifie l'état de l'élément à non supporté avec le message d'erreur spécifié. 5. La connexion TCP est fermée

en-us	#### Passive proxy
fr	#### Proxy passif

en-us	##### Passphrase authentication  SSH checks provide two authentication methods, a user/password pair and key-file based.  If you do not intend to use keys, no additional configuration is required, besides linking libssh2/libssh to Zabbix, if you're building from source.
fr	##### Authentification par phrase secrète  Les vérifications SSH fournissent deux méthodes d'authentification, un couple utilisateur/mot de passe et un fichier clé.  Si vous n'avez pas l'intention d'utiliser des clés, aucune configuration supplémentaire n'est requise en plus de relier libssh2 à Zabbix, si vous installez à partir des sources.

en-us	#### Pattern examples  |Pattern|Description|Matches|No match| |--|------|--|--| |*\**|Matches all possible keys with or without parameters.|Any|None| |*vfs.file.contents*|Matches `vfs.file.contents` without parameters.|vfs.file.contents|vfs.file.contents\[/etc/passwd\]| |*vfs.file.contents\[\]*|Matches `vfs.file.contents` with empty parameters.|vfs.file.contents\[\]|vfs.file.contents| |*vfs.file.contents\[\*\]*|Matches `vfs.file.contents` with any parameters; will not match `vfs.file.contents` without square brackets.|vfs.file.contents\[\]<br>vfs.file.contents\[/path/to/file\]|vfs.file.contents| |*vfs.file.contents\[/etc/passwd,\*\]*|Matches `vfs.file.contents` with first parameters matching /etc/passwd and all other parameters having any value (also empty).|vfs.file.contents\[/etc/passwd,\]<br>vfs.file.contents\[/etc/passwd,utf8\]|vfs.file.contents\[/etc/passwd\]<br>vfs.file.contents\[/var/log/zabbix\_server.log\]<br>vfs.file.contents\[\]| |*vfs.file.contents\[\*passwd\*\]*|Matches `vfs.file.contents` with first parameter matching \*passwd\* and no other parameters.|vfs.file.contents\[/etc/passwd\]|vfs.file.contents\[/etc/passwd,\]<br>vfs.file.contents\[/etc/passwd, utf8\]| |*vfs.file.contents\[\*passwd\*,\*\]*|Matches `vfs.file.contents` with only first parameter matching \*passwd\* and all following parameters having any value (also empty).|vfs.file.contents\[/etc/passwd,\]<br>vfs.file.contents\[/etc/passwd, utf8\]|vfs.file.contents\[/etc/passwd\]<br>vfs.file.contents\[/tmp/test\]| |*vfs.file.contents\[/var/log/zabbix\_server.log,\*,abc\]*|Matches `vfs.file.contents` with first parameter matching /var/log/zabbix\_server.log, third parameter matching 'abc' and any (also empty) second parameter.|vfs.file.contents\[/var/log/zabbix\_server.log,,abc\]<br>vfs.file.contents\[/var/log/zabbix\_server.log,utf8,abc\]|vfs.file.contents\[/var/log/zabbix\_server.log,,abc,def\]| |*vfs.file.contents\[/etc/passwd,utf8\]*|Matches `vfs.file.contents` with first parameter matching /etc/passwd, second parameter matching 'utf8' and no other arguments.|vfs.file.contents\[/etc/passwd,utf8\]|vfs.file.contents\[/etc/passwd,\]<br>vfs.file.contents\[/etc/passwd,utf16\]| |*vfs.file.\**|Matches any keys starting with `vfs.file.` without any parameters.|vfs.file.contents<br>vfs.file.size|vfs.file.contents\[\]<br>vfs.file.size\[/var/log/zabbix\_server.log\]| |*vfs.file.\*\[\*\]*|Matches any keys starting with `vfs.file.` with any parameters.|vfs.file.size.bytes\[\]<br>vfs.file.size\[/var/log/zabbix\_server.log, utf8\]|vfs.file.size.bytes| |*vfs.\*.contents*|Matches any key starting with `vfs.` and ending with `.contents` without any parameters.|vfs.mount.point.file.contents<br>vfs..contents|vfs.contents|
fr	 #### Exemples de motif  |Motif|Description|Correspondances|Aucune correspondance| |--|------|--|--| |*\**|Correspond à toutes les clés possibles avec ou sans paramètres.|Tout|Aucun| |*vfs.file.contents*|Correspond à `vfs.file.contents` sans paramètres.|vfs.file.contents|vfs.file.contents\[/etc/passwd\]| |*vfs.file.contents\[\]*|Correspond à `vfs.file.contents` avec des paramètres vides.|vfs.file.contents\[\]|vfs.file.contents| |*vfs.file.contents\[\*\]*|Correspond à `vfs.file.contents` avec n'importe quel paramètre ; ne correspondra pas à `vfs.file.contents` sans crochets.|vfs.file.contents\[\]<br>vfs.file.contents\[/path/to/file\]|vfs.file.contents| |*vfs.file.contents\[/etc/passwd,\*\]*|Correspond à `vfs.file.contents` avec les premiers paramètres correspondant à /etc/passwd et tous les autres paramètres ayant une valeur (également vide).|vfs.file.contents\[/etc/passwd,\]<br>vfs.file.contents\[/etc/passwd,utf8\]|vfs.file.contents\[/etc/passwd\]<br>vfs.file.contents\[/var/log/zabbix\_server.log\]<br>vfs.file.contents\[\]| |*vfs.file.contents\[\*passwd\*\]*|Correspond à `vfs.file.contents` avec le premier paramètre correspondant à \*passwd\* et aucun autre paramètre.|vfs.file.contents\[/etc/passwd\]|vfs.file.contents\[/etc/passwd,\]<br>vfs.file.contents\[/etc/passwd, utf8\]| |*vfs.file.contents\[\*passwd\*,\*\]*|Correspond à `vfs.file.contents` avec seulement le premier paramètre correspondant à \*passwd\* et tous les paramètres suivants ayant n'importe quelle valeur (également vide).|vfs.file.contents\[/etc/passwd,\]<br>vfs.file.contents\[/etc/passwd, utf8\]|vfs.file.contents\[/etc/passwd\]<br>vfs.file.contents\[/tmp/test\]| |*vfs.file.contents\[/var/log/zabbix\_server.log,\*,abc\]*|Correspond à `vfs.file.contents` avec le premier paramètre correspondant à /var/log/zabbix\_server.log, le troisième paramètre correspondant à 'abc' et tout deuxième paramètre (également vide).|vfs.file.contents\[/var/log/zabbix\_server.log,,abc\]<br>vfs.file.contents\[/var/log/zabbix\_server.log,utf8,abc\]|vfs.file.contents\[/var/log/zabbix\_server.log,,abc,def\]| |*vfs.file.contents\[/etc/passwd,utf8\]*|Correspond à `vfs.file.contents` avec le premier paramètre correspondant à /etc/passwd, le second paramètre correspondant à 'utf8' et aucun autre argument.|vfs.file.contents\[/etc/passwd,utf8\]|vfs.file.contents\[/etc/passwd,\]<br>vfs.file.contents\[/etc/passwd,utf16\]| |*vfs.file.\**|Correspond à toutes les clés commençant par `vfs.file.` sans aucun paramètre.|vfs.file.contents<br>vfs.file.size|vfs.file.contents\[\]<br>vfs.file.size\[/var/log/zabbix\_server.log\]| |*vfs.file.\*\[\*\]*|Correspond à toutes les clés commençant par `vfs.file.` avec tous les paramètres.|vfs.file.size.bytes\[\]<br>vfs.file.size\[/var/log/zabbix\_server.log, utf8\]|vfs.file.size.bytes| |*vfs.\*.contents*|Correspond à n'importe quelle clé commençant par `vfs.` et se terminant par `.contents` sans aucun paramètre.|vfs.mount.point.file.contents<br>vfs..contents|vfs.contents|

en-us	##### Payload data definition  ###### Common data  These parameters are present in all requests/responses:  |Name|Type|Comments| |-----|--------|----------| |id   |uint32|For requests - the incrementing identifier used to link requests with responses. Unique within a request direction (i.e. from agent to plugin or from plugin to agent).<br>For responses - ID of the corresponding request.| |type|uint32|The request type.|
fr	##### Définition des données de charge utile  ###### Données communes  Ces paramètres sont présents dans toutes les requêtes/réponses :  |Nom|Type|Commentaires| |-----|--------|----------| |id   |uint32|Pour les requêtes - l'identifiant d'incrémentation utilisé pour lier les requêtes aux réponses. Unique dans une direction de requête (c'est-à-dire d'agent à plugin ou de plugin à agent).<br>Pour les réponses - ID de la requête correspondante.| |type|uint32|Le type de requête.|

en-us	 ### Payload data  |Type|Size|Comments| |-----|-----|----------| |Byte| Defined by the *Size* field |JSON formatted data.|
fr	 ### Données de charge utile  |Type|Taille|Commentaires| |-----|-----|----------| |Octet| Défini par le champ *Taille* |Données au format JSON.|

en-us	 ##### PCRE2 support Support for PCRE2 has been added. PCRE is still supported, but Zabbix can only be compiled with one of the libraries PCRE or PCRE2, both cannot be used at the same time.   The following Zabbix installation packages have been updated and now use PCRE2: - RHEL 7 and newer - SLES (all versions) - Debian 9 and newer - Ubuntu 16.04 and newer  Please note that after switching to PCRE2, you may need to update some regular expressions. In particular, the pattern  ```^[\w-\.]``` needs to be changed to ```^[-\\w\\.]```  to continue working  correctly - see [Known issues](manual/installation/known_issues#invalid_regular_expressions_after_switching_to_pcre2) for a more detailed explanation. 
fr	##### Support PCRE2  La prise en charge de PCRE2 a été ajoutée. PCRE est toujours pris en charge, mais Zabbix ne peut être compilé qu'avec l'une des bibliothèques PCRE ou PCRE2, les deux ne peuvent pas être utilisées en même temps.  Les packages d'installation Zabbix suivants ont été mis à jour et utilisent désormais PCRE2 : - RHEL 7 et plus récent - SLES (toutes les versions) - Debian 9 et plus récent - Ubuntu 16.04 et plus récent  Veuillez noter qu'après être passé à PCRE2, vous devrez peut-être mettre à jour certaines expressions régulières. En particulier, le modèle ```^[\w-\.]``` doit être remplacé par ```^[-\\w\\.]``` pour continuer à fonctionner correctement - voir [Problèmes connus] (manual/installation/known_issues#invalid_regular_expressions_after_switching_to_pcre2) pour une explication plus détaillée.

en-us	#### Performance counter parameters  You can deploy some PerfCounter parameters for the monitoring of Windows performance counters.  For example, you can add these to the Zabbix agent configuration file:         PerfCounter=UserPerfCounter1,"\Memory\Page Reads/sec",30        or        PerfCounter=UserPerfCounter2,"\4\24",30  With such parameters in place, you can then simply use *UserPerfCounter1* or *UserPerfCounter2* as the keys for creating the respective items.  Remember to restart Zabbix agent after making changes to the configuration file.
fr	#### Paramètres du compteur de performance  Vous pouvez déployer certains paramètres PerfCounter pour la surveillance des compteurs de performance Windows .  Par exemple, vous pouvez les ajouter au fichier de configuration de l'agent Zabbix :         PerfCounter=UserPerfCounter1,"\Memory\Page Reads/sec",30        ou        PerfCounter=UserPerfCounter2,"\4\24",30  Avec de tels paramètres en place, vous pouvez alors simplement utiliser *UserPerfCounter1* ou *UserPerfCounter2* comme clés pour créer le éléments respectifs.  N'oubliez pas de redémarrer l'agent Zabbix après avoir apporté des modifications au fichier de configuration.

en-us	#### Performance  Using some internal items may negatively affect performance. These items are:  -   `zabbix[host,,items]` -   `zabbix[host,,items_unsupported]` -   `zabbix[hosts]` -   `zabbix[items]` -   `zabbix[items_unsupported]` -   `zabbix[queue]` -   `zabbix[requiredperformance]` -   `zabbix[stats,,,queue]` -   `zabbix[triggers]`  The [System information](/manual/web_interface/frontend_sections/reports/status_of_zabbix) and [Queue](/manual/web_interface/frontend_sections/administration/queue)  frontend sections are also affected.
fr	#### Performance  L'utilisation de certains éléments internes peut nuire à la performance. Ces éléments sont :  -   `zabbix[host,,items]` -   `zabbix[host,,items_unsupported]` -   `zabbix[hosts]` -   `zabbix[items]` -   `zabbix[items_unsupported]` -   `zabbix[queue]` -   `zabbix[required_performance]` -   `zabbix[stats,,,queue]` -   `zabbix[triggers]`  Les sections [Information système](/manual/web_interface/frontend_sections/reports/status_of_zabbix) et [File d'attente](/manual/web_interface/frontend_sections/administration/queue) de l'interface sont également affectées.

en-us	### Performing requests  Once you've set up the frontend, you can use remote HTTP requests to call the API. To do that you need to send HTTP POST requests to the `api_jsonrpc.php` file located in the frontend directory. For example, if your Zabbix frontend is installed under *http://example.com/zabbix*, the HTTP request to call the `apiinfo.version` method may look like this:  ```yaml POST http://example.com/zabbix/api_jsonrpc.php HTTP/1.1 Content-Type: application/json-rpc  {     "jsonrpc": "2.0",     "method": "apiinfo.version",     "id": 1,     "auth": null,     "params": {} } ```  The request must have the `Content-Type` header set to one of these values: `application/json-rpc`, `application/json` or `application/jsonrequest`.
fr	### Effectuer des requêtes  Une fois que vous avez configuré l'interface web, vous pouvez utiliser des requêtes HTTP distantes pour appeler l'API. Pour ce faire, vous devez envoyer des requêtes HTTP POST au fichier `api_jsonrpc.php` situé dans le répertoire frontend. Par exemple, si votre interface Zabbix est installée sous *http://exemple.com/zabbix*, la requête HTTP permettant d'appeler la méthode `apiinfo.version` peut ressembler à ceci:  ``` yaml POST http://exemple.com/zabbix/api_jsonrpc.php HTTP/1.1 Content-Type: application/json-rpc  {     "jsonrpc": "2.0",     "method": "apiinfo.version",     "id": 1,     "auth": null,     "params": {} } ```  L'en-tête `Content-Type` de la demande doit être défini sur l'une des valeurs suivantes : `application/json-rpc`, `application/json` ou `application/jsonrequest`.

en-us	#### Permissions  The *Permissions* tab contains information on:  -   The user role. Users cannot change their own role. -   The user type (User, Admin, Super Admin) that is defined in the role     configuration. -   Host groups the user has access to. Users of type 'User' and 'Admin'     do not have access to any host groups and hosts by default. To get     the access they need to be included in user groups that have access     to respective host groups and hosts. -   Access rights to sections and elements of Zabbix frontend, modules,     and API methods. Elements to which access is allowed are displayed     in green color. Light gray color means that access to the element is     denied. -   Rights to perform certain actions. Actions that are allowed are     displayed in green color. Light gray color means that a user does     not have the rights to perform this action.  See the [User permissions](permissions) page for details.
fr	#### Autorisations  L'onglet *Autorisations* contient des informations sur :  - Le rôle de l'utilisateur. Les utilisateurs ne peuvent pas modifier leur propre rôle. - Le type d'utilisateur (utilisateur, administrateur, super administrateur) défini dans la configuration du rôle. - Groupes d'hôtes auxquels l'utilisateur a accès. Les utilisateurs de type 'Utilisateur' et 'Administrateur' n'ont accès à aucun groupe d'hôtes ni à aucun hôte par défaut. Pour obtenir l'accès, ils doivent être inclus dans des groupes d'utilisateurs qui ont accès aux groupes d'hôtes et aux hôtes respectifs. - Droits d'accès aux sections et éléments de l'interface Zabbix, des modules et des méthodes API. Les éléments auxquels l'accès est autorisé sont affichés en vert. La couleur gris clair signifie que l'accès à l'élément est refusé. - Droit d'effectuer certaines actions. Les actions autorisées sont affichées en vert. La couleur gris clair signifie qu'un utilisateur n'a pas les droits pour effectuer cette action.  Voir la page [Autorisations utilisateur](autorisations) pour plus de détails.

en-us	#### Permissions to dashboards  Permissions to dashboards for regular users and users of 'Admin' type are limited in the following way:  -   They can see and clone a dashboard if they have at least READ rights     to it; -   They can edit and delete dashboard only if they have READ/WRITE     rights to it; -   They cannot change the dashboard owner.
fr	#### Autorisation des tableaux de bords  es autorisations d'accès aux tableaux de bord pour les utilisateurs réguliers et les utilisateurs de type Admin Zabbix sont limitées de la manière suivante :  -   Ils peuvent voir et cloner un tableau de bord s'ils disposent au moins des droits LECTURE sur celui-ci ; -   Ils ne peuvent modifier et supprimer le tableau de bord que s'ils disposent des droits LECTURE/ÉCRITURE sur celui-ci ; -   Ils ne peuvent pas changer le propriétaire du tableau de bord.

en-us	#### Permissions to host groups  Access to any host data in Zabbix is granted to [user groups](/manual/config/users_and_usergroups/usergroup) on the host group level only.  That means that an individual user cannot be directly granted access to a host (or host group). It can only be granted access to a host by being part of a user group that is granted access to the host group that contains the host.
fr	#### Autorisations sur les groupes d'hôtes  L'accès à toutes les données de l'hôte dans Zabbix est accordé aux [groupes d'utilisateurs](/manual/config/users_and_usergroups/usergroup) au niveau du groupe d'hôtes uniquement.  Cela signifie qu'un utilisateur individuel ne peut pas se voir accorder directement l'accès à un hôte (ou groupe d'hôtes). Il ne peut obtenir l'accès à un hôte qu'en faisant partie d'un groupe d'utilisateurs qui a accès au groupe d'hôtes qui contient l'hôte.

en-us	### Permission  The permission object has the following properties.  |Property|[Type](/manual/api/reference_commentary#data_types)|Description| |--|--|------| |**id**<br>(required)|string|ID of the host group to add permission to.| |**permission**<br>(required)|integer|Access level to the host group.<br><br>Possible values:<br>0 - access denied;<br>2 - read-only access;<br>3 - read-write access.|
fr	### Autorisation  L'objet d'autorisation a les propriétés suivantes.  |Propriété|[Type](/manual/api/reference_commentary#data_types)|Description| |--|--|------| |**id**<br>(obligatoire)|string|ID du groupe d'hôtes auquel ajouter une autorisation.| |**permission**<br>(obligatoire)|integer|Niveau d'accès au groupe d'hôtes.<br><br>Valeurs possibles :<br>0 - accès refusé ;<br>2 - accès en lecture seule ;<br>3 - accès en lecture-écriture.|

en-us	#### PHP 7.2  Zabbix frontend requires PHP version **7.2 or newer**.
fr	#### PHP 7.2  L'interface Zabbix nécessite la version PHP **7.2 ou plus récente**.

en-us	#### PHP 7.2  Zabbix frontend requires PHP version **7.2 or newer**.
fr	#### PHP 7.2  L'interface Zabbix nécessite la version PHP **7.2 ou plus récente**.

en-us	#### PHP 7.2  Zabbix frontend requires PHP version **7.2 or newer** starting with Zabbix 5.0.  See [instructions](/manual/installation/frontend/frontend_on_debian) for installing Zabbix frontend on distributions with PHP versions below 7.2.
fr	#### PHP 7.2  L'interface Zabbix nécessite la version PHP **7.2 ou plus récente** à partir de Zabbix 5.0.  Voir les [instructions](/manual/installation/frontend/frontend_on_debian) pour installer l'interface Zabbix sur les distributions avec des versions PHP inférieures à 7.2.

en-us	#### PHP 7.3 opcache configuration  If "opcache" is enabled in the PHP 7.3 configuration, Zabbix frontend may show a blank screen when loaded for the first time. This is a registered [PHP bug](https://bugs.php.net/bug.php?id=78015). To work around this, please set the "opcache.optimization\_level" parameter to `0x7FFFBFDF` in the PHP configuration (php.ini file).
fr	#### Configuration de l'opcache PHP 7.3  Si "opcache" est activé dans la configuration PHP 7.3, l'interface Zabbix peut afficher un écran vide lors du premier chargement. Il s'agit d'un [bogue PHP](https://bugs.php.net/bug.php?id=78015) enregistré. Pour contourner ce problème, veuillez définir le paramètre "opcache.optimization\_level" sur `0x7FFFBFDF` dans la configuration PHP (fichier php.ini).

en-us	 ### PHP 8 support  PHP 8.0 and 8.1 is now supported.
fr	 ### Prise en charge de PHP 8  PHP 8.0 et 8.1 sont désormais pris en charge.

en-us	### PHP support  The maximum supported version for PHP is now 8.2.
fr	### Prise en charge de PHP  La version maximale prise en charge pour PHP est maintenant la 8.2.

en-us	### Plugins  All metrics supported by Zabbix agent 2 are collected by plugins.
fr	### Plugins  Toutes les métriques prises en charge par l'agent Zabbix 2 sont collectées par les plugins.

en-us	##### Positional macros no longer supported  The support for positional macros in item name ($1, $2...$9), deprecated since Zabbix 4.0, has been fully removed.
fr	##### Les macros positionnelles ne sont plus prises en charge  La prise en charge des macros positionnelles dans le nom de l'élément ($1, $2...$9), obsolète depuis Zabbix 4.0, a été entièrement supprimée.

en-us	 #### Possible deadlocks with MySQL/MariaDB  When running under high load, and with more than one LLD worker involved, it is possible to run into a deadlock caused by an  InnoDB error related to the row-locking strategy (see [upstream bug](https://github.com/mysql/mysql-server/commit/7037a0bdc83196755a3bf3e935cfb3c0127715d5)).  The error has been fixed in MySQL since 8.0.29, but not in MariaDB. For more details, see [ZBX-21506](https://support.zabbix.com/browse/ZBX-21506).
fr	 #### Blocages possibles avec MySQL/MariaDB  Lors d'une exécution sous charge élevée et avec plus d'un agent LLD impliqué, il est possible de se retrouver dans un blocage causé par une erreur InnoDB liée à la stratégie de verrouillage de ligne (voir le[bogue en amont](https://github.com/mysql/mysql-server/commit/7037a0bdc83196755a3bf3e935cfb3c0127715d5)).  L'erreur a été corrigée dans MySQL depuis 8.0.29, mais pas dans MariaDB. Pour plus de détails, voir [ZBX-21506](https://support.zabbix.com/browse/ZBX-21506).

en-us	##### Possible error messages  You may encounter a situation when no data is displayed and the following error message appears:  ![](../../../../../assets/en/manual/web_interface/error_message_1.png){width="600"}  Error message in this case is the following:      Cannot display item queue. Permission denied  This happens when PHP configuration parameters $ZBX\_SERVER\_PORT or $ZBX\_SERVER in zabbix.conf.php point to existing Zabbix server which uses different database.
fr	##### Messages d'erreur possibles  Vous pouvez rencontrer une situation où aucune donnée n'est affichée et le message d'erreur suivant apparaît :  ![](../../../../../assets/en/manual/web_interface/error_message_1.png){width="600"}  Le message d'erreur dans ce cas est le suivant :      Cannot display item queue. Permission denied  Cela se produit lorsque les paramètres de configuration PHP $ZBX\_SERVER\_PORT ou $ZBX\_SERVER dans zabbix.conf.php pointent vers un serveur Zabbix existant qui utilise une base de données différente.

en-us	 ### Possible to build Zabbix agent 2 offline  Zabbix agent 2 now can be built offline. The source tarball now includes the `src/go/vendor` directory, which should make sure  that golang is not forced to download dependency modules automatically. It is still possible to update to the latest modules manually by using `go mod tidy` or `go get` commands.
fr	 ### Possibilité de construire l'agent Zabbix 2 hors ligne  L'agent Zabbix 2 peut désormais être construit hors ligne. L'archive tar source inclut désormais le répertoire `src/go/vendor`, ce qui devrait assurer que golang n'est pas obligé de télécharger automatiquement les modules de dépendance. Il est toujours possible de mettre à jour manuellement les derniers modules en utilisant les commandes `go mod tidy` ou `go get`.

en-us	 ### PostgreSQL 15 support  PostgreSQL 15 is now supported. Note that TimescaleDB **does not** support PostgreSQL 15 yet.
fr	 ### Prise en charge de PostgreSQL 15  PostgreSQL 15 est désormais pris en charge. Notez que TimescaleDB **ne prend pas encore** en charge PostgreSQL 15.

en-us	### PostgreSQL  Export and import must be performed in tmux/screen to ensure that the session isn't dropped. For installations with TimescaleDB, skip this section and proceed to [PostgreSQL + TimescaleDB](#postgresql-timescaledb).  See also: [Important notes](#important-notes)  #### Table upgrade  * Rename tables using `history_pk_prepare.sql`:  ``` {.bash} sudo -u zabbix psql zabbix < /usr/share/zabbix-sql-scripts/postgresql/history_pk_prepare.sql ```  #### Migration with stopped server  * Export current history, import it to the temp table,  then insert the data into new tables while ignoring duplicates:  ``` {.sql} INSERT INTO history SELECT * FROM history_old ON CONFLICT (itemid,clock,ns) DO NOTHING;  INSERT INTO history_uint SELECT * FROM history_uint_old ON CONFLICT (itemid,clock,ns) DO NOTHING;  INSERT INTO history_str SELECT * FROM history_str_old ON CONFLICT (itemid,clock,ns) DO NOTHING;  INSERT INTO history_log SELECT * FROM history_log_old ON CONFLICT (itemid,clock,ns) DO NOTHING;  INSERT INTO history_text SELECT * FROM history_text_old ON CONFLICT (itemid,clock,ns) DO NOTHING; ```  See tips for improving INSERT performance: [PostgreSQL: Bulk Loading Huge Amounts of Data](https://www.cybertec-postgresql.com/en/postgresql-bulk-loading-huge-amounts-of-data), [Checkpoint Distance and Amount of WAL](https://www.cybertec-postgresql.com/en/checkpoint-distance-and-amount-of-wal).  * Follow [post-migration instructions](#post-migration) to drop the old tables.
fr	### PostgreSQL  L'exportation et l'importation doivent être effectuées dans tmux/screen pour s'assurer que la session n'est pas abandonnée. Pour les installations avec TimescaleDB, ignorez cette section et passez à [PostgreSQL + TimescaleDB](#postgresql-timescaledb).  Voir également : [Notes importantes](#notes-importantes)  #### Mise à niveau des tables  * Renommer les tables en utilisant `history_pk_prepare.sql` :  ``` {.bash} sudo -u zabbix psql zabbix < /usr/share/zabbix-sql-scripts/postgresql/history_pk_prepare.sql ```  #### Migration avec serveur arrêté  * Exporter l'historique actuel, importez-le dans la table temporaire, puis insérer les données dans de nouvelles tables en ignorant les doublons :  ``` {.sql} INSERT INTO history SELECT * FROM history_old ON CONFLICT (itemid,clock,ns) DO NOTHING;  INSERT INTO history_uint SELECT * FROM history_uint_old ON CONFLICT (itemid,clock,ns) DO NOTHING;  INSERT INTO history_str SELECT * FROM history_str_old ON CONFLICT (itemid,clock,ns) DO NOTHING;  INSERT INTO history_log SELECT * FROM history_log_old ON CONFLICT (itemid,clock,ns) DO NOTHING;  INSERT INTO history_text SELECT * FROM history_text_old ON CONFLICT (itemid,clock,ns) DO NOTHING; ```  Consulter les conseils pour améliorer les performances d'INSERT : [PostgreSQL: Bulk Loading Huge Amounts of Data](https://www.cybertec-postgresql.com/en/postgresql-bulk-loading-huge-amounts-of-data), [Checkpoint Distance and Amount of WAL](https://www.cybertec-postgresql.com/en/checkpoint-distance-and-amount-of-wal).  * Suivre les [instructions post-migration](#post-migration) pour supprimer les anciennes tables.

en-us	#### PostgreSQL  If a value contains a non-ASCII character in non UTF8 encoding - this will lead to a failed SQL query (PGRES\_FATAL\_ERROR:ERROR invalid byte sequence for encoding) and data will not be stored. An appropriate warning message will be written to the *zabbix\_server.log*.\ Relevant for at least PostgreSQL version 9.1.3
fr	#### PostgreSQL  Si une valeur contient un caractère non-ASCII avec un encodage non UTF8, une requête SQL échouée (PGRES\_FATAL\_ERROR:ERROR invalid byte sequence for encoding) et les données ne seront pas stockées. Un message d'avertissement approprié sera écrit dans *zabbix\_server.log*.\ Pertinent pour au moins la version 9.1.3 de PostgreSQL.

en-us	 ### PostgreSQL  |Key|<|<|<| |--|--|------|------| |**Description**|**Return value**|**Parameters**|**Comments**| |pgsql.autovacuum.count\[uri,<username>,<password>, <dbName>\]|<|<|<| |The number of autovacuum workers.|Integer |**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.<br>**dbName** - Database name.| | |pgsql.archive\[uri,<username>,<password>, <dbName>\]|<|<|<| |Information about archived files.|JSON object |**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.<br>**dbName** - Database name.|Returned data are processed by dependent items:<br>**pgsql.archive.count\_archived\_files** - the number of WAL files that have been successfully archived.<br>**pgsql.archive.failed\_trying\_to\_archive** - the number of failed attempts for archiving WAL files.<br>**pgsql.archive.count\_files\_to\_archive** - the number of files to archive.<br>**pgsql.archive.size\_files\_to\_archive** -the size of files to archive. | |pgsql.bgwriter\[uri,<username>,<password>, <dbName>\]|<|<|<| |Combined number of checkpoints for the database cluster, broken down by checkpoint type.|JSON object |**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.<br>**dbName** - Database name.|Returned data are processed by dependent items:<br>**pgsql.bgwriter.buffers\_alloc** - the number of buffers allocated.<br>**pgsql.bgwriter.buffers\_backend** -the number of buffers written directly by a backend.<br>**pgsql.bgwriter.maxwritten\_clean** - the number of times the background writer stopped a cleaning scan, because it had written too many buffers.<br>**pgsql.bgwriter.buffers\_backend\_fsync** -the number of times a backend had to execute its own fsync call instead of the background writer.<br>**pgsql.bgwriter.buffers\_clean** - the number of buffers written by the background writer.<br>**pgsql.bgwriter.buffers\_checkpoint** - the number of buffers written during checkpoints.<br>**pgsql.bgwriter.checkpoints\_timed** - the number of scheduled checkpoints that have been performed.<br>**pgsql.bgwriter.checkpoints\_req** - the number of requested checkpoints that have been performed.<br>**pgsql.bgwriter.checkpoint\_write\_time** - the total amount of time spent in the portion of checkpoint processing where files are written to disk, in milliseconds.<br>**pgsql.bgwriter.sync\_time** - the total amount of time spent in the portion of checkpoint processing where files are synchronized with disk. | |pgsql.cache.hit\[uri,<username>,<password>, <dbName>\]|<|<|<| |PostgreSQL buffer cache hit rate.|Float |**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.<br>**dbName** - Database name.| | |pgsql.connections\[uri,<username>,<password>, <dbName>\]|<|<|<| |Connections by type.|JSON object |**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.<br>**dbName** - Database name.|Returned data are processed by dependent items:<br>**pgsql.connections.active** - the backend is executing a query.<br>**pgsql.connections.fastpath\_function\_call** -the backend is executing a fast-path function.<br>**pgsql.connections.idle** - the backend is waiting for a new client command.<br>**pgsql.connections.idle\_in\_transaction** - the backend is in a transaction, but is not currently executing a query.<br>**pgsql.connections.prepared** - the number of prepared connections.<br>**pgsql.connections.total** - the total number of connections.<br>**pgsql.connections.total\_pct** - percantange of total connections in respect to ‘max\_connections’ setting of the PostgreSQL server.<br>**pgsql.connections.waiting** - number of connections in a query.<br>**pgsql.connections.idle\_in\_transaction\_aborted** - the backend is in a transaction, but is not currently executing a query and one of the statements in the transaction caused an error. | |pgsql.custom.query\[uri,<username>,<password>,queryName\[,args...\]\]|<|<|<| |Returns result of a custom query.|JSON object |**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.<br>**queryName** - name of a custom query, must match SQL file name without an extension. <br> **args**(optional) - arguments to pass to a query. | | |pgsql.dbstat\[uri,<username>,<password>, dbName\]|<|<|<| |Collects statistics per database. Used for [low-level discovery](/manual/discovery/low_level_discovery/examples/systemd).|JSON object |**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.<br>**dbName** - Database name.|Returned data are processed by dependent items:<br>**pgsql.dbstat.numbackends\["{\#DBNAME}"\]** - time spent reading data file blocks by backends in this database, in milliseconds.<br>**pgsql.dbstat.sum.blk\_read\_time\["{\#DBNAME}"\]** - time spent reading data file blocks by backends in this database, in milliseconds.<br>**pgsql.dbstat.sum.blk\_write\_time\["{\#DBNAME}"\]** - time spent writing data file blocks by backends in this database, in milliseconds.<br>**pgsql.dbstat.sum.checksum\_failures\["{\#DBNAME}"\]** - the number of data page checksum failures detected (or on a shared object), or NULL if data checksums are not enabled.(PostgreSQL version 12 only)<br>**pgsql.dbstat.blks\_read.rate\["{\#DBNAME}"\]** - the number of disk blocks read in this database.<br>**pgsql.dbstat.deadlocks.rate\["{\#DBNAME}"\]** - the number of deadlocks detected in this database.<br>**pgsql.dbstat.blks\_hit.rate\["{\#DBNAME}"\]** - the number of times disk blocks were found already in the buffer cache, so that a read was not necessary (this only includes hits in the PostgreSQL Pro buffer cache, not the operating system's file system cache).<br>**pgsql.dbstat.xact\_rollback.rate\["{\#DBNAME}"\]** - the number of transactions in this database that have been rolled back.<br>**pgsql.dbstat.xact\_commit.rate\["{\#DBNAME}"\]** - the number of transactions in this database that have been committed.<br>**pgsql.dbstat.tup\_updated.rate\["{\#DBNAME}"\]** - the number of rows updated by queries in this database.<br>**pgsql.dbstat.tup\_returned.rate\["{\#DBNAME}"\]** - the number of rows returned by queries in this database.<br>**pgsql.dbstat.tup\_inserted.rate\["{\#DBNAME}"\]** - the number of rows inserted by queries in this database.<br>**pgsql.dbstat.tup\_fetched.rate\["{\#DBNAME}"\]** - the number of rows fetched by queries in this database.<br>**pgsql.dbstat.tup\_deleted.rate\["{\#DBNAME}"\]** - the number of rows deleted by queries in this database.<br>**pgsql.dbstat.conflicts.rate\["{\#DBNAME}"\]** - the number of queries canceled due to conflicts with recovery in this database (the conflicts occur only on standby servers).<br>**pgsql.dbstat.temp\_files.rate\["{\#DBNAME}"\]** - the number of temporary files created by queries in this database. All temporary files are counted, regardless of the log\_temp\_files settings and reasons for which the temporary file was created (e.g., sorting or hashing).<br>**pgsql.dbstat.temp\_bytes.rate\["{\#DBNAME}"\]** - the total amount of data written to temporary files by queries in this database. Includes data from all temporary files, regardless of the log\_temp\_files settings and reasons for which the temporary file was created (e.g., sorting or hashing).  | |pgsql.dbstat.sum\[uri,<username>,<password>, <dbName>\]|<|<|<| |Summarized data for all databases in a cluster.|JSON object |**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.<br>**dbName** - Database name.|Returned data are processed by the dependent items:<br>**pgsql.dbstat.numbackends** - the number of backends currently connected to this database.<br>**pgsql.dbstat.sum.blk\_read\_time** - time spent reading data file blocks by backends in this database, in milliseconds.<br>**pgsql.dbstat.sum.blk\_write\_time** - time spent writing data file blocks by backends in this database, in milliseconds.<br>**pgsql.dbstat.sum.checksum\_failures** - the number of data page checksum failures detected (or on a shared object), or NULL if data checksums are not enabled (PostgreSQL version 12 only).<br>**pgsql.dbstat.sum.xact\_commit** - the number of transactions in this database that have been committed.<br>**pgsql.dbstat.sum.conflicts** - database statistics about query cancels due to conflict with recovery on standby servers.<br>**pgsql.dbstat.sum.deadlocks** - the number of deadlocks detected in this database.<br>**pgsql.dbstat.sum.blks\_read** - the number of disk blocks read in this database.<br>**pgsql.dbstat.sum.blks\_hit** - the number of times disk blocks were found already in the buffer cache, so a read was not necessary (only hits in the PostgreSQL Pro buffer cache are included).<br>**pgsql.dbstat.sum.temp\_bytes** - the total amount of data written to temporary files by queries in this database. Includes data from all temporary files, regardless of the log\_temp\_files settings and reasons for which the temporary file was created (e.g., sorting or hashing).<br>**pgsql.dbstat.sum.temp\_files** - the number of temporary files created by queries in this database. All temporary files are counted, regardless of the log\_temp\_files settings and reasons for which the temporary file was created (e.g., sorting or hashing).<br>**pgsql.dbstat.sum.xact\_rollback** - the number of rolled-back transactions in this database.<br>**pgsql.dbstat.sum.tup\_deleted** - the number of rows deleted by queries in this database.<br>**pgsql.dbstat.sum.tup\_fetched** - the number of rows fetched by queries in this database.<br>**pgsql.dbstat.sum.tup\_inserted** - the number of rows inserted by queries in this database.<br>**pgsql.dbstat.sum.tup\_returned** - the number of rows returned by queries in this database.<br>**pgsql.dbstat.sum.tup\_updated** - the number of rows updated by queries in this database. | |pgsql.db.age\[uri,<username>,<password>, dbName\]|<|<|<| |Age of the oldest FrozenXID of the database. Used for [low-level discovery](/manual/discovery/low_level_discovery/examples/systemd).|Integer |**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.<br>**dbName** - Database name.| | |pgsql.db.bloating\_tables\[uri,<username>,<password>, <dbName>\]|<|<|<| |The number of bloating tables per database. Used for [low-level discovery](/manual/discovery/low_level_discovery/examples/systemd).|Integer |**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.<br>**dbName** - Database name.| | |pgsql.db.discovery\[uri,<username>,<password>, <dbName>\]|<|<|<| |List of the PostgreSQL databases. Used for [low-level discovery](/manual/discovery/low_level_discovery/examples/systemd).|JSON object |**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.<br>**dbName** - Database name.| | |pgsql.db.size\[uri,<username>,<password>, dbName\]|<|<|<| |Database size in bytes. Used for [low-level discovery](/manual/discovery/low_level_discovery/examples/systemd).|Integer |**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.<br>**dbName** - Database name.| | |pgsql.locks\[uri,<username>,<password>, <dbName>\]|<|<|<| |Information about granted locks per database. Used for [low-level discovery](/manual/discovery/low_level_discovery/examples/systemd).|JSON object |**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.<br>**dbName** - Database name.|Returned data are processed by dependent items:<br>**pgsql.locks.shareupdateexclusive\["{\#DBNAME}"\]** - the number of share update exclusive locks.<br>**pgsql.locks.accessexclusive\["{\#DBNAME}"\]** - the number of access exclusive locks.<br>**pgsql.locks.accessshare\["{\#DBNAME}"\]** - the number of access share locks.<br>**pgsql.locks.exclusive\["{\#DBNAME}"\]** - the number of exclusive locks.<br>**pgsql.locks.rowexclusive\["{\#DBNAME}"\]** - the number of row exclusive locks.<br>**pgsql.locks.rowshare\["{\#DBNAME}"\]** - the number of row share locks.<br>**pgsql.locks.share\["{\#DBNAME}"\]** - the number of shared locks.<br>**pgsql.locks.sharerowexclusive\["{\#DBNAME}"\]** - the number of share row exclusive locks. | |pgsql.oldest.xid\[uri,<username>,<password>, <dbName>\]|<|<|<| |Age of the oldest XID.|Integer |**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.<br>**dbName** - Database name.| | |pgsql.ping\[uri,<username>,<password>, <dbName>\]|<|<|<| |Tests whether a connection is alive or not.|1 - connection is alive<br><br>0 - connection is broken (if there is any error presented including AUTH and configuration issues).|**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.<br>**dbName** - Database name.| | |pgsql.queries\[uri,<username>,<password>, <dbName>,timePeriod\]|<|<|<| |Measures query execution time.|JSON object |**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.<br>**dbName** - Database name.<br>**timePeriod** - execution time limit for count of slow queries (must be a positive integer).|Returned data are processed by dependent items:<br> **pgsql.queries.mro.time_max\["{\#DBNAME}"]** - max maintenance query time.<br>**pgsql.queries.query.time_max\["{\#DBNAME}"]** - max query time.<br>**pgsql.queries.tx.time_max\["{\#DBNAME}"]** - max transaction query time.<br>**pgsql.queries.mro.slow_count\["{\#DBNAME}"]** - slow maintenance query count.<br>**pgsql.queries.query.slow_count\["{\#DBNAME}"]** - slow query count.<br>**pgsql.queries.tx.slow_count\["{\#DBNAME}"]** - slow transaction query count.<br>**pgsql.queries.mro.time_sum\["{\#DBNAME}"]** - sum maintenance query time.<br>**pgsql.queries.query.time_sum\["{\#DBNAME}"]** - sum query time.<br>**pgsql.queries.tx.time_sum\["{\#DBNAME}"]** - sum transaction query time.<br><br> This item is supported since Zabbix 6.0.3| |pgsql.replication.count\[uri,<username>,<password>\]|<|<|<| |The number of standby servers.|Integer |**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.| | |pgsql.replication.process\[uri,<username>,<password>\]|<|<|<| | Flush lag, write lag and replay lag per each sender process.|JSON object |**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.| | |pgsql.replication.process.discovery\[uri,<username>,<password>\]|<|<|<| | Replication process name discovery.|JSON object |**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.| | |pgsql.replication.recovery\_role\[uri,<username>,<password>\]|<|<|<| |Recovery status.|0 - master mode<br>1 - recovery is still in progress (standby mode)|**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.| | |pgsql.replication.status\[uri,<username>,<password>\]|<|<|<| |The status of replication.|0 - streaming is down<br>1 - streaming is up<br>2 - master mode|**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.| | |pgsql.replication\_lag.b\[uri,<username>,<password>\]|<|<|<| |Replication lag in bytes.|Integer |**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.| | |pgsql.replication\_lag.sec\[uri,<username>,<password>\]|<|<|<| |Replication lag in seconds.|Integer |**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.| | |pgsql.uptime\[uri,<username>,<password>, <dbName>\]|<|<|<| |PostgreSQL uptime in milliseconds.|Float |**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.<br>**dbName** - Database name.| | |pgsql.wal.stat\[uri,<username>,<password>, <dbName>\]|<|<|<| |WAL statistics.|JSON object |**uri** - URI or session name.<br>**username, password** - PostgreSQL credentials.<br>**dbName** - Database name.|Returned data are processed by dependent items:<br>**pgsql.wal.count** — the number of WAL files.<br>**pgsql.wal.write** - the WAL lsn used (in bytes). |
fr	  ### PostgreSQL  |Clé|<|<|<| |--|--|------|------| |**Description**|**Valeur de retour**|**Paramètres**|**Commentaires**| |pgsql.autovacuum.count\[uri,\<username\>,\<password\>,\<dbName\>\]|<|<|<| |Le nombre de worker de l'autovacuum.|Entier |**uri** - URI ou nom de session.<br>**username, password** - Informations d'identification PostgreSQL.<br>**dbName** - Nom de la base de données.| | |pgsql.archive\[uri,\<username\>,\<password\>,\<dbName\>\]|<|<|<| |Informations sur les fichiers archivés.|Objet JSON |**uri** - URI ou nom de session.<br>**username, password** - Informations d'identification PostgreSQL.<br>**dbName** - Nom de la base de données.|Les données renvoyées sont traitées par les éléments dépendants :<br>**pgsql.archive.count\_archived\_files** - le nombre de fichiers WAL qui ont été archivés avec succès.<br>**pgsql.archive.failed\_trying\_to\_archive** - le nombre de tentatives infructueuses d'archivage des fichiers WAL.<br>**pgsql.archive.count\_files\_to\_archive** - le nombre de fichiers à archiver.<br>**pgsql.archive.size\_files\_to\_archive** - la taille des fichiers à archiver. | |pgsql.bgwriter\[uri,\<username\>,\<password\>, \<dbName\>\]|<|<|<| |Nombre combiné de points de contrôle pour le cluster de bases de données, ventilé par type de point de contrôle.|Objet JSON |**uri** - URI ou nom de session.<br>**username, password** - Informations d'identification PostgreSQL.<br>**dbName** - Nom de la base de données.|Les données renvoyées sont traitées par les éléments dépendants :<br>**pgsql.bgwriter.buffers\_alloc** - le nombre de tampons alloués.<br>**pgsql.bgwriter.buffers\_backend** - le nombre de tampons écrits directement par un backend.<br>**pgsql.bgwriter.maxwritten\_clean** - le nombre de fois que l'enregistreur d'arrière-plan a arrêté une analyse de nettoyage, car il avait écrit trop de tampons.<br>**pgsql.bgwriter.buffers\_backend\_fsync** - le nombre de fois qu'un backend a dû exécuter son propre appel fsync au lieu du writer d'arrière-plan.<br>**pgsql.bgwriter.buffers\_clean** - le nombre de tampons écrits par le writer en arrière-plan.<br>**pgsql.bgwriter.buffers\_checkpoint** - le nombre de tampons écrits lors des points de contrôle.<br>**pgsql.bgwriter.checkpoints\_timed** - le nombre de points de contrôle planifiés qui ont été effectués.<br>**pgsql.bgwriter.checkpoints\_req** - le nombre de points de contrôle demandés qui ont été effectués.<br>**pgsql.bgwriter.checkpoint\_write\_time** - le temps total passé dans la partie du traitement des points de contrôle où les fichiers sont écrits sur le disque, en millisecondes.<br>**pgsql.bgwriter.sync\_time** - le temps total passé dans la partie du traitement des points de contrôle où les fichiers sont synchronisés avec le disque. | |pgsql.cache.hit\[uri,\<username\>,\<password\>, \<dbName\>\]|<|<|<| |Taux de réussite du cache de tampon PostgreSQL.|Flottant |**uri** - URI ou nom de session.<br>**username, password** - Informations d'identification PostgreSQL.<br>**dbName** - Nom de la base de données.| | |pgsql.connections\[uri,\<username\>,\<password\>, \<dbName\>\]|<|<|<| |Connections by type.|JSON object |**uri** - URI ou nom de session.<br>**username, password** - Informations d'identification PostgreSQL.<br>**dbName** - Nom de la base de données.|Les données renvoyées sont traitées par les éléments dépendants :<br>**pgsql.connections.active** - le backend exécute une requête.<br>**pgsql.connections.fastpath\_function\_call** -le backend exécute une fonction de raccourci.<br>**pgsql.connections.idle** - le backend attend une nouvelle commande client.<br>**pgsql.connections.idle\_in\_transaction** - le backend est dans une transaction, mais n'exécute pas actuellement de requête.<br>**pgsql.connections.prepared** - le nombre de connexions préparées.<br>**pgsql.connections.total** - le nombre total de connexions.<br>**pgsql.connections.total\_pct** - pourcentage du nombre total de connexions par rapport au paramètre 'max\_connections' du serveur PostgreSQL.<br>**pgsql.connections.waiting** - nombre de connexions dans une requête.<br>**pgsql.connections.idle\_in\_transaction\_aborted** - le backend est dans une transaction, mais n'exécute pas actuellement de requête et l'une des instructions de la transaction a provoqué une erreur. | |pgsql.custom.query\[uri,\<username\>,\<password\>,queryName\[,args...\]\]|<|<|<| |Renvoie le résultat d'une requête personnalisée.|Objet JSON |**uri** - URI ou nom de session.<br>**username, password** - Informations d'identification PostgreSQL.<br>**queryName** - nom d'une requête personnalisée, doit correspondre au nom de fichier SQL sans extension. <br> **args** (facultatif) - arguments à passer à une requête. | | |pgsql.dbstat\[uri,\<username\>,\<password\>, dbName\]|<|<|<| |Collecte des statistiques par base de données. Utilisé pour la [découverte de bas niveau](/manual/discovery/low_level_discovery/examples/systemd).|JSON object |**uri** - URI ou nom de session.<br>**username, password** - Informations d'identification PostgreSQL.<br>**dbName** - Nom de la base de données.|Les données renvoyées sont traitées par les éléments dépendants :<br>**pgsql.dbstat.numbackends\["{\#DBNAME}"\]** - temps passé à lire les blocs de fichiers de données par les backends dans cette base de données, en millisecondes.<br>**pgsql.dbstat.sum.blk\_read\_time\["{\#DBNAME}"\]** - temps passé à lire les blocs de fichiers de données par les backends dans cette base de données, en millisecondes.<br>**pgsql.dbstat.sum.blk\_write\_time\["{\#DBNAME}"\]** - temps passé à écrire des blocs de fichiers de données par les backends dans cette base de données, en millisecondes.<br>**pgsql.dbstat.sum.checksum\_failures\["{\#DBNAME}"\]** - le nombre d'échecs de somme de contrôle de page de données détectés (ou sur un objet partagé), ou NULL si les sommes de contrôle de données ne sont pas activées. (PostgreSQL version 12 uniquement)<br>**pgsql.dbstat.blks\_read.rate\["{\#DBNAME}"\]** - le nombre de blocs de disque lus dans cette base de données.<br>**pgsql.dbstat.deadlocks.rate\["{\#DBNAME}"\]** - le nombre d'interblocages détectés dans cette base de données.<br>**pgsql.dbstat.blks\_hit.rate\["{\#DBNAME}"\]** - le nombre de fois où des blocs de disque ont déjà été trouvés dans le cache de tampon, de sorte qu'une lecture n'était pas nécessaire (cela inclut uniquement les hits dans le cache de tampon de PostgreSQL Pro, pas le cache du système de fichiers du système d'exploitation).<br>**pgsql.dbstat.xact\_rollback.rate\["{\#DBNAME}"\]** - le nombre de transactions dans cette base de données qui ont été annulées.<br>**pgsql.dbstat.xact\_commit.rate\["{\#DBNAME}"\]** - le nombre de transactions dans cette base de données qui ont été validées.<br>**pgsql.dbstat.tup\_updated.rate\["{\#DBNAME}"\]** - le nombre de lignes mises à jour par requêtes dans cette base de données.<br>**pgsql.dbstat.tup\_returned.rate\["{\#DBNAME}"\]** - le nombre de lignes renvoyées par les requêtes dans cette base de données.<br>**pgsql.dbstat.tup\_inserted.rate\["{\#DBNAME}"\]** - le nombre de lignes insérées par les requêtes dans cette base de données.<br>**pgsql.dbstat.tup\_fetched.rate\["{\#DBNAME}"\]** - le nombre de lignes récupérées par les requêtes dans cette base de données.<br>**pgsql.dbstat.tup\_deleted.rate\["{\#DBNAME}"\]** - le nombre de lignes supprimées par les requêtes dans cette base de données.<br>**pgsql.dbstat.conflicts.rate\["{\#DBNAME}"\]** - le nombre de requêtes annulées pour cause de conflits avec récupération dans cette base (les conflits ne surviennent que sur les serveurs de secours).<br>**pgsql.dbstat.temp\_files.rate\["{\#DBNAME}"\]** - le nombre de fichiers temporaires créés par requêtes dans cette base de données. Tous les fichiers temporaires sont comptés, quels que soient les paramètres log\_temp\_files et les raisons pour lesquelles le fichier temporaire a été créé (par exemple, tri ou hachage).<br>**pgsql.dbstat.temp\_bytes.rate\["{\#DBNAME}"\]** - la quantité totale de données écrites dans des fichiers temporaires par des requêtes dans cette base de données. Inclut les données de tous les fichiers temporaires, quels que soient les paramètres log\_temp\_files et les raisons pour lesquelles le fichier temporaire a été créé (par exemple, tri ou hachage).  | |pgsql.dbstat.sum\[uri,\<username\>,\<password\>, \<dbName\>\]|<|<|<| |Données résumées pour toutes les bases de données d'un cluster.|Objet JSON |**uri** - URI ou nom de session.<br>**username, password** - Informations d'identification PostgreSQL.<br>**dbName** - Nom de la base de données.|Les données renvoyées sont traitées par les éléments dépendants :<br>**pgsql.dbstat.numbackends** - le nombre de backends actuellement connectés à cette base de données.<br>**pgsql.dbstat.sum.blk\_read\_time** - temps passé à lire les blocs de fichiers de données par les backends dans cette base de données, en millisecondes.<br>**pgsql.dbstat.sum.blk\_write\_time** - temps passé à écrire des blocs de fichiers de données par les backends dans cette base de données, en millisecondes.<br>**pgsql.dbstat.sum.checksum\_failures** - le nombre d'échecs de somme de contrôle de page de données détectés (ou sur un objet partagé), ou NULL si les sommes de contrôle de données ne sont pas activées (PostgreSQL version 12 uniquement).<br>**pgsql.dbstat.sum.xact\_commit** - le nombre de transactions dans cette base de données qui ont été validées.<br>**pgsql.dbstat.sum.conflicts** - statistiques de la base de données sur les annulations de requêtes en raison d'un conflit avec la récupération sur les serveurs de secours.<br>**pgsql.dbstat.sum.deadlocks** - le nombre d'interblocages détectés dans cette base de données.<br>**pgsql.dbstat.sum.blks\_read** - le nombre de blocs de disque lus dans cette base de données.<br>**pgsql.dbstat.sum.blks\_hit** - le nombre de fois que des blocs de disque ont déjà été trouvés dans le cache de tampon, donc une lecture n'était pas nécessaire (seuls les hits dans le cache de tampon de PostgreSQL Pro sont inclus).<br>**pgsql.dbstat.sum.temp\_bytes** - la quantité totale de données écrites dans des fichiers temporaires par des requêtes dans cette base de données. Inclut les données de tous les fichiers temporaires, quels que soient les paramètres log\_temp\_files et les raisons pour lesquelles le fichier temporaire a été créé (par exemple, tri ou hachage).<br>**pgsql.dbstat.sum.temp\_files** - le nombre de fichiers temporaires créés par requêtes dans cette base de données. Tous les fichiers temporaires sont comptés, quels que soient les paramètres log\_temp\_files et les raisons pour lesquelles le fichier temporaire a été créé (par exemple, tri ou hachage).<br>**pgsql.dbstat.sum.xact\_rollback** - le nombre de transactions annulées dans cette base de données.<br>**pgsql.dbstat.sum.tup\_deleted** - le nombre de lignes supprimées par les requêtes dans cette base de données.<br>**pgsql.dbstat.sum.tup\_fetched** - le nombre de lignes récupérées par les requêtes dans cette base de données.<br>**pgsql.dbstat.sum.tup\_inserted** - le nombre de lignes insérées par les requêtes dans cette base de données.<br>**pgsql.dbstat.sum.tup\_returned** - le nombre de lignes renvoyées par les requêtes dans cette base de données.<br>**pgsql.dbstat.sum.tup\_updated** - le nombre de lignes mises à jour par requêtes dans cette base de données. | |pgsql.db.age\[uri,\<username\>,\<password\>, \<dbName\>\]|<|<|<| |Âge du plus ancien FrozenXID de la base de données. Utilisé pour la [découverte de bas niveau](/manual/discovery/low_level_discovery/examples/systemd).|Eniter |**uri** - URI ou nom de session.<br>**username, password** - Informations d'identification PostgreSQL.<br>**dbName** - Nom de la base de données.| | |pgsql.db.bloating\_tables\[uri,\<username\>,\<password\>, \<dbName\>\]|<|<|<| |Le nombre de tables gonflées par base de données. Utilisé pour la [découverte de bas niveau](/manual/discovery/low_level_discovery/examples/systemd).|Entier |**uri** - URI ou nom de session.<br>**username, password** - Informations d'identification PostgreSQL.<br>**dbName** - Nom de la base de données.| | |pgsql.db.discovery\[uri,\<username\>,\<password\>, \<dbName\>\]|<|<|<| |Liste des bases de données PostgreSQL. Utilisé pour la [découverte de bas niveau](/manual/discovery/low_level_discovery/examples/systemd).|Objet JSON |**uri** - URI ou nom de session.<br>**username, password** - Informations d'identification PostgreSQL.<br>**dbName** - Nom de la base de données.| | |pgsql.db.size\[uri,\<username\>,\<password\>, dbName\]|<|<|<| |Taille de la base de données en octets. Utilisé pour la [découverte de bas niveau](/manual/discovery/low_level_discovery/examples/systemd).|Entier |**uri** - URI ou nom de session.<br>**username, password** - Informations d'identification PostgreSQL.<br>**dbName** - Nom de la base de données.| | |pgsql.locks\[uri,\<username\>,\<password\>, \<dbName\>\]|<|<|<| |Informations sur les verrous accordés par base de données. Utilisé pour la [découverte de bas niveau](/manual/discovery/low_level_discovery/examples/systemd).|Objet JSON |**uri** - URI ou nom de session.<br>**username, password** - Informations d'identification PostgreSQL.<br>**dbName** - Nom de la base de données.|Les données renvoyées sont traitées par des éléments dépendants :<br>**pgsql.locks.shareupdateexclusive\["{\#DBNAME}"\]** - le nombre de verrous exclusifs de mise à jour de partage.<br>**pgsql.locks.accessexclusive\["{\#DBNAME}"\]** - le nombre de verrous exclusifs d'accès.<br>**pgsql.locks.accessshare\["{\#DBNAME}"\]** - le nombre de verrous de partage d'accès.<br>**pgsql.locks.exclusive\["{\#DBNAME}"\]** - le nombre de verrous exclusifs.<br>**pgsql.locks.rowexclusive\["{\#DBNAME}"\]** - le nombre de verrous exclusifs de ligne.<br>**pgsql.locks.rowshare\["{\#DBNAME}"\]** - le nombre de verrous de partage de lignes.<br>**pgsql.locks.share\["{\#DBNAME}"\]** - le nombre de verrous partagés.<br>**pgsql.locks.sharerowexclusive\["{\#DBNAME}"\]** - le nombre de verrous exclusifs de lignes partagées.| |pgsql.oldest.xid\[uri,\<username\>,\<password\>, \<dbName\>\]|<|<|<| |Âge du XID le plus ancien.|Entier |**uri** - URI ou nom de session.<br>**username, password** - Informations d'identification PostgreSQL.<br>**dbName** - Nom de la base de données.| | |pgsql.ping\[uri,\<username\>,\<password\>, \<dbName\>\]|<|<|<| |Teste si une connexion est active ou non.|1 - la connexion est en vie<br><br>0 - la connexion est interrompue (s'il y a une erreur présentée, y compris des problèmes d'authentification et de configuration).|**uri** - URI ou nom de session.<br>**username, password** - Informations d'identification PostgreSQL.<br>**dbName** - Nom de la base de données.| | |pgsql.queries\[uri,\<username\>,\<password\>, \<dbName\>,timePeriod\]|<|<|<| |Mesure le temps d'exécution de la requête.|Objet JSON |**uri** - URI ou nom de session.<br>**username, password** - Informations d'identification PostgreSQL.<br>**dbName** - Nom de la base de données.<br>**timePeriod** - limite de temps d'exécution pour le nombre de requêtes lentes (doit être un entier positif).|Les données renvoyées sont traitées par les éléments dépendants :<br> **pgsql.queries.mro.time_max\["{\#DBNAME}"]** - durée maximale de requête de maintenance.<br>**pgsql.queries.query.time_max\["{\#DBNAME}"]** - temps de requête maximum.<br>**pgsql.queries.tx.time_max\["{\#DBNAME}"]** - durée maximale de la requête de transaction.<br>**pgsql.queries.mro.slow_count\["{\#DBNAME}"]** - nombre de requêtes de maintenance lentes.<br>**pgsql.queries.query.slow_count\["{\#DBNAME}"]** - nombre de requêtes lentes.<br>**pgsql.queries.tx.slow_count\["{\#DBNAME}"]** - nombre de requêtes de transaction lentes.<br>**pgsql.queries.mro.time_sum\["{\#DBNAME}"]** - somme temps de requête de maintenance.<br>**pgsql.queries.query.time_sum\["{\#DBNAME}"]** - somme du temps de requête.<br>**pgsql.queries.tx.time_sum\["{\#DBNAME}"]** - somme du temps de requête de la transaction.<br><br> Cet élément est pris en charge depuis Zabbix 6.0.3| |pgsql.replication.count\[uri,\<username\>,\<password\>\]|<|<|<| |Le nombre de serveurs de secours.|Entier |**uri** - URI ou nom de session.<br>**username, password** - Informations d'identification PostgreSQL.| | |pgsql.replication.process\[uri,\<username\>,\<password\>\]|<|<|<| | Flush lag, write lag et replay lag pour chaque processus expéditeur.|Objet JSON |**uri** - URI ou nom de session.<br>**username, password** - Informations d'identification PostgreSQL.| | |pgsql.replication.process.discovery\[uri,\<username\>,\<password\>\]|<|<|<| | Découverte du nom du processus de réplication.|Objet JSON |**uri** - URI ou nom de session.<br>**username, password** - Informations d'identification PostgreSQL.| | |pgsql.replication.recovery\_role\[uri,\<username\>,\<password\>\]|<|<|<| |Statut de récupération.|0 - mode maître<br>1 - la récupération est toujours en cours (mode veille)|**uri** - URI ou nom de session.<br>**username, password** - Informations d'identification PostgreSQL.| | |pgsql.replication.status\[uri,\<username\>,\<password\>\]|<|<|<| |L'état de la réplication.|0 - le streaming est arrêté<br>1 - le streaming est actif<br>2 - mode maître|**uri** - URI ou nom de session.<br>**username, password** - Informations d'identification PostgreSQL.| | |pgsql.replication\_lag.b\[uri,\<username\>,\<password\>\]|<|<|<| |Retard de réplication en octets.|Entier |**uri** - URI ou nom de session.<br>**username, password** - Informations d'identification PostgreSQL.| | |pgsql.replication\_lag.sec\[uri,\<username\>,\<password\>\]|<|<|<| |Retard de réplication en secondes.|Entier |**uri** - URI ou nom de session.<br>**username, password** - Informations d'identification PostgreSQL.| | |pgsql.uptime\[uri,\<username\>,\<password\>, \<dbName\>\]|<|<|<| |Temps de disponibilité de PostgreSQL en millisecondes.|Flottant |**uri** - URI ou nom de session.<br>**username, password** - Informations d'identification PostgreSQL.| | |pgsql.wal.stat\[uri,\<username\>,\<password\>, \<dbName\>\]|<|<|<| |Statistiques WAL.|Objet JSON |**uri** - URI ou nom de session.<br>**username, password** - Informations d'identification PostgreSQL.|Les données renvoyées sont traitées par des éléments dépendants :<br>**pgsql.wal.count** — le nombre de fichiers WAL.<br>**pgsql.wal.write** - le WAL lsn utilisé (en octets). |

en-us	 #### PostgreSQL metrics  A new [item](/manual/config/items/itemtypes/zabbix_agent/zabbix_agent2#postgresql) has been added to PostgreSQL plugin for Zabbix agent 2. The metric **pgsql.queries** is used for monitoring query execution time. 
fr	#### Métriques PostgreSQL  Un nouvel [élément](/manual/config/items/itemtypes/zabbix_agent/zabbix_agent2#postgresql) a été ajouté au plugin PostgreSQL pour l'agent Zabbix 2. La métrique **pgsql.queries** est utilisée pour surveiller le temps d'exécution des requêtes.

en-us	 ### PostgreSQL plugin moved to loadable plugins  The PostgreSQL [plugin](/manual/config/items/plugins#loadable) is no longer built-in in Zabbix agent 2. Instead it is now a loadable plugin in the agent 2.  This change may/will break automations with Ansible, Chef, etc, because it is no longer possible to pull the plugin repository directly.  See also: [PostgreSQL loadable plugin](https://git.zabbix.com/projects/AP/repos/postgresql/browse) repository
fr	 ### Plugin PostgreSQL déplacé vers les plugins chargeables  Le [plugin](/manual/config/items/plugins#loadable) PostgreSQL n'est plus intégré à l'agent Zabbix 2. Il s'agit désormais d'un plugin chargeable dans l'agent 2.  Ce changement peut/cassera les automatisations avec Ansible, Chef, etc., car il n'est plus possible d'extraire directement le référentiel de plugins.  Voir aussi : le référentiel [Plug-in chargeable PostgreSQL](https://git.zabbix.com/projects/AP/repos/postgresql/browse)

en-us	 ### PostgreSQL + TimescaleDB  Export and import must be performed in tmux/screen to ensure that the session isn't dropped. Zabbix server should be down during the upgrade.  See also: [Important notes](#important-notes)  * Rename tables using `history_pk_prepare.sql`.  ``` {.bash} sudo -u zabbix psql zabbix < /usr/share/zabbix-sql-scripts/postgresql/history_pk_prepare.sql ``` * Run TimescaleDB hypertable migration scripts (compatible with both TSDB v2.x and v1.x version) based on compression settings:   * If compression is enabled (on default installation), run scripts from `database/postgresql/tsdb_history_pk_upgrade_with_compression`:     ``` {.bash}     cat /usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_with_compression/history_pk.sql | sudo -u zabbix psql zabbix     cat /usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_with_compression/history_pk_uint.sql | sudo -u zabbix psql zabbix     cat /usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_with_compression/history_pk_log.sql | sudo -u zabbix psql zabbix     cat /usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_with_compression/history_pk_str.sql | sudo -u zabbix psql zabbix     cat /usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_with_compression/history_pk_text.sql | sudo -u zabbix psql zabbix     ```   * If compression is disabled, run scripts from `database/postgresql/tsdb_history_pk_upgrade_no_compression`:     ``` {.bash}     cat /usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_no_compression/history_pk.sql | sudo -u zabbix psql zabbix     cat /usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_no_compression/history_pk_uint.sql | sudo -u zabbix psql zabbix     cat /usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_no_compression/history_pk_log.sql | sudo -u zabbix psql zabbix     cat /usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_no_compression/history_pk_str.sql | sudo -u zabbix psql zabbix     cat /usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_no_compression/history_pk_text.sql | sudo -u zabbix psql zabbix     ```  See also: [Tips](https://blog.timescale.com/blog/13-tips-to-improve-postgresql-insert-performance/) for improving INSERT performance.  * Follow [post-migration instructions](#post-migration) to drop the old tables.
fr	 ### PostgreSQL + TimescaleDB  L'exportation et l'importation doivent être effectuées dans tmux/screen pour s'assurer que la session n'est pas abandonnée. Le serveur Zabbix devrait être en panne pendant la mise à niveau.  Voir également: [Notes importantes](#notes-importantes)  * Renommer les tables en utilisant `history_pk_prepare.sql`.  ``` {.bash} sudo -u zabbix psql zabbix < /usr/share/zabbix-sql-scripts/postgresql/history_pk_prepare.sql ``` * Exécuter les scripts de migration d'hypertables TimescaleDB (compatibles avec les versions TSDB v2.x et v1.x) en fonction des paramètres de compression :   * Si la compression est activée (sur l'installation par défaut), exécuter les scripts à partir de `database/postgresql/tsdb_history_pk_upgrade_with_compression`:     ``` {.bash}     cat /usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_with_compression/history_pk.sql | sudo -u zabbix psql zabbix     cat /usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_with_compression/history_pk_uint.sql | sudo -u zabbix psql zabbix     cat /usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_with_compression/history_pk_log.sql | sudo -u zabbix psql zabbix     cat /usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_with_compression/history_pk_str.sql | sudo -u zabbix psql zabbix     cat /usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_with_compression/history_pk_text.sql | sudo -u zabbix psql zabbix     ```   * Si la compression est désactivée exécuter les scripts à partir de  `database/postgresql/tsdb_history_pk_upgrade_no_compression`:     ``` {.bash}     cat /usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_no_compression/history_pk.sql | sudo -u zabbix psql zabbix     cat /usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_no_compression/history_pk_uint.sql | sudo -u zabbix psql zabbix     cat /usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_no_compression/history_pk_log.sql | sudo -u zabbix psql zabbix     cat /usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_no_compression/history_pk_str.sql | sudo -u zabbix psql zabbix     cat /usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_no_compression/history_pk_text.sql | sudo -u zabbix psql zabbix     ```  Voir également : [Astuces](https://blog.timescale.com/blog/13-tips-to-improve-postgresql-insert-performance/) pour améliorer les performances d'INSERT.  * Suivre les [instructions post-migration](#post-migration) pour supprimer les anciennes tables.

en-us	#### PostgreSQL  You need to have database user with permissions to create database objects.   If you are installing from Zabbix **packages**, proceed to the [instructions](https://www.zabbix.com/download) for your platform.  If you are installing Zabbix from sources:  * Create a database user.  The following shell command will create user `zabbix`. Specify a password when prompted and repeat the password (note, you may first be asked for `sudo` password):  ```bash sudo -u postgres createuser --pwprompt zabbix ```  * Create a database.  The following shell command will create the database `zabbix` (last parameter) with the previously created user as the owner (`-O zabbix`).  ```bash sudo -u postgres createdb -O zabbix -E Unicode -T template0 zabbix ```  * Import the initial schema and data (assuming you are in the root directory of Zabbix sources).   For a Zabbix proxy database, only `schema.sql` should be imported (no images.sql nor data.sql).  ```bash cd database/postgresql cat schema.sql | sudo -u zabbix psql zabbix # stop here if you are creating database for Zabbix proxy cat images.sql | sudo -u zabbix psql zabbix cat data.sql | sudo -u zabbix psql zabbix ```  ::: noteimportant The above commands are provided as an example that will work in most of GNU/Linux installations. You can use different commands depending on how your system/database is configured, for example: <br><br> `psql -U <username>` <br><br> If you have any trouble setting up the database, please consult your Database administrator.  :::
fr	#### PostgreSQL  Vous devez avoir un utilisateur de base de données avec des autorisations pour créer des objets de base de données.  Si vous installez à partir des **paquets** Zabbix, suivez les [instructions](https://www.zabbix.com/download) pour votre plate-forme.  Si vous installez Zabbix à partir de sources :  * Créez un utilisateur de base de données.  La commande shell suivante créera l'utilisateur `zabbix`. Spécifiez un mot de passe lorsque vous y êtes invité et répétez le mot de passe (remarque, il se peut que l'on vous demande d'abord le mot de passe `sudo`) :  ```bash sudo -u postgres createuser --pwprompt zabbix ```  * Créez une base de données.  La commande shell suivante créera la base de données `zabbix` (dernier paramètre) avec l'utilisateur précédemment créé comme propriétaire (`-O zabbix`).  ```bash sudo -u postgres createdb -O zabbix -E Unicode -T template0 zabbix ```  * Importez le schéma et les données initiaux (en supposant que vous êtes dans le répertoire racine des sources Zabbix).   Pour une base de données proxy Zabbix, seul `schema.sql` doit être importé (pas d'images.sql ni de data.sql).  ```bash cd database/postgresql cat schema.sql | sudo -u zabbix psql zabbix # arrêtez vous ici si vous créez une base de donnée pour le proxy Zabbix cat images.sql | sudo -u zabbix psql zabbix cat data.sql | sudo -u zabbix psql zabbix ```  ::: noteimportant Les commandes ci-dessus sont fournies à titre d'exemple et fonctionneront dans la plupart des installations GNU/Linux. Vous pouvez utiliser différentes commandes selon la configuration de votre système/base de données, par exemple : <br><br> `psql -U <username>` <br><br> Si vous rencontrez des problèmes lors de la configuration de la base de données, veuillez consulter votre administrateur de base de données. :::

en-us	 ### Post-migration  For all databases, once the migration is completed, do the following:  * Verify that everything works as expected.  * Drop old tables:  ``` {.sql} DROP TABLE history_old; DROP TABLE history_uint_old; DROP TABLE history_str_old; DROP TABLE history_log_old; DROP TABLE history_text_old; ```
fr	 ### Post-migration  Pour toutes les bases de données, une fois la migration terminée, procéder comme suit :  * Vérifier que tout fonctionne comme prévu.  * Supprimer les anciennes tables :  ``` {.sql} DROP TABLE history_old; DROP TABLE history_uint_old; DROP TABLE history_str_old; DROP TABLE history_log_old; DROP TABLE history_text_old; ```

en-us	#### - Potential errors  Functions return -1 in such situations:  -   specified evaluation period contains no data;  ```{=html} <!-- --> ``` -   result of mathematical operation is not defined[^3];  ```{=html} <!-- --> ``` -   numerical complications (unfortunately, for some sets of input data     range and precision of double-precision floating-point format become     insufficient)[^4].  ::: notetip No warnings or errors are flagged if chosen fit poorly describes provided data or there is just too few data for accurate prediction. :::
fr	#### - Erreurs potentielles  Les fonctions retournent -1 dans de telles situations :  - la période d'évaluation spécifiée ne contient aucune donnée ;  ```{=html} <!-- --> ``` - le résultat de l'opération mathématique n'est pas défini [^3] ;  ```{=html} <!-- --> ``` - complications numériques (malheureusement, pour certains ensembles de données en entrée, la double précision et la virgule flottante sont insuffisantes) [^4].  ::: notetip Aucun avertissement ni aucune erreur ne sont signalés si l'ajustement choisi décrit mal les données fournies ou s'il y a trop peu de données pour une prédiction précise. :::

en-us	#### Predefined scripts  All scripts (webhook, script, SSH, Telnet, IPMI) that are available for action operations are defined in [global scripts](/manual/web_interface/frontend_sections/administration/scripts).  For example:      sudo /etc/init.d/apache restart   In this case, Zabbix will try to restart an Apache process. With this command, make sure that the command is executed on Zabbix agent (click the *Zabbix agent* button against *Execute on*).  ::: noteimportant Note the use of **sudo** - Zabbix user does not have permissions to restart system services by default. See below for hints on how to configure **sudo**. :::  ::: noteclassic Zabbix agent should run on the remote host and accept incoming connections. Zabbix agent executes commands in background. :::  Remote commands on Zabbix agent are executed without timeout by the system.run\[,nowait\] key and are not checked for execution results. On Zabbix server and Zabbix proxy, remote commands are executed with timeout as set in the TrapperTimeout parameter of zabbix\_server.conf or zabbix\_proxy.conf file and are [checked](/manual/appendix/command_execution#exit_code_checking) for execution results.
fr	#### Scripts  prédéfinis  Tous les scripts (webhook, script, SSH, Telnet, IPMI) disponibles pour les opérations d'action sont définis dans les [scripts globaux](/manual/web_interface/frontend_sections/administration/scripts).  Par exemple :      sudo /etc/init.d/apache restart   Dans ce cas, Zabbix essaiera de redémarrer un processus Apache. Avec cette commande, assurez-vous que la commande est exécutée sur l’agent Zabbix (cliquez sur le bouton *agent Zabbix* à côté de *Exécuter sur*).  ::: noteimportant Notez que pour l'utilisation de **sudo** l'utilisateur Zabbix ne dispose pas des autorisations pour redémarrer les services systèmes par défaut. Voir ci-dessous des astuces de configuration de **sudo**. :::  ::: noteclassic L'agent Zabbix doit s'exécuter sur l'hôte distant et accepter les connexions entrantes. L'agent Zabbix exécute les commandes en arrière-plan. :::  Les commandes à distance sur l'agent Zabbix sont exécutées sans délai par la clé system.run\[,nowait\] et les résultats de l'exécution ne sont pas vérifiées. Sur le serveur Zabbix, les commandes à distance sont exécutées avec le délai d'expiration défini dans le paramètre TrapperTimeout du fichier zabbix\_server.conf et leurs résultats sont [vérifiés](/manual/appendix/command_execution#exit_code_checking).

en-us	#### Prediction functions  |FUNCTION|<|<| |--|--|--| |**Description**|**Function-specific parameters**|**Comments**| |**forecast** (/host/key,(sec\|\#num)<:time shift>,time,<fit>,<mode>)|<|<| |Future value, max, min, delta or avg of the item.|See [common parameters](#common-parameters).<br><br>**time** - forecasting horizon in seconds (time suffixes can be used); negative values are supported<br><br>**fit** (optional; must be double-quoted) - function used to fit historical data<br><br>Supported `fits`:<br>*linear* - linear function<br>*polynomialN* - polynomial of degree N (1 <= N <= 6)<br>*exponential* - exponential function<br>*logarithmic* - logarithmic function<br>*power* - power function<br><br>Note that:<br>*linear* is default, *polynomial1* is equivalent to *linear*<br><br>**mode** (optional; must be double-quoted) - demanded output<br><br>Supported `modes`:<br>*value* - value (default)<br>*max* - maximum<br>*min* - minimum<br>*delta* - *max*-*min*<br>*avg* - average<br><br>Note that:<br>*value* estimates item value at the moment `now` + `time`<br>*max*, *min*, *delta* and *avg* investigate item value estimate on the interval between `now` and `now` + `time`|Supported value types: float, int<br><br>If value to return is larger than 1.7976931348623157E+308 or less than -1.7976931348623157E+308, return value is cropped to 1.7976931348623157E+308 or -1.7976931348623157E+308 correspondingly.<br><br>Becomes unsupported only if misused in expression (wrong item type, invalid parameters), otherwise returns -1 in case of errors.<br><br>Examples:<br>=> **forecast**(/host/key,**\#10**,**1h**) → forecast item value in one hour based on the last 10 values<br>=> **forecast**(/host/key,**1h**,**30m**) → forecast item value in 30 minutes based on the last hour data<br>=> **forecast**(/host/key,**1h:now-1d**,**12h**) → forecast item value in 12 hours based on one hour one day ago<br>=> **forecast**(/host/key,**1h**,**10m**,"exponential") → forecast item value in 10 minutes based on the last hour data and exponential function<br>=> **forecast**(/host/key,**1h**,**2h**,"polynomial3","max") → forecast the maximum value the item can reach in the next two hours based on last hour data and cubic (third degree) polynomial<br>=> **forecast**(/host/key,**\#2**,**-20m**) → estimate the item value 20 minutes ago based on the last two values (this can be more precise than using last(), especially if item is updated rarely, say, once an hour)<br><br>See also additional information on [predictive trigger functions](/manual/config/triggers/prediction).| |**timeleft** (/host/key,(sec\|\#num)<:time shift>,threshold,<fit>)|<|<| |Time in seconds needed for an item to reach a specified threshold.|See [common parameters](#common-parameters).<br><br>**threshold** - value to reach ([unit suffixes](/manual/appendix/suffixes) can be used)<br><br>**fit** (optional; must be double-quoted) - see forecast()|Supported value types: float, int<br><br>If value to return is larger than 1.7976931348623157E+308, return value is cropped to 1.7976931348623157E+308.<br><br>Returns 1.7976931348623157E+308 if threshold cannot be reached.<br><br>Becomes unsupported only if misused in the expression (wrong item type, invalid parameters), otherwise returns -1 in case of errors.<br><br>Examples:<br>=> **timeleft**(/host/key,**\#10**,**0**) → time until the item value reaches zero based on the last 10 values<br>=> **timeleft**(/host/key,**1h**,**100**) → time until the item value reaches 100 based on the last hour data<br>=> **timeleft**(/host/key,**1h:now-1d**,**100**) → time until the item value reaches 100 based on one hour one day ago<br>=> **timeleft**(/host/key,**1h**,**200**,"polynomial2") → time until the item value reaches 200 based on the last hour data and assumption that the item behaves like quadratic (second degree) polynomial<br>See also additional information on [predictive trigger functions](/manual/config/triggers/prediction).|
fr	#### Fonctions de prédiction  |FONCTION|<|<| |--|--|--| |**Description**|**Paramètres spécifiques à la fonction**|**Commentaires**| |**forecast** (/host/key,(sec\|\#num)<:time shift>,time,<fit>,<mode>)|<|<| |Valeur future, max, min, delta ou moyenne de l'élément.|Voir [paramètres communs](#common-parameters).<br><br>**time** - horizon de prévision en secondes (des suffixes de temps peuvent être utilisés ); les valeurs négatives sont prises en charge<br><br>**fit** (facultatif ; doit être entre guillemets doubles) – fonction utilisée pour ajuster les données historiques<br><br>'fits` pris en charge :<br>*linear* - fonction linéaire<br>*polynomialN* - polynôme de degré N (1 <= N <= 6)<br>*exponential* - fonction exponentielle<br>*logarithmic* - fonction logarithmique<br>*power* - fonction puissance<br ><br>Notez que :<br>*linear* est la valeur par défaut, *polynomial1* est équivalent à *linear*<br><br>**mode** (facultatif ; doit être entre guillemets doubles) - sortie demandée<br ><br>`modes` pris en charge :<br>*value* - valeur (par défaut)<br>*max* - maximum<br>*min* - minimum<br>*delta* - *max*-*min* <br>*avg* - moyenne<br><br>Notez que :<br>*value* estime la valeur de l'élément à l'instant `now` + `time`<br>*max*, *min*, *delta* et *avg* étudient l'estimation de la valeur de l'élément sur l'intervalle entre `now` et `now` + `time`|Types de valeurs pris en charge : float, int<br><br>Si la valeur à renvoyer est supérieure à 1,7976931348623157E+308 ou moins supérieur à -1,7976931348623157E+308, la valeur de retour est réduite à 1,79769313486231 57E+308 ou -1.7976931348623157E+308 en conséquence.<br><br>N'est plus pris en charge uniquement s'il est mal utilisé dans l'expression (mauvais type d'élément, paramètres invalides), sinon renvoie -1 en cas d'erreurs.<br><br>Exemples : <br>=> **forecast**(/host/key,**\#10**,**1h**) → valeur de l'élément de prévision dans une heure sur la base des 10 dernières valeurs<br>=> **forecast**(/host/key,**1h**,**30m**) → valeur de l'élément prévue dans 30 minutes sur la base des données de la dernière heure<br>=> **forecast**(/host/key, **1h:now-1d**,**12h**) → valeur de l'élément prévue dans 12 heures sur la base d'une heure il y a un jour<br>=> **forecast**(/host/key,**1h* *,**10m**,"exponential") → valeur de l'élément de prévision dans 10 minutes en fonction des données de la dernière heure et de la fonction exponentielle<br>=> **forecast**(/host/key,**1h**, **2h**,"polynomial3","max") → prévoir la valeur maximale que l'élément peut atteindre au cours des deux prochaines heures sur la base des données de la dernière heure et du polynôme cubique (troisième degré)<br>=> **forecast** (/host/key,**\#2**,**-20m**) → estimer la valeur de l'élément il y a 20 minutes en se basant sur les deux dernières valeurs (cela peut être plus précis que l'utilisation de last(), surtout si l'élément est rarement mis à jour, disons une fois par heure)<br><br>Voir aussi des informations supplémentaires sur les [fonctions de déclenchement prédictives](/manual/config/triggers/prediction) .| |**timeleft** (/host/key,(sec\|\#num)<:time shift>,threshold,<fit>)|<|<| |Temps en secondes nécessaire pour qu'un élément atteigne un seuil spécifié.|Voir [paramètres communs](#common-parameters).<br><br>**threshold** - valeur à atteindre ([suffixes d'unité](/manual /appendix/suffixes) peuvent être utilisés)<br><br>**fit** (facultatif ; doit être entre guillemets doubles) – voir forecast()|Types de valeur pris en charge : float, int<br><br>Si la valeur à renvoyer est supérieur à 1,7976931348623157E+308, la valeur renvoyée est réduite à 1,7976931348623157E+308.<br><br>Renvoie 1,7976931348623157E+308 si le seuil ne peut pas être atteint.<br><br>N'est plus pris en charge uniquement en cas d'utilisation abusive dans le expression (mauvais type d'élément, paramètres invalides), sinon renvoie -1 en cas d'erreur.<br><br>Exemples :<br>=> **timeleft**(/host/key,**\#10** ,**0**) → temps jusqu'à ce que la valeur de l'élément atteigne zéro sur la base des 10 dernières valeurs<br>=> **timeleft**(/host/key,**1h**,**100**) → temps jusqu'à ce que la valeur de l'élément atteigne 100 sur la base des données de la dernière heure<br>=> **timeleft**(/host/key,**1h:now-1d**,**100**) → temps jusqu'à  ce que la valeur de l'élément atteigne 100 sur la base d'une heure il y a un jour<br>=> **timeleft**(/host/key,**1h**,**200**,"polynomial2") → temps jusqu'à ce que la valeur de l'élément atteigne 200 sur la base des données de la dernière heure et en supposant que l'élément se comporte comme un polynôme quadratique (deuxième degré)<br>Voir aussi des informations supplémentaires sur les [fonctions de déclenchement prédictives](/manual/config/triggers/prediction).|

en-us	#### Pre-installation summary  Review a summary of settings.  ![](../../../assets/en/manual/installation/install_5.png){width="550"}
fr	#### Résumé de pré-installation  Passez en revue un résumé des paramètres.  ![](../../../assets/en/manual/installation/install_5.png){width="550"}

en-us	##### Preparation  Zabbix agent is distributed as a zip archive. After you download the archive you need to unpack it. Choose any folder to store Zabbix agent and the configuration file, e. g.      C:\zabbix  Copy bin\\zabbix\_agentd.exe and conf\\zabbix\_agentd.conf files to c:\\zabbix.  Edit the c:\\zabbix\\zabbix\_agentd.conf file to your needs, making sure to specify a correct "Hostname" parameter.
fr	##### Préparation  L’agent Zabbix est distribué sous forme d’archive au format zip. Après le téléchargement de l’archive vous devrez la décompresser. Vous pouvez choisir n’importe quel dossier pour stocker l’agent Zabbix et le fichier de configuration. ex :      C:\zabbix  Copiez les fichiers bin\\zabbix\_agentd.exe et conf\\zabbix\_agentd.conf vers la destination choisie précédemment.  Editez le fichier c:\\zabbix\\zabbix\_agentd.conf selon vos besoins en prenant soin de spécifier correctement le paramètre “Hostname”.

en-us	##### Preparing frontend  Make sure that Zabbix server address:port is **not defined** in the  frontend configuration (found in `conf/zabbix.conf.php` of the frontend  files directory).  ![](../../../../assets/en/manual/config/frontend_conf_server_port.png){width="600"}  Zabbix frontend will autodetect the active node by reading settings  from the nodes table in Zabbix database. Node address of the active node  will be used as the Zabbix server address.
fr	 ##### Préparation de l'interface  Assurez-vous que address:port du serveur Zabbix n'est **pas défini** dans la configuration de l'interface (situé dans `conf/zabbix.conf.php` du répertoire des fichiers de l'interface).  ![](../../../../assets/en/manual/config/frontend_conf_server_port.png){width="600"}  L'interface Zabbix détectera automatiquement le nœud actif en lisant les paramètres de la table des nœuds dans la base de données Zabbix. L'adresse de nœud du nœud actif sera utilisée comme adresse de serveur Zabbix.

en-us	#### Preprocessing  The **Preprocessing** tab allows to define transformation rules to apply to the result of discovery. One or several transformations are possible in this step. Transformations are executed in the order in which they are defined. All preprocessing is done by Zabbix server.  See also:  -   [Preprocessing     details](/manual/config/items/preprocessing/preprocessing_details) -   [Preprocessing testing](/manual/config/items/preprocessing#testing)  ![](../../../assets/en/manual/discovery/low_level_discovery/lld_fs_b.png)   |Type|<|<| |-|----------|----------------------------------------| | |*Transformation*|Description| |Text|<|<| |<|*Regular expression*|Match the received value to the <pattern> regular expression and replace value with the extracted <output>. The regular expression supports extraction of maximum 10 captured groups with the \\N sequence.<br>Parameters:<br>**pattern** - regular expression<br>**output** - output formatting template. An \\N (where N=1…9) escape sequence is replaced with the Nth matched group. A \\0 escape sequence is replaced with the matched text.<br>If you mark the *Custom on fail* checkbox, it is possible to specify custom error handling options: either to discard the value, set a specified value or set a specified error message.| |^|*Replace*|Find the search string and replace it with another (or nothing). All occurrences of the search string will be replaced.<br>Parameters:<br>**search string** - the string to find and replace, case-sensitive (required)<br>**replacement** - the string to replace the search string with. The replacement string may also be empty effectively allowing to delete the search string when found.<br>It is possible to use escape sequences to search for or replace line breaks, carriage return, tabs and spaces "\\n \\r \\t \\s"; backslash can be escaped as "\\\\" and escape sequences can be escaped as "\\\\n". Escaping of line breaks, carriage return, tabs is automatically done during low-level discovery.<br>Supported since 5.0.0.| |Structured data|<|<| |<|*JSONPath*|Extract value or fragment from JSON data using [JSONPath functionality](/manual/config/items/preprocessing/jsonpath_functionality).<br>If you mark the *Custom on fail* checkbox, the item will not become unsupported in case of failed preprocessing step and it is possible to specify custom error handling options: either to discard the value, set a specified value or set a specified error message.| |<|*XML XPath*|Extract value or fragment from XML data using XPath functionality.<br>For this option to work, Zabbix server must be compiled with libxml support.<br>Examples:<br>`number(/document/item/value)` will extract `10` from `<document><item><value>10</value></item></document>`<br>`number(/document/item/@attribute)` will extract `10` from `<document><item attribute="10"></item></document>`<br>`/document/item` will extract `<item><value>10</value></item>` from `<document><item><value>10</value></item></document>`<br>Note that namespaces are not supported.<br>Supported since 4.4.0.<br>If you mark the *Custom on fail* checkbox, it is possible to specify custom error handling options: either to discard the value, set a specified value or set a specified error message.| |<|*CSV to JSON*|Convert CSV file data into JSON format.<br>For more information, see: [CSV to JSON preprocessing](/manual/config/items/preprocessing/csv_to_json#csv_header_processing).<br>Supported since 4.4.0.| |^|*XML to JSON*|Convert data in XML format to JSON.<br>For more information, see: [Serialization rules](/manual/config/items/preprocessing/javascript/javascript_objects#serialization_rules).<br>If you mark the *Custom on fail* checkbox, it is possible to specify custom error handling options: either to discard the value, set a specified value or set a specified error message.| |Custom scripts|<|<| |<|*JavaScript*|Enter JavaScript code in the block that appears when clicking in the parameter field or on *Open*.<br>Note that available JavaScript length depends on the [database used](/manual/config/items/item#custom_script_limit).<br>For more information, see: [Javascript preprocessing](/manual/config/items/preprocessing/javascript)| |Validation|<|<| |<|*Does not match regular expression*|Specify a regular expression that a value must not match.<br>E.g. `Error:(.*?)\.`<br>If you mark the *Custom on fail* checkbox, it is possible to specify custom error handling options: either to discard the value, set a specified value or set a specified error message.| |^|*Check for error in JSON*|Check for an application-level error message located at JSONpath. Stop processing if succeeded and message is not empty; otherwise continue processing with the value that was before this preprocessing step. Note that these external service errors are reported to user as is, without adding preprocessing step information.<br>E.g. `$.errors`. If a JSON like `{"errors":"e1"}` is received, the next preprocessing step will not be executed.<br>If you mark the *Custom on fail* checkbox, it is possible to specify custom error handling options: either to discard the value, set a specified value or set a specified error message.| |^|*Check for error in XML*|Check for an application-level error message located at xpath. Stop processing if succeeded and message is not empty; otherwise continue processing with the value that was before this preprocessing step. Note that these external service errors are reported to user as is, without adding preprocessing step information.<br>No error will be reported in case of failing to parse invalid XML.<br>Supported since 4.4.0.<br>If you mark the *Custom on fail* checkbox, it is possible to specify custom error handling options: either to discard the value, set a specified value or set a specified error message.| |Throttling|<|<| |<|*Discard unchanged with heartbeat*|Discard a value if it has not changed within the defined time period (in seconds).<br>Positive integer values are supported to specify the seconds (minimum - 1 second). Time suffixes can be used in this field (e.g. 30s, 1m, 2h, 1d). User macros and low-level discovery macros can be used in this field.<br>Only one throttling option can be specified for a discovery item.<br>E.g. `1m`. If identical text is passed into this rule twice within 60 seconds, it will be discarded.<br>*Note*: Changing item prototypes does not reset throttling. Throttling is reset only when preprocessing steps are changed.| |Prometheus|<|<| |<|*Prometheus to JSON*|Convert required Prometheus metrics to JSON.<br>See [Prometheus checks](/manual/config/items/itemtypes/prometheus) for more details.|  Note that if the discovery rule has been applied to the host via template then the content of this tab is read-only.
fr	 #### Prétraitement  L'onglet **Prétraitement** permet de définir des règles de transformation à appliquer au résultat de la découverte. Une ou plusieurs transformations sont possibles dans cette étape. Les transformations sont exécutées dans l'ordre dans lequel elles sont définies. Tout le prétraitement est effectué par le serveur Zabbix.  Voir également :  -   [Détails du prétraitement](/manual/config/items/preprocessing/preprocessing_details) -   [Tests de prétraitement](/manual/config/items/preprocessing#testing)  ![](../../../assets/en/manual/discovery/low_level_discovery/lld_fs_b.png)   |Type|<|<| |-|----------|----------------------------------------| | |*Transformation*|Description| |Texte|<|<| |<|*Expression régulière*|Faire correspondre la valeur reçue à l'expression régulière <motif> et remplacez la valeur par la <sortie> extraite. L'expression régulière prend en charge l'extraction d'un maximum de 10 groupes capturés avec la séquence \\N.<br>Paramètres :<br>**motif** - expression régulière<br>**sortie** - modèle de formatage de sortie. Une séquence d'échappement \\N (où N=1…9) est remplacée par le Nième groupe correspondant. Une séquence d'échappement \\0 est remplacée par le texte correspondant.<br>Si vous cochez la case *Personnalisé en cas d'échec*, il est possible de spécifier des options de gestion des erreurs personnalisées : soit pour ignorer la valeur, soit pour définir une valeur spécifiée, soit pour définir un message d'erreur spécifié.| |^|*Remplacer*|Trouver la chaîne de recherche et la remplacer par une autre (ou rien). Toutes les occurrences de la chaîne de recherche seront remplacées.<br>Paramètres :<br>**chaîne recherchée** - la chaîne à rechercher et à remplacer, sensible à la casse (obligatoire)<br>**remplacement** - la chaîne par laquelle remplacer la chaîne de recherche. La chaîne de remplacement peut également être vide, ce qui permet de supprimer la chaîne de recherche lorsqu'elle est trouvée.<br>Il est possible d'utiliser des séquences d'échappement pour rechercher ou remplacer les sauts de ligne, les retours chariot, les tabulations et les espaces "\\n \\r \\t \\s" ; la barre oblique inverse peut être échappée sous la forme "\\\\" et les séquences d'échappement peuvent être échappées sous la forme "\\\\n". L'échappement des sauts de ligne, des retours chariot et des tabulations est automatiquement effectué lors de la découverte de bas niveau.<br>Pris en charge depuis 5.0.0.| |Données structurées|<|<| |<|*JSONPath*|Extraire une valeur ou un fragment de données JSON à l'aide de la [fonctionnalité JSONPath](/manual/config/items/preprocessing/jsonpath_functionality).<br>Si vous cochez la case *Personnalisé en cas d'échec*, l'élément ne deviendra pas non pris en charge en cas d'échec de l'étape de prétraitement et il est possible de spécifier des options de gestion des erreurs personnalisées : soit pour ignorer la valeur, soit pour définir une valeur spécifiée, soit pour définir un message d'erreur spécifié .| |<|*XPath XML*|Extraire une valeur ou un fragment de données XML à l'aide de la fonctionnalité XPath.<br>Pour que cette option fonctionne, le serveur Zabbix doit être compilé avec le support libxml.<br>Exemples :<br>`number(/document/item/value)` extraira `10` de `<document><item><value>10</value></item></document>`<br>`number(/document/item/@attribute)` extraira  `10` de`<document><item attribute="10"></item></document>`<br>`/document/item` extraira  `<item><value>10</value></item>` de `<document><item><value>10</value></item></document>`<br>Notez que les espaces de noms ne sont pas pris en charge.<br>Pris en charge depuis la version 4.4.0.<br>Si vous cochez la case *Personnalisé en cas d'échec*, il est possible de spécifier des options de gestion des erreurs personnalisées : soit pour ignorer la valeur, soit pour définir une valeur spécifiée, soit pour définir un message d'erreur spécifié.| |<|*CSV vers JSON*|Convertir les données du fichier CSV au format JSON.<br>Pour plus d'informations, voir : [Prétraitement CSV vers JSON](/manual/config/items/preprocessing/csv_to_json#csv_header_processing).<br>Pris en charge depuis 4.4.0.| |^|*XML vers JSON*|Convertir les données au format XML en JSON.<br>Pour plus d'informations, voir : [Règles de sérialisation](/manual/config/items/preprocessing/javascript/javascript_objects#serialization_rules).<br>Si vous cochez la case *Personnalisé en cas d'échec*, il est possible de spécifier des options de gestion des erreurs personnalisées : soit pour ignorer la valeur, soit pour définir une valeur spécifiée, soit pour définir un message d'erreur spécifié.| |Custom scripts|<|<| |Scripts personnalisés|<|<| |<|*JavaScript*|Entrer le code JavaScript dans le bloc qui apparaît en cliquant dans le champ paramètre ou sur *Ouvrir*.<br>Notez que la longueur JavaScript disponible dépend de la [base de données utilisée](/manual/config/items/item#custom_script_limit).<br>Pour plus d'informations, voir : [Prétraitement JavaScript](/manual/config/items/preprocessing/javascript)| |Validation|<|<| |<|*Ne correspond pas à l'expression régulière*|Spécifier une expression régulière à laquelle une valeur ne doit pas correspondre.<br>Par exemple `Error:(.*?)\.`<br>Si vous cochez la case *Personnalisé en cas d'échec*, il est possible de spécifier des options de gestion des erreurs personnalisées : soit pour ignorer la valeur, soit pour définir une valeur spécifiée, soit pour définir un message d'erreur spécifié.| |^|*Rechercher une erreur dans le JSON*|Rechercher un message d'erreur au niveau de l'application situé dans JSONpath. Arrêtez le traitement en cas de succès et si le message n'est pas vide ; sinon, continuez le traitement avec la valeur qui était avant cette étape de prétraitement. Notez que ces erreurs de service externes sont signalées à l'utilisateur telles quelles, sans ajouter d'informations sur l'étape de prétraitement.<br>Par exemple `$.errors`. Si un JSON comme `{"errors":"e1"}` est reçu, la prochaine étape de prétraitement ne sera pas exécutée.<br>Si vous cochez la case *Personnalisé en cas d'échec*, il est possible de spécifier des options de gestion des erreurs personnalisées : soit pour ignorer la valeur, soit pour définir une valeur spécifiée, soit pour définir un message d'erreur spécifié.| |^|*Rechercher une erreur dans le XML*|Rechercher un message d'erreur au niveau de l'application situé dans xpath. Arrêtez le traitement en cas de succès et si le message n'est pas vide ; sinon, continuez le traitement avec la valeur qui était avant cette étape de prétraitement. Notez que ces erreurs de service externe sont signalées à l'utilisateur telles quelles, sans ajouter d'informations sur l'étape de prétraitement.<br>Aucune erreur ne sera signalée en cas d'échec de l'analyse du XML non valide.<br>Pris en charge depuis la version 4.4.0.<br>Si vous cochez la case *Personnalisé en cas d'échec*, il est possible de spécifier des options de gestion des erreurs personnalisées : soit pour ignorer la valeur, soit pour définir une valeur spécifiée, soit pour définir un message d'erreur spécifié.| |Limitation|<|<| |<|*Ecarte les inchangés avec bit de vie*|Ignorer une valeur si elle n'a pas changé au cours de la période définie (en secondes).<br>Les valeurs entières positives sont prises en charge pour spécifier les secondes (minimum - 1 seconde). Des suffixes de temps peuvent être utilisés dans ce champ (par exemple 30s, 1m, 2h, 1d). Des macros utilisateur et des macros de découverte de bas niveau peuvent être utilisées dans ce champ.<br>Une seule option de limitation peut être spécifiée pour un élément de découverte.<br>Par exemple `1m`. Si un texte identique est passé deux fois dans cette règle en 60 secondes, il sera supprimé.<br>*Remarque* : La modification des prototypes d'éléments ne réinitialise pas la limitation. La limitation est réinitialisée uniquement lorsque les étapes de prétraitement sont modifiées.| |Prometheus|<|<| |<|*Prometheus vers JSON*|Convertire les métriques Prometheus requises en JSON.<br>Voir [Vérifications Prometheus](/manual/config/items/itemtypes/prometheus) pour plus de détails.|  Notez que si la règle de découverte a été appliquée à l'hôte via un modèle, le contenu de cet onglet est en lecture seule.

en-us	#### Preprocessing workers  Zabbix server configuration file allows users to set count of preprocessing worker processes. StartPreprocessors configuration parameter should be used to set number of pre-forked instances of preprocessing workers. Optimal number of preprocessing workers can be determined by many factors, including the count of "preprocessable" items (items that require to execute any preprocessing steps), count of data gathering processes, average step count for item preprocessing, etc.  But assuming that there is no heavy preprocessing operations like parsing of large XML / JSON chunks, number of preprocessing workers can match total number of data gatherers. This way, there will mostly (except for the cases when data from gatherer comes in bulk) be at least one unoccupied preprocessing worker for collected data.  ::: notewarning Too many data gathering processes (pollers, unreachable pollers, ODBC pollers, HTTP pollers, Java pollers, pingers, trappers, proxypollers) together with IPMI manager, SNMP trapper and preprocessing workers can exhaust the per-process file descriptor limit for the preprocessing manager. This will cause Zabbix server to stop (usually shortly after the start, but sometimes it can take more time). The configuration file should be revised or the limit should be raised to avoid this situation. :::
fr	#### Processus de travail de prétraitement  Le fichier de configuration du serveur Zabbix permet aux utilisateurs de définir le nombre de processus de travail de prétraitement. Le paramètre de configuration StartPreprocessors doit être utilisé pour définir le nombre d'instances pré-forkées de processus de travail de prétraitement. Le nombre optimal de processus de travail  de prétraitement peut être déterminé par de nombreux facteurs, y compris le nombre d'éléments "prétraitables" (éléments qui nécessitent d'exécuter des étapes de prétraitement), le nombre de processus de collecte de données, le nombre moyen d'étapes pour le prétraitement des éléments, etc.  Mais en supposant qu'il n'y a pas d'opérations de prétraitement lourdes comme l'analyse de gros morceaux XML / JSON, le nombre de processus de travail de prétraitement peut correspondre au nombre total de collecteurs de données. De cette façon, il y aura la plupart du temps (sauf dans les cas où les données du collecteur arrivent en masse) au moins un agent de prétraitement inoccupé pour les données collectées.  ::: notewarning Trop de processus de collecte de données (pollers, pollers d'inaccessibilité, pollers ODBC, pollers HTTP, pollers Java, pingers, trappeurs, proxypollers) associés au gestionnaire IPMI, au trappeur SNMP et aux agents de prétraitement peuvent épuiser la limite de descripteur de fichier par processus pour le gestionnaire de prétraitement. Cela entraînera l'arrêt du serveur Zabbix (généralement peu de temps après le démarrage, mais parfois cela peut prendre plus de temps). Le fichier de configuration doit être révisé ou la limite doit être augmentée pour éviter cette situation. :::

en-us	### Pre-requisites  Install MySQL database from the [official repository](https://dev.mysql.com/downloads/repo/yum/).  See [MySQL documentation](https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/) for details on how to use MySQL repo.  MySQL server is ready to accept secure connections using a self-signed certificate.  To see, which users are using an encrypted connection, run the following query (Performance Schema should be turned ON):      mysql> SELECT sbt.variable_value AS tls_version, t2.variable_value AS cipher, processlist_user AS user, processlist_host AS host              FROM performance_schema.status_by_thread  AS sbt             JOIN performance_schema.threads AS t ON t.thread_id = sbt.thread_id             JOIN performance_schema.status_by_thread AS t2 ON t2.thread_id = t.thread_id             WHERE sbt.variable_name = 'Ssl_version' and t2.variable_name = 'Ssl_cipher'             ORDER BY tls_version;
fr	### Conditions préalables  Installez la base de données MySQL à partir du [référentiel officiel](https://dev.mysql.com/downloads/repo/yum/).  Voir la [documentation MySQL](https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/) pour plus de détails sur l'utilisation du référentiel MySQL.  Le serveur MySQL est prêt à accepter des connexions sécurisées à l'aide d'un certificat auto-signé.  Pour voir quels utilisateurs utilisent une connexion chiffrée, exécutez la requête suivante (le schéma de performances doit être activé) :      mysql> SELECT sbt.variable_value AS tls_version, t2.variable_value AS cipher, processlist_user AS user, processlist_host AS host             FROM performance_schema.status_by_thread AS sbt             JOIN performance_schema.threads AS t ON t.thread_id = sbt.thread_id             JOIN performance_schema.status_by_thread AS t2 ON t2.thread_id = t.thread_id             WHERE sbt.variable_name = 'Ssl_version' and t2.variable_name = 'Ssl_cipher'             ORDRE BY tls_version ;

en-us	### Pre-requisites  Install the PostgreSQL database using the [official repository](https://www.postgresql.org/download/linux/redhat/).  PostgreSQL is not configured to accept TLS connections out-of-the-box. Please follow instructions from PostgreSQL documentation for [certificate preparation with postgresql.conf](https://www.postgresql.org/docs/13/ssl-tcp.html) and also for [user access control](https://www.postgresql.org/docs/13/auth-pg-hba-conf.html) through ph\_hba.conf.  By default, the PostgreSQL socket is binded to the localhost, for the network remote connections allow to listen on the real network interface.  PostgreSQL settings for all [modes](/manual/appendix/install/db_encrypt#terminology) can look like this:  **/var/lib/pgsql/13/data/postgresql.conf:**      ...     ssl = on     ssl_ca_file = 'root.crt'     ssl_cert_file = 'server.crt'     ssl_key_file = 'server.key'     ssl_ciphers = 'HIGH:MEDIUM:+3DES:!aNULL'     ssl_prefer_server_ciphers = on     ssl_min_protocol_version = 'TLSv1.3'     ...  For access control adjust */var/lib/pgsql/13/data/pg\_hba.conf*:      ...     ### require     hostssl all all 0.0.0.0/0 md5      ### verify CA     hostssl all all 0.0.0.0/0 md5 clientcert=verify-ca      ### verify full     hostssl all all 0.0.0.0/0 md5 clientcert=verify-full     ...
fr	### Prérequis  Installez la base de données PostgreSQL à l'aide du [référentiel officiel](https://www.postgresql.org/download/linux/redhat/).  PostgreSQL n'est pas configuré de base pour accepter les connexions TLS. Veuillez suivre les instructions de la documentation PostgreSQL pour [la préparation du certificat avec postgresql.conf](https://www.postgresql.org/docs/13/ssl-tcp.html) et aussi pour [le contrôle d'accès utilisateur](https://www.postgresql.org/docs/13/auth-pg-hba-conf.html) via ph\_hba.conf.  Par défaut, le socket PostgreSQL est lié à l'hôte local, car les connexions réseau à distance permettent d'écouter sur l'interface réseau réelle.  Les paramètres PostgreSQL pour tous les [modes](/manual/appendix/install/db_encrypt#terminology) peuvent ressembler à ceci :  **/var/lib/pgsql/13/data/postgresql.conf :**      ...     ssl = on     ssl_ca_file = 'root.crt'     ssl_cert_file = 'server.crt'     ssl_key_file = 'server.key'     ssl_ciphers = 'HIGH:MEDIUM:+3DES:!aNULL'     ssl_prefer_server_ciphers = on     ssl_min_protocol_version = 'TLSv1.3'     ...  Pour le contrôle d'accès, ajustez */var/lib/pgsql/13/data/pg\_hba.conf* :       ...     ### require     hostssl all all 0.0.0.0/0 md5      ### verify CA     hostssl all all 0.0.0.0/0 md5 clientcert=verify-ca      ### verify full     hostssl all all 0.0.0.0/0 md5 clientcert=verify-full     ...

en-us	 ### Pre-requisites  Prior to configuring service monitoring, you need to have the hosts configured:  - *HA node 1* with at least one trigger and a tag (preferably set on a trigger level) `component:HA node 1` - *HA node 2* with at least one trigger and a tag (preferably set on a trigger level) `component:HA node 2`
fr	### Prérequis   Avant de configurer la surveillance des services, vous devez configurer les hôtes :  - *HA node 1* avec au moins un déclencheur et un tag (de préférence défini au niveau du déclencheur) `component:HA node 1` - *HA node 2* avec au moins un déclencheur et un tag (de préférence défini au niveau du déclencheur) `component:HA node 2`

en-us	 ##### Primary keys  Primary keys are now used for all tables, including history tables, in new installations.  There is no automatic upgrade to primary keys for existing installations.  Instructions for a **manual upgrade** of history tables to primary keys in  pre-existing installations are available for  [MySQL/MariaDB](/manual/appendix/install/db_primary_keys#mysql),  [PostgreSQL](/manual/appendix/install/db_primary_keys#postgresql),  [TimescaleDB v1](/manual/appendix/install/db_primary_keys#timescaledb-v1) and  [v2](/manual/appendix/install/db_primary_keys#timescaledb-v2),  and [Oracle](/manual/appendix/install/db_primary_keys#oracle).
fr	##### Clés primaires  Les clés primaires sont désormais utilisées pour toutes les tables, y compris les tables d'historique, dans les nouvelles installations.  Il n'y a pas de mise à niveau automatique vers les clés primaires pour les installations existantes. Des instructions pour une **mise à niveau manuelle** des tables d'historique vers les clés primaires dans les installations préexistantes sont disponibles pour [MySQL/MariaDB](/manual/appendix/install/db_primary_keys#mysql), [PostgreSQL](/manual/appendix/ install/db_primary_keys#postgresql), [TimescaleDB v1](/manual/appendix/install/db_primary_keys#timescaledb-v1) et [v2](/manual/appendix/install/db_primary_keys#timescaledb-v2), et [Oracle](/ manuel/annexe/install/db_primary_keys#oracle).

en-us	#### Principle of least privilege  The principle of least privilege should be used at all times for Zabbix. This principle means that user accounts (in Zabbix frontend) or process user (for Zabbix server/proxy or agent) have only those privileges that are essential to perform intended functions. In other words, user accounts at all times should run with as few privileges as possible.  ::: noteimportant Giving extra permissions to 'zabbix' user will allow it to access configuration files and execute operations that can compromise the overall security of the infrastructure. :::  When implementing the least privilege principle for user accounts, Zabbix [frontend user types](/manual/config/users_and_usergroups/permissions) should be taken into account. It is important to understand that while a "Admin" user type has less privileges than "Super Admin" user type, it has administrative permissions that allow managing configuration and execute custom scripts.  ::: noteclassic Some information is available even for non-privileged users. For example, while *Administration* → *Scripts* is not available for non-Super Admins, scripts themselves are available for retrieval by using Zabbix API. Limiting script permissions and not adding sensitive information (like access credentials, etc) should be used to avoid exposure of sensitive information available in global scripts. :::
fr	#### Principe du moindre privilège  Le principe du moindre privilège doit être utilisé à tout moment dans Zabbix. Ce principe signifie que les comptes d'utilisateurs (dans l'interface Zabbix) ou les utilisateurs de processus (pour le serveur/proxy ou l'agent Zabbix) n'ont que les privilèges essentiels pour exécuter les fonctions prévues. En d'autres termes, les comptes d'utilisateurs doivent à tout moment fonctionner avec le moins de privilèges possible.  ::: noteimportant Donner des autorisations supplémentaires à l'utilisateur 'zabbix' lui permettra d'accéder aux fichiers de configuration et d'exécuter des opérations susceptibles de compromettre la sécurité globale de l'infrastructure. :::  Lors de la mise en œuvre du principe du moindre privilège pour les comptes d'utilisateurs, les [types d'utilisateurs frontend](/manual/config/users_and_usergroups/permissions) Zabbix doivent être pris en compte. Il est important de comprendre que même si un type d'utilisateur "Admin" a moins de privilèges qu'un type d'utilisateur "Super Admin", il dispose d'autorisations administratives qui permettent de gérer la configuration et d'exécuter des scripts personnalisés.  ::: noteclassic Certaines informations sont disponibles même pour les utilisateurs non privilégiés. Par exemple, alors que *Administration* → *Scripts* n'est pas disponible pour les non-super administrateurs, les scripts eux-mêmes peuvent être récupérés à l'aide de l'API Zabbix. Limiter les autorisations de script et ne pas ajouter d'informations sensibles (comme les informations d'identification d'accès, etc.) doit être utilisé pour éviter l'exposition d'informations sensibles disponibles dans les scripts globaux. :::

en-us	#### Problem event popup  The problem event popup includes the list of problem events for this trigger and, if defined, the trigger description and a clickable URL.  ![](../../../../../assets/en/manual/web_interface/problem_event_popup.png){width="600"}  To bring up the problem event popup:  -   roll a mouse over the problem duration in the *Duration* column of     the *Problems* widget. The popup disappears once you remove the     mouse from the duration. -   click on the duration in the *Duration* column of the *Problems*     widget. The popup disappears only if you click on the duration     again.
fr	 #### Fenêtre contextuelle d'événement problème  La fenêtre contextuelle d'événement de problème inclut la liste des événements de problème pour ce déclencheur et, s'il est défini, la description du déclencheur et une URL cliquable.  ![](../../../../../assets/en/manual/web_interface/problem_event_popup.png){width="600"}  Pour afficher la fenêtre contextuelle d'événement de problème :  -   passez la souris sur la durée du problème dans la colonne *Durée* du widget *Problèmes*. La fenêtre contextuelle disparaît une fois que vous retirez la souris de la durée. -   cliquez sur la durée dans la colonne *Durée* du widget *Problèmes*. La popup ne disparaît que si vous cliquez à nouveau sur la durée.

en-us	#### Problem events  A problem event is created:  -   when a trigger expression evaluates to TRUE if the trigger is in OK     state; -   each time a trigger expression evaluates to TRUE if multiple problem     event generation is enabled for the trigger.
fr	#### Événements problèmes  Un événement problème est créé :  -   lorsqu'une expression de déclencheur est évaluée à VRAI si le déclencheur est dans l'état OK ; -   chaque fois qu'une expression de déclencheur est évaluée à VRAI si la génération multiples d'événements problèmes est activée pour le déclencheur.

en-us	# problem.get
fr	# problem.get

en-us	#### Problems  Retrieve problems according to the given parameters.  [Problem API](/manual/api/reference/problem)  
fr	#### Problèmes  Récupérez les problèmes en fonction de paramètres donnés.  [API Problème](/manual/api/reference/problem)  

en-us	### Problem tag  Problem tags allow linking services with problem events. The problem tag object has the following properties.  | Property              | [Type](/manual/api/reference_commentary#data_types) | Description                                                                                 | |-----------------------|-----------------------------------------------------|---------------------------------------------------------------------------------------------| | **tag**<br>(required) | string                                              | Problem tag name.                                                                           | | operator              | integer                                             | Mapping condition operator.<br><br>Possible values:<br>0 - *(default)* equals;<br>2 - like. | | value                 | string                                              | Problem tag value.                                                                          |
fr	### Tag de problème  Les tags de problème permettent de lier des services à des événements de problème. L'objet de balise de problème a les propriétés suivantes.  | Propriété              | [Type](/manual/api/reference_commentary#data_types) | Description                                                                                 | |-----------------------|-----------------------------------------------------|---------------------------------------------------------------------------------------------| | **tag**<br>(obligatoire) | string                                              | Nom du tag de problème.                                                                           | | operator              | integer                                             | Opérateur de condition de mappage.<br><br>Valeurs possibles :<br>0 - *(par défaut)* equals;<br>2 - like. | | value                 | string                                              | Valeur du tag de problème.                                                                          |

en-us	 #### Problem tags  Problem tags are used to match problems and services. These tags are specified at the primary service configuration tab.   Only child services of the lowest hierarchy level may have problem tags defined and be directly correlated to problems. If problem tags match,  the service status will change to the same status as the problem has. In case of several problems, a service will have the status of the most severe one. Status of a  parent service is then calculated based on child services statuses according to Status calculation rules.   If several tags are specified, *AND* logic is used: a problem must have all tags  specified in the service configuration to be mapped to the service.   ![](../../../assets/en/manual/config/problem_tags.png){width=600}   :::noteclassic A problem in Zabbix inherits tags from the whole chain of templates, hosts, items, web scenarios, and triggers. Any of these tags can be used for matching problems to services. ::: 
fr	#### Tags de problème  Les tags de problème sont utilisées pour faire correspondre les problèmes et les services. Ces tags sont spécifiés dans l'onglet de configuration du service principal.  Seuls les services enfants du niveau hiérarchique le plus bas peuvent avoir des tags de problème définis et être directement corrélés aux problèmes. Si les tags du problème correspondent, l'état du service passera au même état que celui du problème. En cas de plusieurs problèmes, un service aura le statut du plus grave. Le statut d'un service parent est ensuite calculé en fonction des statuts des services enfants conformément aux règles de calcul du statut.  Si plusieurs tags sont spécifiés, la logique *ET* est utilisée : un problème doit avoir touts les tags spécifiés dans la configuration du service pour être mappé au service.  ![](../../../assets/en/manual/config/problem_tags.png){width=600}  :::noteclassique Un problème dans Zabbix hérite des tags de toute la chaîne de modèles, d'hôtes, d'éléments, de scénarios Web et de déclencheurs. Chacun de ces tags peut être utilisé pour faire correspondre les problèmes aux services. :::

en-us	### Problem tag  The problem tag object has the following properties.  |Property|[Type](/manual/api/reference_commentary#data_types)|Description| |--|--|------| |tag|string|Problem tag name.| |value|string|Problem tag value.|
fr	### Tag de problème  L'objet de tag de problème a les propriétés suivantes.  |Propriété|[Type](/manual/api/reference_commentary#data_types)|Description| |--|--|------| |tag|string|Nom du tag de problème.| |value|string|Valeur du tag de problème.|

en-us	### Problem tag  The problem tag object is used to define which problems must be suppressed when the maintenance comes into effect. It has the following properties.  |Property|[Type](/manual/api/reference_commentary#data_types)|Description| |--|--|------| |**tag**<br>(required)|string|Problem tag name.| |operator|integer|Condition operator.<br><br>Possible values:<br>0 - Equals;<br>2 - *(default)* Contains.| |value|string|Problem tag value.|  Tags can only be specified for maintenance periods with data collection (`"maintenance_type":0`).
fr	### Tag de problème  L'objet de tag de problème est utilisé pour définir quels problèmes doivent être supprimés lorsque la maintenance entre en vigueur. Il a les propriétés suivantes.  |Propriété|[Type](/manual/api/reference_commentary#data_types)|Description| |--|--|------| |**tag**<br>(obligatoire)|string|Nom du tag de problème.| |operator|integer|Opérateur de conditions.<br><br>Valeurs possibles :<br>0 - Egal;<br>2 - *(par défaut)* Contient.| |value|string|Valeur du tag de problème.|  Les tags ne peuvent être spécifiées que pour les périodes de maintenance avec collecte de données (`"maintenance_type":0`).

en-us	# Problem  This class is designed to work with problems.  Object references:\  -   [Problem](/manual/api/reference/problem/object#problem)  Available methods:\  -   [problem.get](/manual/api/reference/problem/get) - retrieving     problems  
fr	# Problème  Cette classe est conçue pour travailler avec les problèmes.  Référentiel des objets :\  -   [Problème](/manual/api/reference/problem/object#problem)  Méthodes disponibles :\  -   [problem.get](/manual/api/reference/problem/get) - récupérer des problèmes  

en-us	##### Problem update window  If a problem arises for a trigger with the *Manual close* flag, you can open the [problem update](/manual/acknowledges#updating_problems) popup window of that problem and close the problem manually.  To close the problem, check the *Close problem* option in the form and click on *Update*.  ![](../../../../assets/en/manual/config/close_problem1.png)  All mandatory input fields are marked with a red asterisk.  The request is processed by Zabbix server. Normally it will take a few seconds to close the problem. During that process *CLOSING* is displayed in *Monitoring* → *Problems* as the status of the problem.
fr	##### Fenêtre de mise à jour du problème  Si un problème survient pour un déclencheur avec l'indicateur *Fermeture manuelle*, vous pouvez ouvrir la fenêtre contextuelle [mise à jour du problème](/manual/acknowledges#updating_problems) de ce problème et fermer le problème manuellement.  Pour fermer le problème, cochez l'option *Fermer le problème* dans le formulaire et cliquez sur *Mettre à jour*.  ![](../../../../assets/en/manual/config/close_problem1.png)  Tous les champs de saisie obligatoires sont marqués d'un astérisque rouge.  La requête est traitée par le serveur Zabbix. Normalement, il faudra quelques secondes pour résoudre le problème. Au cours de ce processus, *CLOSING* s'affiche dans *Monitoring* → *Problems* comme état du problème.

en-us	##### Problem with dots  So far so good. But what if an attribute name or a hash key contains dot symbol? Here is an example:      jmx[com.example:Type=Hello,all.fruits.apple.weight]  That's a problem. How to tell Zabbix that attribute name is "all.fruits", not just "all"? How to distinguish a dot that is part of the name from the dot that separates an attribute name and hash keys?  Before **2.0.4** Zabbix Java gateway was unable to handle such situations and users were left with UNSUPPORTED items. Since 2.0.4 this is possible, all you need to do is to escape the dots that are part of the name with a backslash:      jmx[com.example:Type=Hello,all\.fruits.apple.weight]  Same way, if your hash key contains a dot you escape it:      jmx[com.example:Type=Hello,all\.fruits.apple.total\.weight]
fr	##### Problème avec les points  Jusqu'ici tout va bien. Mais que faire si un nom d'attribut ou une clé de hachage contient un point ? Voici un exemple :      jmx[com.example:Type=Hello,all.fruits.apple.weight]  C'est un problème. Comment dire à Zabbix que le nom de l'attribut est "all.fruits", et pas seulement "all" ? Comment distinguer un point faisant partie du nom, du point qui sépare un nom d'attribut et des clés de hachage ?  Avant la version **2.0.4**, la passerelle Java de Zabbix était incapable de gérer de telles situations et les utilisateurs restaient avec des éléments NON SUPPORTÉ. Depuis 2.0.4 cela est possible, tout ce que vous devez faire est d'échapper les points qui font partie du nom avec un backslash :      jmx[com.example:Type=Hello,all\.fruits.apple.weight]  De la même façon, si votre clé de hachage contient un point, vous l'échapperez :      jmx[com.example:Type=Hello,all\.fruits.apple.total\.weight]

en-us	##### Process data  |Item key|<|<|<| |--|--|------|------| |Description|Return value|Parameters|Comments| |**proc.cpu.util**\[<name>,<user>,<type>,<cmdline>,<mode>,<zone>\]|<|<|<| |Process CPU utilization percentage.|Float|**name** - process name (default is *all processes*)<br>**user** - user name (default is *all users*)<br>**type** - CPU utilization type:<br>*total* (default), *user*, *system*<br>**cmdline** - filter by command line (it is a regular [expression](/manual/regular_expressions#overview))<br>**mode** - data gathering mode: *avg1* (default), *avg5*, *avg15*<br>**zone** - target zone: *current* (default), *all*. This parameter is supported on Solaris only.|Examples:<br>=> proc.cpu.util\[,root\] → CPU utilization of all processes running under the "root" user<br>=> proc.cpu.util\[zabbix\_server,zabbix\] → CPU utilization of all zabbix\_server processes running under the zabbix user<br><br>The returned value is based on single CPU core utilization percentage. For example CPU utilization of a process fully using two cores is 200%.<br><br>The process CPU utilization data is gathered by a collector which supports the maximum of 1024 unique (by name, user and command line) queries. Queries not accessed during the last 24 hours are removed from the collector.<br><br>*Note* that when setting the `zone` parameter to *current* (or default) in case the agent has been compiled on a Solaris without zone support, but running on a newer Solaris where zones are supported, then the agent will return NOTSUPPORTED (the agent cannot limit results to only the current zone). However, *all* is supported in this case.<br><br>This key is supported since Zabbix 3.0.0 and is available on several platforms (see [Items supported by platform](/manual/appendix/items/supported_by_platform)).| |**proc.mem**\[<name>,<user>,<mode>,<cmdline>,<memtype>\]|<|<|<| |Memory used by process in bytes.|Integer - with `mode` as *max*, *min*, *sum*<br><br>Float - with `mode` as *avg*|**name** - process name (default is *all processes*)<br>**user** - user name (default is *all users*)<br>**mode** - possible values:<br>*avg*, *max*, *min*, *sum* (default)<br>**cmdline** - filter by command line (it is a regular [expression](/manual/regular_expressions#overview))<br>**memtype** - [type of memory](/manual/appendix/items/proc_mem_notes) used by process|Examples:<br>=> proc.mem\[,root\] → memory used by all processes running under the "root" user<br>=> proc.mem\[zabbix\_server,zabbix\] → memory used by all zabbix\_server processes running under the zabbix user<br>=> proc.mem\[,oracle,max,oracleZABBIX\] → memory used by the most memory-hungry process running under oracle having oracleZABBIX in its command line<br><br>*Note*: When several processes use shared memory, the sum of memory used by processes may result in large, unrealistic values.<br><br>See [notes](/manual/appendix/items/proc_mem_num_notes) on selecting processes with `name` and `cmdline` parameters (Linux-specific).<br><br>When this item is invoked from the command line and contains a command line parameter (e.g. using the agent test mode: `zabbix_agentd -t proc.mem[,,,apache2]`), one extra process will be counted, as the agent will count itself.<br><br>The `memtype` parameter is supported on several [platforms](/manual/appendix/items/supported_by_platform) since Zabbix 3.0.0.| |**proc.num**\[<name>,<user>,<state>,<cmdline>,<zone>\]|<|<|<| |The number of processes.|Integer|**name** - process name (default is *all processes*)<br>**user** - user name (default is *all users*)<br>**state** (*disk* and *trace* options since version 3.4.0) - possible values:<br>*all* (default),<br>*disk* - uninterruptible sleep,<br>*run* - running,<br>*sleep* - interruptible sleep,<br>*trace* - stopped,<br>*zomb* - zombie<br>**cmdline** - filter by command line (it is a regular [expression](/manual/regular_expressions#overview))<br>**zone** - target zone: *current* (default), *all*. This parameter is supported on Solaris only.|Examples:<br>=> proc.num\[,mysql\] → number of processes running under the mysql user<br>=> proc.num\[apache2,www-data\] → number of apache2 processes running under the www-data user<br>=> proc.num\[,oracle,sleep,oracleZABBIX\] → number of processes in sleep state running under oracle having oracleZABBIX in its command line<br><br>See [notes](/manual/appendix/items/proc_mem_num_notes) on selecting processes with `name` and `cmdline` parameters (Linux-specific).<br><br>On Windows, only the `name` and `user` parameters are supported.<br><br>When this item is invoked from the command line and contains a command line parameter (e.g. using the agent test mode: `zabbix_agentd -t proc.num[,,,apache2]`), one extra process will be counted, as the agent will count itself.<br><br>*Note* that when setting the `zone` parameter to *current* (or default) in case the agent has been compiled on a Solaris without zone support, but running on a newer Solaris where zones are supported, then the agent will return NOTSUPPORTED (the agent cannot limit results to only the current zone). However, *all* is supported in this case.|
fr	 ##### Données de processus  |Clé d'élément|<|<|<| |--|--|------|------| |Description|Valeur de retour|Paramètres|Commentaires| |**proc.cpu.util**\[\<name\>,\<user\>,\<type\>,\<cmdline\>,\<mode\>,\<zone\>\]|<|<|<| |Pourcentage d'utilisation du processeur du processus.|Flottant|**name** - nom du processus (la valeur par défaut est *tous les processus*)<br>**user** - nom d'utilisateur (la valeur par défaut est *tous les utilisateurs*)<br>**type** - Type d'utilisation du processeur :<br>*total* (par défaut), *user*, *system*<br>**cmdline** - filtrer par ligne de commande (il s'agit d'une [expression régulière](/manual/regular_expressions#overview))<br>**mode** - mode de collecte de données : *avg1* (par défaut), *avg5*, *avg15*<br>**zone** - zone cible : *current* (par défaut), *all*. Ce paramètre est pris en charge sur Solaris uniquement.|Exemples :<br>=> proc.cpu.util\[,root\] → Utilisation du processeur de tous les processus exécutés sous l'utilisateur "root"<br>=> proc.cpu.util\[zabbix\_server,zabbix\] → Utilisation du processeur de tous les processus zabbix\_server exécutés sous l'utilisateur zabbix<br><br>La valeur renvoyée est basée sur le pourcentage d'utilisation d'un seul cœur de processeur. Par exemple, l'utilisation du processeur d'un processus utilisant entièrement deux cœurs est de 200 %.<br><br>Les données d'utilisation du processeur du processus sont collectées par un collecteur qui prend en charge un maximum de 1 024 requêtes uniques (par nom, utilisateur et ligne de commande). Les requêtes non consultées au cours des dernières 24 heures sont supprimées du collecteur.<br><br>*Notez* que lors de la définition du paramètre `zone` sur *current* (ou par défaut) dans le cas où l'agent a été compilé sur un Solaris sans prise en charge de la zone, mais s'exécutant sur un Solaris plus récent où les zones sont prises en charge, l'agent renverra NOTSUPPORTED (l'agent ne peut pas limiter les résultats à la seule zone actuelle). Cependant, *all* est pris en charge dans ce cas.<br><br>Cette clé est prise en charge depuis Zabbix 3.0.0 et est disponible sur plusieurs plates-formes (voir [Éléments pris en charge par la plate-forme](/manual/appendix/items/supported_by_platform)).| |**proc.mem**\[\<name\>,\<user\>,\<mode\>,\<cmdline\>,\<memtype\>\]|<|<|<| |Mémoire utilisée par le processus en octets.|Entier - avec `mode` sur *max*, *min*, *sum*<br><br>Flottant - avec `mode` sur *avg*|**name** - nom du processus (la valeur par défaut est *tous les processus*)<br>**user** - nom d'utilisateur (la valeur par défaut est *tous les utilisateurs*)<br>**mode** - valeurs possibles :<br>*avg*, *max*, *min*, *sum* (par défaut)<br>**cmdline** - filtrer par ligne de commande (il s'agit d'une [expression régulière](/manual/regular_expressions#overview))<br>**memtype** - [type de mémoire](/manual/appendix/items/proc_mem_notes) utilisé par le process|Exemples :<br>=> proc.mem\[,root\] → mémoire utilisée par tous les processus exécutés sous l'utilisateur "root"<br>=> proc.mem\[zabbix\_server,zabbix\] → mémoire utilisée par tous les processus zabbix\_server exécutés sous l'utilisateur zabbix<br>=> proc.mem\[,oracle,max,oracleZABBIX\] → mémoire utilisée par le processus le plus gourmand en mémoire s'exécutant sous oracle ayant oracleZABBIX dans sa ligne de commande<br><br>*Remarque* : lorsque plusieurs processus utilisent de la mémoire partagée, la somme de la mémoire utilisée par les processus peut entraîner des valeurs importantes et irréalistes. <br><br>Voir les [notes](/manual/appendix/items/proc_mem_num_notes) lors de la sélection de processus avec les paramètres `name` et `cmdline` (spécifiques à Linux).<br><br>Lorsque cet élément est appelé à partir de la ligne de commande et contient un paramètre de ligne de commande (par exemple, en utilisant le mode de test de l'agent : `zabbix_agentd -t proc.mem[,,,apache2]`), un processus supplémentaire sera compté, car l'agent se comptera lui-même.<br><br>Le paramètre `memtype` est pris en charge sur plusieurs [plates-formes](/manual/appendix/items/supported_by_platform) depuis Zabbix 3.0.0.| |**proc.num**\[\<name\>,\<user\>,\<state\>,\<cmdline\>,\<zone\>\]|<|<|<| |Le nombre de processus.|Entier|**name** - nom du processus (la valeur par défaut est *tous les processus*)<br>**user** - nom d'utilisateur (la valeur par défaut est *tous les utilisateurs*)<br>**state** (options *disk* et *trace* depuis la version 3.4.0) - valeurs possibles :<br>*all* (par défaut),<br>*disk* - sommeil ininterruptible,<br>*run* - en fonctionnement,<br>*sleep* - sommeil interruptible,<br>*trace* - stoppé,<br>*zomb* - zombie<br>**cmdline** - filtrer par ligne de commande (il s'agit d'une [expression régulière](/manual/regular_expressions#overview))<br>**zone** - zone cible : *current* (par défaut), *all*. Ce paramètre est pris en charge sur Solaris uniquement.|Exemples :<br>=> proc.num\[,mysql\] → nombre de processus exécutés sous l'utilisateur mysql<br>=> proc.num\[apache2,www-data\] → nombre de processus apache2 exécutés sous l'utilisateur www-data<br>=> proc.num\[,oracle,sleep,oracleZABBIX\] → nombre de processus en état de veille s'exécutant sous oracle ayant oracleZABBIX dans sa ligne de commande<br><br>Voir les [notes](/manual/appendix/items/proc_mem_num_notes) lors de la sélection de processus avec les paramètres `name` et `cmdline` (spécifiques à Linux).<br><br>Sous Windows, seuls les paramètres `name` et `user` sont pris en charge.<br><br>Lorsque cet élément est appelé à partir de la ligne de commande et contient un paramètre de ligne de commande (par exemple, en utilisant le mode test de l'agent : `zabbix_agentd -t proc.num[,,,apache2]`), un processus supplémentaire sera compté, car l'agent se comptera lui-même.<br><br>*Notez* que lors de la définition du paramètre `zone` sur *current* (ou par défaut) dans le cas où l'agent a été compilé sur un Solaris sans prise en charge de la zone, mais s'exécutant sur un Solaris plus récent où les zones sont prises en charge, l'agent renverra NOTSUPPORTED (l'agent ne peut pas limiter les résultats à la seule zone actuelle). Cependant, *all* est pris en charge dans ce cas.|

en-us	#### Processes modifying their commandline  Some programs use modifying their commandline as a method for displaying their current activity. A user can see the activity by running `ps` and `top` commands. Examples of such programs include *PostgreSQL*, *Sendmail*, *Zabbix*.  Let's see an example from Linux. Let's assume we want to monitor a number of Zabbix agent processes.  `ps` command shows processes of interest as      $ ps -fu zabbix     UID        PID  PPID  C STIME TTY          TIME CMD     ...     zabbix    6318     1  0 12:01 ?        00:00:00 sbin/zabbix_agentd -c /home/zabbix/ZBXNEXT-1078/zabbix_agentd.conf     zabbix    6319  6318  0 12:01 ?        00:00:01 sbin/zabbix_agentd: collector [idle 1 sec]                               zabbix    6320  6318  0 12:01 ?        00:00:00 sbin/zabbix_agentd: listener #1 [waiting for connection]                 zabbix    6321  6318  0 12:01 ?        00:00:00 sbin/zabbix_agentd: listener #2 [waiting for connection]                 zabbix    6322  6318  0 12:01 ?        00:00:00 sbin/zabbix_agentd: listener #3 [waiting for connection]                 zabbix    6323  6318  0 12:01 ?        00:00:00 sbin/zabbix_agentd: active checks #1 [idle 1 sec]                        ...  Selecting processes by name and user does the job:      $ zabbix_get -s localhost -k 'proc.num[zabbix_agentd,zabbix]'     6  Now let's rename `zabbix_agentd` executable to `zabbix_agentd_30` and restart it.  `ps` now shows      $ ps -fu zabbix     UID        PID  PPID  C STIME TTY          TIME CMD     ...     zabbix    6715     1  0 12:53 ?        00:00:00 sbin/zabbix_agentd_30 -c /home/zabbix/ZBXNEXT-1078/zabbix_agentd.conf     zabbix    6716  6715  0 12:53 ?        00:00:00 sbin/zabbix_agentd_30: collector [idle 1 sec]                               zabbix    6717  6715  0 12:53 ?        00:00:00 sbin/zabbix_agentd_30: listener #1 [waiting for connection]                 zabbix    6718  6715  0 12:53 ?        00:00:00 sbin/zabbix_agentd_30: listener #2 [waiting for connection]                 zabbix    6719  6715  0 12:53 ?        00:00:00 sbin/zabbix_agentd_30: listener #3 [waiting for connection]                 zabbix    6720  6715  0 12:53 ?        00:00:00 sbin/zabbix_agentd_30: active checks #1 [idle 1 sec]                        ...  Now selecting processes by name and user produces an incorrect result:      $ zabbix_get -s localhost -k 'proc.num[zabbix_agentd_30,zabbix]'     1  Why a simple renaming of executable to a longer name lead to quite different result ?  Zabbix agent starts with checking the process name. `/proc/<pid>/status` file is opened and the line `Name` is checked. In our case the `Name` lines are:      $ grep Name /proc/{6715,6716,6717,6718,6719,6720}/status     /proc/6715/status:Name:   zabbix_agentd_3     /proc/6716/status:Name:   zabbix_agentd_3     /proc/6717/status:Name:   zabbix_agentd_3     /proc/6718/status:Name:   zabbix_agentd_3     /proc/6719/status:Name:   zabbix_agentd_3     /proc/6720/status:Name:   zabbix_agentd_3  The process name in `status` file is truncated to 15 characters.  A similar result can be seen with `ps` command:      $ ps -u zabbix       PID TTY          TIME CMD     ...      6715 ?        00:00:00 zabbix_agentd_3      6716 ?        00:00:01 zabbix_agentd_3      6717 ?        00:00:00 zabbix_agentd_3      6718 ?        00:00:00 zabbix_agentd_3      6719 ?        00:00:00 zabbix_agentd_3      6720 ?        00:00:00 zabbix_agentd_3      ...  Obviously, that is not equal to our `proc.num[]` `name` parameter value `zabbix_agentd_30`. Having failed to match the process name from `status` file the Zabbix agent turns to `/proc/<pid>/cmdline` file.  How the agent sees the "cmdline" file can be illustrated with running a command      $ for i in 6715 6716 6717 6718 6719 6720; do cat /proc/$i/cmdline | awk '{gsub(/\x0/,"<NUL>"); print};'; done     sbin/zabbix_agentd_30<NUL>-c<NUL>/home/zabbix/ZBXNEXT-1078/zabbix_agentd.conf<NUL>     sbin/zabbix_agentd_30: collector [idle 1 sec]<NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL>...     sbin/zabbix_agentd_30: listener #1 [waiting for connection]<NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL>...     sbin/zabbix_agentd_30: listener #2 [waiting for connection]<NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL>...     sbin/zabbix_agentd_30: listener #3 [waiting for connection]<NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL>...     sbin/zabbix_agentd_30: active checks #1 [idle 1 sec]<NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL>...  `/proc/<pid>/cmdline` files in our case contain invisible, non-printable null bytes, used to terminate strings in *C* language. The null bytes are shown as "<NUL>" in this example.  Zabbix agent checks "cmdline" for the main process and takes a `zabbix_agentd_30`, which matches our `name` parameter value `zabbix_agentd_30`. So, the main process is counted by item `proc.num[zabbix_agentd_30,zabbix]`.  When checking the next process, the agent takes `zabbix_agentd_30: collector [idle 1 sec]` from the `cmdline` file and it does not meet our `name` parameter `zabbix_agentd_30`. So, only the main process which does not modify its commandline, gets counted. Other agent processes modify their command line and are ignored.  This example shows that the `name` parameter cannot be used in `proc.mem[]` and `proc.num[]` for selecting processes in this case.  Using `cmdline` parameter with a proper regular expression produces a correct result:      $ zabbix_get -s localhost -k 'proc.num[,zabbix,,zabbix_agentd_30[ :]]'     6  Be careful when using `proc.mem[]` and `proc.num[]` items for monitoring programs which modify their commandlines.  Before putting `name` and `cmdline` parameters into `proc.mem[]` and `proc.num[]` items, you may want to test the parameters using `proc.num[]` item and `ps` command.
fr	#### Processus modifiant leur ligne de commande  Certains programmes utilisent la modification de leur ligne de commande pour afficher leur activité actuelle. Un utilisateur peut voir l'activité en exécutant les commandes `ps` et `top`. *PostgreSQL*, *Sendmail*, *Zabbix* sont des exemples de tels programmes.  Voyons un exemple de Linux. Supposons que nous souhaitons surveiller un certain nombre de processus d'agent Zabbix.  La commande `ps` montre les processus qui nous intéressent      $ ps -fu zabbix     UID        PID  PPID  C STIME TTY          TIME CMD     ...     zabbix    6318     1  0 12:01 ?        00:00:00 sbin/zabbix_agentd -c /home/zabbix/ZBXNEXT-1078/zabbix_agentd.conf     zabbix    6319  6318  0 12:01 ?        00:00:01 sbin/zabbix_agentd: collector [idle 1 sec]     zabbix    6320  6318  0 12:01 ?        00:00:00 sbin/zabbix_agentd: listener #1 [waiting for connection]     zabbix    6321  6318  0 12:01 ?        00:00:00 sbin/zabbix_agentd: listener #2 [waiting for connection]     zabbix    6322  6318  0 12:01 ?        00:00:00 sbin/zabbix_agentd: listener #3 [waiting for connection]     zabbix    6323  6318  0 12:01 ?        00:00:00 sbin/zabbix_agentd: active checks #1 [idle 1 sec]     ...  La sélection des processus par nom et utilisateur fait le travail :      $ zabbix_get -s localhost -k 'proc.num[zabbix_agentd,zabbix]'     6  Maintenant, renommons l'exécutable `zabbix_agentd` en `zabbix_agentd_30` et redémarrons-le.  `ps` montre maintenant      $ ps -fu zabbix     UID        PID  PPID  C STIME TTY          TIME CMD     ...     zabbix    6715     1  0 12:53 ?        00:00:00 sbin/zabbix_agentd_30 -c /home/zabbix/ZBXNEXT-1078/zabbix_agentd.conf     zabbix    6716  6715  0 12:53 ?        00:00:00 sbin/zabbix_agentd_30: collector [idle 1 sec]     zabbix    6717  6715  0 12:53 ?        00:00:00 sbin/zabbix_agentd_30: listener #1 [waiting for connection]     zabbix    6718  6715  0 12:53 ?        00:00:00 sbin/zabbix_agentd_30: listener #2 [waiting for connection]     zabbix    6719  6715  0 12:53 ?        00:00:00 sbin/zabbix_agentd_30: listener #3 [waiting for connection]     zabbix    6720  6715  0 12:53 ?        00:00:00 sbin/zabbix_agentd_30: active checks #1 [idle 1 sec]     ...  Maintenant, la sélection des processus par nom et utilisateur produit un résultat incorrect :      $ zabbix_get -s localhost -k 'proc.num[zabbix_agentd_30,zabbix]'     1  Pourquoi un simple changement de nom d'exécutable en un nom plus long conduit à un résultat assez différent ?  L'agent Zabbix commence par vérifier le nom du processus. Le fichier `/proc/<pid>/status` est ouvert et la ligne `Name` est cochée. Dans notre cas, les lignes de `Name` sont :      $ grep Name /proc/{6715,6716,6717,6718,6719,6720}/status     /proc/6715/status:Name:   zabbix_agentd_3     /proc/6716/status:Name:   zabbix_agentd_3     /proc/6717/status:Name:   zabbix_agentd_3     /proc/6718/status:Name:   zabbix_agentd_3     /proc/6719/status:Name:   zabbix_agentd_3     /proc/6720/status:Name:   zabbix_agentd_3  Le nom du processus dans le fichier `status` est tronqué à 15 caractères.  Un résultat similaire peut être vu avec la commande `ps` :      $ ps -u zabbix       PID TTY          TIME CMD     ...      6715 ?        00:00:00 zabbix_agentd_3      6716 ?        00:00:01 zabbix_agentd_3      6717 ?        00:00:00 zabbix_agentd_3      6718 ?        00:00:00 zabbix_agentd_3      6719 ?        00:00:00 zabbix_agentd_3      6720 ?        00:00:00 zabbix_agentd_3      ...  Évidemment, `proc.num[]` n'est pas égal à notre valeur de paramètre de `name` : `zabbix_agentd_30`. N'ayant pas réussi à faire correspondre le nom de processus du fichier `status`, l'agent Zabbix se tourne vers le fichier `/proc/<pid>/cmdline`.  La manière dont l'agent voit le fichier "cmdline" peut être illustrée avec l'exécution d'une commande      $ for i in 6715 6716 6717 6718 6719 6720; do cat /proc/$i/cmdline | awk '{gsub(/\x0/,"<NUL>"); print};'; done     sbin/zabbix_agentd_30<NUL>-c<NUL>/home/zabbix/ZBXNEXT-1078/zabbix_agentd.conf<NUL>     sbin/zabbix_agentd_30: collector [idle 1 sec]<NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL>...     sbin/zabbix_agentd_30: listener #1 [waiting for connection]<NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL>...     sbin/zabbix_agentd_30: listener #2 [waiting for connection]<NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL>...     sbin/zabbix_agentd_30: listener #3 [waiting for connection]<NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL>...     sbin/zabbix_agentd_30: active checks #1 [idle 1 sec]<NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL><NUL>...  Les fichiers `/proc/<pid>/cmdline` dans notre cas contiennent des octets nuls invisibles et non imprimables, utilisés pour terminer les chaînes en langage *C*. Les octets nuls sont représentés par "<NUL>" dans cet exemple.  L'agent Zabbix vérifie dans "cmdline" le processus principal et prend `zabbix_agentd_30`, qui correspond à la valeur du paramètre `name` : `zabbix_agentd_30`. Ainsi, le processus principal est compté par l'élément `'proc.num[zabbix_agentd_30,zabbix]`.  Lors de la vérification du processus suivant, l'agent prend `zabbix_agentd_30: collector [idle 1 sec]` dans le fichier `cmdline` et il ne correspond pas à notre paramètre `name` `zabbix_agentd_30`. Ainsi, seul le processus principal qui ne modifie pas sa ligne de commande est compté. D'autres processus d'agent modifient leur ligne de commande et sont ignorés.  Cet exemple montre que le paramètre `name` ne peut pas être utilisé dans `proc.mem[]` et `proc.num[]` pour la sélection de processus dans ce cas.  L'utilisation du paramètre `cmdline` avec une expression régulière appropriée produit un résultat correct :      $ zabbix_get -s localhost -k 'proc.num[,zabbix,,zabbix_agentd_30[ :]]'     6  Soyez prudent lorsque vous utilisez les éléments `proc.mem[]` et `proc.num[]` pour surveiller les programmes qui modifient leurs lignes de commande.  Avant de placer les paramètres `name` et `cmdline` dans les éléments `proc.mem[]` et `proc.num[]`, vous pouvez tester les paramètres à l'aide de l'élément `proc.num[]` et de la commande `ps`.

en-us	#### Process user  Zabbix agent on UNIX is designed to run as a non-root user. It will run as whatever non-root user it is started as. So you can run agent as any non-root user without any issues.  If you will try to run it as 'root', it will switch to a hardcoded 'zabbix' user, which must be present on your system. You can only run agent as 'root' if you modify the 'AllowRoot' parameter in the agent configuration file accordingly.
fr	#### Processus utilisateur  L'agent Zabbix sous UNIX est conçu pour s'exécuter en tant qu'utilisateur non root. Il fonctionnera comme n'importe quel utilisateur non-root. Vous pouvez donc exécuter l'agent comme n'importe quel utilisateur non root sans aucun problème.  Si vous essayez de l'exécuter en tant que 'root', il passera à un utilisateur 'zabbix' codé en dur, qui doit être présent sur votre système. Vous pouvez uniquement exécuter l'agent en tant que 'root' si vous modifiez le paramètre 'AllowRoot' dans le fichier de configuration de l'agent associé.

en-us	##### Process user  Zabbix proxy is designed to run as a non-root user. It will run as whatever non-root user it is started as. So you can run proxy as any non-root user without any issues.  If you will try to run it as 'root', it will switch to a hardcoded 'zabbix' user, which must be present on your system. You can only run proxy as 'root' if you modify the 'AllowRoot' parameter in the proxy configuration file accordingly.
fr	##### Processus utilisateur  Le proxy Zabbix est conçu pour s'exécuter en tant qu'utilisateur non root. Il fonctionnera comme n'importe quel utilisateur non-root. Vous pouvez donc exécuter le proxy comme n'importe quel utilisateur non root sans aucun problème.  Si vous essayez de l'exécuter en tant que 'root', il passera à un utilisateur 'zabbix' codé en dur, qui doit être présent sur votre système. Vous pouvez uniquement exécuter le proxy en tant que 'root' si vous modifiez le paramètre 'AllowRoot' dans le fichier de configuration du proxy associé.

en-us	##### Process user  Zabbix server is designed to run as a non-root user. It will run as whatever non-root user it is started as. So you can run server as any non-root user without any issues.  If you will try to run it as 'root', it will switch to a hardcoded 'zabbix' user, which must be [present](/manual/installation/install) on your system. You can only run server as 'root' if you modify the 'AllowRoot' parameter in the server configuration file accordingly.  If Zabbix server and [agent](agent) are run on the same machine it is recommended to use a different user for running the server than for running the agent. Otherwise, if both are run as the same user, the agent can access the server configuration file and any Admin level user in Zabbix can quite easily retrieve, for example, the database password.
fr	##### Processus utilisateur  Le serveur Zabbix est conçu pour fonctionner en tant qu'utilisateur non root. Il fonctionnera avec n’importe quel utilisateur non-root qui lancera les processus. Vous pouvez donc exécuter le serveur en tant qu'utilisateur non root sans aucun problème.  Si vous essayez de l'exécuter en tant que 'root', il passera à un utilisateur 'zabbix' codé en dur, qui doit être [présent](/manual/installation/install) sur votre système. Vous pouvez uniquement exécuter le serveur en tant que 'root' si vous modifiez le paramètre 'AllowRoot' dans le fichier de configuration associé du serveur.  Si le serveur et l'[agent](agent) Zabbix sont exécutés sur la même machine, il est recommandé d'utiliser un autre utilisateur pour exécuter le serveur que pour exécuter l'agent. Sinon, si les deux sont exécutés sous le même utilisateur, l'agent peut accéder au fichier de configuration du serveur et tout utilisateur de niveau Admin dans Zabbix peut facilement récupérer, par exemple, le mot de passe de la base de données.

en-us	#### Prometheus to JSON  Data from Prometheus can be used for low-level discovery. In this case data in JSON format are needed and the *Prometheus to JSON* preprocessing option will return exactly that.  For more details, see [Discovery using Prometheus data](/manual/discovery/low_level_discovery/examples/prometheus).
fr	#### Prometheus vers JSON  Les données de Prometheus peuvent être utilisées pour la découverte de bas niveau. Dans ce cas, des données au format JSON sont nécessaires et l'option de prétraitement *Prometheus vers JSON* renverra exactement cela.  Pour plus de détails, voir [Découverte à l'aide des données Prometheus](/manual/discovery/low_level_discovery/examples/prometheus).

en-us	##### Prometheus to JSON  In the discovery rule, go to the Preprocessing tab and select the *Prometheus to JSON* preprocessing option. Data in JSON format are needed for discovery and the *Prometheus to JSON* preprocessing option will return exactly that, with the following attributes:  -   metric name -   metric value -   help (if present) -   type (if present) -   labels (if present) -   raw line  For example, querying `wmi_logical_disk_free_bytes`:  ![](../../../../../assets/en/manual/discovery/low_level_discovery/lld_rule_prom_json.png)  from these Prometheus lines:      # HELP wmi_logical_disk_free_bytes Free space in bytes (LogicalDisk.PercentFreeSpace)     # TYPE wmi_logical_disk_free_bytes gauge     wmi_logical_disk_free_bytes{volume="C:"} 3.5180249088e+11     wmi_logical_disk_free_bytes{volume="D:"} 2.627731456e+09     wmi_logical_disk_free_bytes{volume="HarddiskVolume4"} 4.59276288e+08  will return:  ``` {.java} [     {         "name": "wmi_logical_disk_free_bytes",         "help": "Free space in bytes (LogicalDisk.PercentFreeSpace)",         "type": "gauge",         "labels": {             "volume": "C:"          },         "value": "3.5180249088e+11",         "line_raw": "wmi_logical_disk_free_bytes{volume=\"C:\"} 3.5180249088e+11"     },     {         "name": "wmi_logical_disk_free_bytes",         "help": "Free space in bytes (LogicalDisk.PercentFreeSpace)",         "type": "gauge",         "labels": {             "volume": "D:"          },         "value": "2.627731456e+09",         "line_raw": "wmi_logical_disk_free_bytes{volume=\"D:\"} 2.627731456e+09"     },     {         "name": "wmi_logical_disk_free_bytes",         "help": "Free space in bytes (LogicalDisk.PercentFreeSpace)",         "type": "gauge",         "labels": {             "volume": "HarddiskVolume4"          },         "value": "4.59276288e+08",         "line_raw": "wmi_logical_disk_free_bytes{volume=\"HarddiskVolume4\"} 4.59276288e+08"     } ] ```
fr	##### Prometheus vers JSON  Dans la règle de découverte, accédez à l'onglet Prétraitement et sélectionnez l'option de prétraitement *Prometheus vers JSON*. Les données au format JSON sont nécessaires pour la découverte et l'option de prétraitement *Prometheus vers JSON* renverra exactement cela, avec les attributs suivants :  - nom de la métrique - valeur métrique - aide (si présente) - type (si présent) - étiquettes (si présentes) - ligne brute  Par exemple, en interrogeant `wmi_logical_disk_free_bytes` :  ![](../../../../../assets/en/manual/discovery/low_level_discovery/lld_rule_prom_json.png)  à partir de ces lignes Prometheus :      # HELP wmi_logical_disk_free_bytes Free space in bytes (LogicalDisk.PercentFreeSpace)     # TYPE wmi_logical_disk_free_bytes gauge     wmi_logical_disk_free_bytes{volume="C:"} 3.5180249088e+11     wmi_logical_disk_free_bytes{volume="D:"} 2.627731456e+09     wmi_logical_disk_free_bytes{volume="HarddiskVolume4"} 4.59276288e+08  renverra :  ``` {.java} [     {         "name": "wmi_logical_disk_free_bytes",         "help": "Free space in bytes (LogicalDisk.PercentFreeSpace)",         "type": "gauge",         "labels": {             "volume": "C:"          },         "value": "3.5180249088e+11",         "line_raw": "wmi_logical_disk_free_bytes{volume=\"C:\"} 3.5180249088e+11"     },     {         "name": "wmi_logical_disk_free_bytes",         "help": "Free space in bytes (LogicalDisk.PercentFreeSpace)",         "type": "gauge",         "labels": {             "volume": "D:"          },         "value": "2.627731456e+09",         "line_raw": "wmi_logical_disk_free_bytes{volume=\"D:\"} 2.627731456e+09"     },     {         "name": "wmi_logical_disk_free_bytes",         "help": "Free space in bytes (LogicalDisk.PercentFreeSpace)",         "type": "gauge",         "labels": {             "volume": "HarddiskVolume4"          },         "value": "4.59276288e+08",         "line_raw": "wmi_logical_disk_free_bytes{volume=\"HarddiskVolume4\"} 4.59276288e+08"     } ] ```

en-us	#### Property labels  Some of the objects properties are marked with short labels to describe their behavior. The following labels are used:  -   *readonly* - the value of the property is set automatically and     cannot be defined or changed by the client; -   *constant* - the value of the property can be set when creating an     object, but cannot be changed after.
fr	#### Étiquettes de propriétés  Certaines propriétés des objets sont marquées par de courtes étiquettes décrivant leur comportement. Les étiquettes suivantes sont utilisées :  -   *readonly* - la valeur de la propriété est définie automatiquement et ne peut pas être définie ou modifiée par le client (lecture seule) ; -   *constante* - la valeur de la propriété peut être définie lors de la création d'un objet, mais ne peut pas être modifiée après.

en-us	| Property                       | [Type](/manual/api/reference_commentary#data_types) | Description                                                                           | |--------------------------------|-----------------------------------------------------|---------------------------------------------------------------------------------------| | **name**<br>(required)         | string                                              | Name of the excluded downtime.                                                        | | **period\_from**<br>(required) | integer                                             | Starting time of the excluded downtime (inclusive).<br><br>Possible values: timestamp. | | **period\_to**<br>(required)   | integer                                             | Ending time of the excluded downtime (exclusive).<br><br>Possible values: timestamp.  |
fr	| Propriété                       | [Type](/manual/api/reference_commentary#data_types) | Description                                                                           | |--------------------------------|-----------------------------------------------------|---------------------------------------------------------------------------------------| | **name**<br>(obligatoire)         | string                                              | Nom du temps d'arrêt exclu.                                                        | | **period\_from**<br>(obligatoire) | integer                                             | Heure de début du temps d'arrêt exclu (inclus).<br><br>Valeurs possibles : timestamp. | | **period\_to**<br>(obligatoire)   | integer                                             | Heure de fin du temps d'arrêt exclu (exclus)..<br><br>Valeurs possibles : timestamp.  |

en-us	| Property                       | [Type](/manual/api/reference_commentary#data_types) | Description                                                                                                                         | |--------------------------------|-----------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------| | **period\_from**<br>(required) | integer                                             | Starting time of the recurrent weekly period of time (inclusive).<br><br>Possible values: number of seconds (counting from Sunday). | | **period\_to**<br>(required)   | integer                                             | Ending time of the recurrent weekly period of time (exclusive).<br><br>Possible values: number of seconds (counting from Sunday).   |
fr	| Propriété                       | [Type](/manual/api/reference_commentary#data_types) | Description                                                                                                                         | |--------------------------------|-----------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------| | **period\_from**<br>(obligatoire) | integer                                             | Heure de début de la période hebdomadaire récurrente (incluse).<br><br>Valeurs possibles : nombre de secondes (à partir du dimanche). | | **period\_to**<br>(obligatoire)   | integer                                             | Heure de fin de la période hebdomadaire récurrente (exclue).<br><br>Valeurs possibles : nombre de secondes (à partir du dimanche).  |

en-us	##### Protection against brute force attacks  In case of five consecutive failed login attempts, Zabbix interface will pause for 30 seconds in order to prevent brute force and dictionary attacks.  The IP address of a failed login attempt will be displayed after a successful login.
fr	##### Protection contre les attaques par force brute  Dans le cas de cinq tentatives de connexion infructueuses consécutives, l\'interface Zabbix s\'arrêtera pendant 30 secondes afin d\'empêcher les attaques par force brute et par dictionnaire.  L\'adresse IP d\'une tentative de connexion échouée sera affichée après une connexion réussie.

en-us	##### Protection from overloading  If Zabbix server was down for some time, and proxies have collected a lot of data,  and then the server starts, it may get overloaded (history cache usage stays at 95-100% for some time).  This overload could result in a performance hit, where checks are processed slower  than they should. Protection from this scenario was implemented to avoid problems that arise  due to overloading history cache.  When Zabbix server history cache is full the history cache write access is being  throttled, stalling server data gathering processes. The most common history cache  overload case is after server downtime when proxies are uploading gathered data. To avoid  this proxy throttling was added (currently it cannot be disabled).  Zabbix server will stop accepting data from proxies when history cache usage reaches 80%.  Instead those proxies will be put on a throttling list. This will continue until the cache usage  falls down to 60%. Now server will start accepting data from proxies one by one, defined by the  throttling list. This means the first proxy that attempted to upload data during the throttling  period will be served first and until it's done the server will not accept data from other proxies.  This throttling mode will continue until either cache usage hits 80% again or falls down to 20%  or the throttling list is empty. In the first case the server will stop accepting proxy data again.  In the other two cases the server will start working normally, accepting data from all proxies.  The above information can be illustrated in the following table:  |History write <br>cache usage|Zabbix server mode|Zabbix server action| |--|--|------| |Reaches 80% |Wait|Stops accepting proxy data, but maintains a *throttling list* (prioritized list of proxies to be contacted later).| |Drops to 60% |Throttled|Starts processing throttling list, but still not accepting proxy data.| |Drops to 20% |Normal|Drops the throttling list and starts accepting proxy data normally.|  You may use the `zabbix[wcache,history,pused]` internal item to correlate this behavior of Zabbix  server with a metric.
fr	 ##### Protection contre les surcharges  Si le serveur Zabbix était en panne pendant un certain temps et que les proxys ont collecté beaucoup de données, puis que le serveur démarre, il peut être surchargé (l'utilisation du cache de l'historique reste à 95-100 % pendant un certain temps). Cette surcharge peut entraîner une baisse des performances, où les vérifications sont traitées plus lentement qu'elles ne le devraient. Une protection contre ce scénario a été implémentée pour éviter les problèmes dus à la surcharge du cache de l'historique.  Lorsque le cache de l'historique du serveur Zabbix est plein, l'accès en écriture du cache de l'historique est limité, ce qui bloque les processus de collecte de données du serveur. Le cas de surcharge du cache de l'historique le plus courant est après un temps d'arrêt du serveur lorsque les proxys téléchargent les données collectées. Pour éviter ce proxy, une limitation a été ajoutée (actuellement, elle ne peut pas être désactivée).  Le serveur Zabbix cessera d'accepter les données des proxys lorsque l'utilisation du cache de l'historique atteindra 80 %. Au lieu de cela, ces proxys seront placés sur une liste de limitation. Cela continuera jusqu'à ce que l'utilisation du cache tombe à 60 %. À ce moment, le serveur commencera à accepter les données des proxys un par un, défini par la liste de limitation. Cela signifie que le premier proxy qui a tenté de télécharger des données pendant la période de limitation sera servi en premier et jusqu'à ce que ce soit fait, le serveur n'acceptera pas les données des autres proxys.  Ce mode de limitation se poursuivra jusqu'à ce que l'utilisation du cache atteigne à nouveau 80 % ou tombe à 20 % ou que la liste de limitation soit vide. Dans le premier cas, le serveur cessera à nouveau d'accepter les données proxy. Dans les deux autres cas, le serveur commencera à fonctionner normalement, acceptant les données de tous les proxys.  Les informations ci-dessus peuvent être illustrées dans le tableau suivant :  |Utilisation du cache <br>d'écriture de l'historique|Mode serveur Zabbix|Action du serveur Zabbix| |--|--|------| |Atteint 80% |En attente|Arrête d'accepter les données de proxy, mais maintient une *liste de limitation* (liste prioritaire des proxys à contacter ultérieurement).| |Tombe à 60 % |Limitation|Démarre le traitement de la liste de limitation, mais n'accepte toujours pas les données proxy.| |Tombe à 20 % |Normal|Supprime la liste de limitation et commence à accepter les données proxy normalement.|  Vous pouvez utiliser l'élément interne `zabbix[wcache,history,pused]` pour corréler ce comportement du serveur Zabbix avec une métrique.

en-us	##### - Providing history export callbacks  ::: noteimportant History export via module is no longer supported by Zabbix proxy since Zabbix 4.0.0. :::  Module can specify functions to export history data by type: Numeric (float), Numeric (unsigned), Character, Text and Log:  ``` {.c} typedef struct {     void    (*history_float_cb)(const ZBX_HISTORY_FLOAT *history, int history_num);     void    (*history_integer_cb)(const ZBX_HISTORY_INTEGER *history, int history_num);     void    (*history_string_cb)(const ZBX_HISTORY_STRING *history, int history_num);     void    (*history_text_cb)(const ZBX_HISTORY_TEXT *history, int history_num);     void    (*history_log_cb)(const ZBX_HISTORY_LOG *history, int history_num); } ZBX_HISTORY_WRITE_CBS; ```  Each of them should take "history" array of "history\_num" elements as arguments. Depending on history data type to be exported, "history" is an array of the following structures, respectively:  ``` {.c} typedef struct {     zbx_uint64_t    itemid;     int     clock;     int     ns;     double      value; } ZBX_HISTORY_FLOAT;  typedef struct {     zbx_uint64_t    itemid;     int     clock;     int     ns;     zbx_uint64_t    value; } ZBX_HISTORY_INTEGER;  typedef struct {     zbx_uint64_t    itemid;     int     clock;     int     ns;     const char  *value; } ZBX_HISTORY_STRING;  typedef struct {     zbx_uint64_t    itemid;     int     clock;     int     ns;     const char  *value; } ZBX_HISTORY_TEXT;  typedef struct {     zbx_uint64_t    itemid;     int     clock;     int     ns;     const char  *value;     const char  *source;     int     timestamp;     int     logeventid;     int     severity; } ZBX_HISTORY_LOG; ```  Callbacks will be used by Zabbix server history syncer processes in the end of history sync procedure after data is written into Zabbix database and saved in value cache.  :::noteimportant In case of internal error in history export module it is recommended that module is written in such a way that it does not block whole monitoring until it recovers but discards data instead and allows Zabbix server to continue running. :::
fr	##### - Fournir des rappels d'exportation d'historique  ::: noteimportant L'exportation de l'historique via le module n'est plus prise en charge par le proxy Zabbix depuis Zabbix 4.0.0. :::  Le module peut spécifier des fonctions pour exporter les données d'historique par type : numérique (flottant), numérique (non signé), caractère, texte et journal :  ``` {.c} structure typedef {     void (*history_float_cb)(const ZBX_HISTORY_FLOAT *history, int history_num);     void (*history_integer_cb)(const ZBX_HISTORY_INTEGER *history, int history_num);     void (*history_string_cb)(const ZBX_HISTORY_STRING *history, int history_num);     void (*history_text_cb)(const ZBX_HISTORY_TEXT *history, int history_num);     void (*history_log_cb)(const ZBX_HISTORY_LOG *history, int history_num); } ZBX_HISTORY_WRITE_CBS ; ```  Chacun d'eux doit prendre le tableau "history" d'éléments "history\_num" comme argument. Selon le type de données d'historique à exporter, "historique" est un tableau de structures suivantes, respectivement :  ``` {.c} typedef struct {  · zbx_uint64_t · itemid;  · int · clock;  · int · ns;  · double · value; } ZBX_HISTORY_FLOAT;  typedef struct {  · zbx_uint64_t · itemid;  · int · clock;  · int · ns;  · zbx_uint64_t · value; } ZBX_HISTORY_INTEGER;  typedef struct {  · zbx_uint64_t · itemid;  · int · clock;  · int · ns;  · const char · *value; } ZBX_HISTORY_STRING;  typedef struct {  · zbx_uint64_t · itemid;  · int · clock;  · int · ns;  · const char · *value; } ZBX_HISTORY_TEXT;  typedef struct {  · zbx_uint64_t · itemid;  · int · clock;  · int · ns;  · const char · *value;  · const char · *source;  · int · timestamp;  · int · logeventid;  · int · severity; } ZBX_HISTORY_LOG; ```  Les rappels seront utilisés par les processus de synchronisation de l'historique du serveur Zabbix à la fin de la procédure de synchronisation de l'historique après les données soient écrites dans la base de données Zabbix et enregistrées dans le cache de valeur.  :::noteimportant En cas d'erreur interne dans le module d'exportation de l'historique, il est recommandé que le module soit écrit de telle sorte qu'il ne bloque pas toute la surveillance jusqu'à ce qu'il récupère, mais supprime les données à la place et permette au serveur Zabbix de continuer à fonctionner. :::

en-us	#### Proxies  A listing of existing proxies with their details is displayed.  ![](../../../../../assets/en/manual/web_interface/proxies1.png){width="600"}  Displayed data:  |Column|Description| |--|--------| |*Name*|Name of the proxy. Clicking on the proxy name opens the proxy [configuration form](/manual/distributed_monitoring/proxies#configuration).| |*Mode*|Proxy mode is displayed - *Active* or *Passive*.| |*Encryption*|Encryption status for connections from the proxy is displayed:<br>**None** - no encryption<br>**PSK** - using pre-shared key<br>**Cert** - using certificate<br>| |*Last seen (age)*|The time when the proxy was last seen by the server is displayed.| |*Host count*|The number of enabled hosts assigned to the proxy is displayed.| |*Item count*|The number of enabled items on enabled hosts assigned to the proxy is displayed.| |*Required performance (vps)*|Required proxy performance is displayed (the number of values that need to be collected per second).| |*Hosts*|All hosts monitored by the proxy are listed. Clicking on the host name opens the host configuration form.|  To configure a new proxy, click on the *Create proxy* button in the top right-hand corner.
fr	 #### Proxys  Une liste des proxys existants avec leurs détails s'affiche.  ![](../../../../../assets/en/manual/web_interface/proxies1.png){width="600"}  Données affichées :  |Colonne|Description| |--|--------| |*Nom*|Nom du proxy. Cliquer sur le nom du proxy ouvre le [formulaire de configuration](/manual/distributed_monitoring/proxies#configuration) du proxy.| |*Mode*|Le mode proxy s'affiche - *Actif* or *Passif*.| |*Chiffrement*|L'état de chiffrement des connexions à partir du proxy s'affiche :<br>**Aucun** - pas de cryptage<br>**PSK** - utilise une clé pré-partagée<br>**Cert** - utilise un certificat<br>| |*Vu pour la dernière fois (âge)*|L'heure à laquelle le proxy a été vu pour la dernière fois par le serveur s'affiche.| |*Nombre d'hôtes*|Le nombre d'hôtes activés affectés au proxy s'affiche.| |*Nombre d'éléments*|Le nombre d'éléments activés sur les hôtes activés affectés au proxy s'affiche.| |*Performances requises (vps)*|Les performances de proxy requises sont affichées (le nombre de valeurs qui doivent être collectées par seconde).| |*Hôtes*|Tous les hôtes surveillés par le proxy sont répertoriés. Cliquer sur le nom de l'hôte ouvre le formulaire de configuration de l'hôte.|  Pour configurer un nouveau proxy, cliquez sur le bouton *Créer un proxy* dans le coin supérieur droit.

en-us	#### Proxies  In a [proxy](/manual/distributed_monitoring/proxies#configuration) configuration, user macros can be used in the following field:  |Location|<|Multiple macros/mix with text^[1](supported_by_location_user#footnotes)^| |-|------------------------------|----------| |Interface port (for passive proxy)|<|no|
fr	#### Proxys  Dans une configuration [proxy](/manual/distributed_monitoring/proxies#configuration), les macros utilisateur peuvent être utilisées dans le champ suivant :  |Emplacement|<|Plusieurs macros/mix avec du texte^[1](supported_by_location_user#footnotes)^| |-|------------------------------|----------| |Port d'interface (pour un proxy passif)|<|non|

en-us	#### Proxies  Manage the proxies used in your distributed monitoring setup.  [Proxy API](/manual/api/reference/proxy)  
fr	#### Proxys  Gérez les proxys utilisés dans votre configuration de surveillance distribuée.  [API Proxy](/manual/api/reference/proxy)  

en-us	#### proxy  Changes:\ [ZBXNEXT-6889](https://support.zabbix.com/browse/ZBXNEXT-6889) `proxy.create`, `proxy.update`: dropped support of `interface.interfaceid` and `interface.hostid` properties.\
fr	#### proxy  Changements :\ [ZBXNEXT-6889](https://support.zabbix.com/browse/ZBXNEXT-6889) `proxy.create`, `proxy.update`: les propriétés `interface.interfaceid` et `interface.hostid` ne sont plus supportées.\

en-us	##### Proxy config request  The `proxy config` request is sent by proxy to obtain proxy configuration data. This request is sent every `ConfigFrequency` (proxy configuration parameter) seconds.  |name|<|<|<|value type|description| |-|-|-|----------|----------|----------------------------------------| |proxy→server:|<|<|<|<|<| |**request**|<|<|<|*string*|'proxy config'| |**host**|<|<|<|*string*|Proxy name.| |**version**|<|<|<|*string*|Proxy version (<major>.<minor>.<build>).| |server→proxy:|<|<|<|<|<| |**request**|<|<|<|*string*|'proxy config'| |**<table>**|<|<|<|*object*|One or more objects with <table> data.| | |**fields**|<|<|*array*|Array of field names.| |^| |\-|<|*string*|Field name.| |^|**data**|<|<|*array*|Array of rows.| |^| |\-|<|*array*|Array of columns.| |^|^| |\-|*string*,*number*|Column value with type depending on the column type in database schema.| |proxy→server:|<|<|<|<|<| |**response**|<|<|<|*string*|Request success information ('success' or 'failed').|  Example:  proxy→server:  ``` {.javascript} {   "request": "proxy config",   "host": "Proxy #12",   "version":"5.4.0" } ```  server→proxy:  ``` {.javascript} {     "globalmacro":{         "fields":[             "globalmacroid",             "macro",             "value"         ],         "data":[             [                 2,                 "{$SNMP_COMMUNITY}",                 "public"             ]         ]     },     "hosts":{         "fields":[             "hostid",             "host",             "status",             "ipmi_authtype",             "ipmi_privilege",             "ipmi_username",             "ipmi_password",             "name",             "tls_connect",             "tls_accept",             "tls_issuer",             "tls_subject",             "tls_psk_identity",             "tls_psk"         ],         "data":[             [                 10001,                 "Linux",                 3,                 -1,                 2,                 "",                 "",                 "Linux",                 1,                 1,                 "",                 "",                 "",                 ""             ],             [                 10050,                 "Zabbix Agent",                 3,                 -1,                 2,                 "",                 "",                 "Zabbix Agent",                 1,                 1,                 "",                 "",                 "",                 ""             ],             [                 10105,                 "Logger",                 0,                 -1,                 2,                 "",                 "",                 "Logger",                 1,                 1,                 "",                 "",                 "",                 ""             ]         ]     },     "interface":{         "fields":[             "interfaceid",             "hostid",             "main",             "type",             "useip",             "ip",             "dns",             "port",             "bulk"         ],         "data":[             [                 2,                 10105,                 1,                 1,                 1,                 "127.0.0.1",                 "",                 "10050",                 1             ]         ]     },     ... } ```  proxy→server:  ``` {.javascript} {   "response": "success" } ```
fr	##### Demande de configuration proxy  La requête `proxy config` est envoyée par le proxy pour obtenir les données de configuration du proxy. Cette requête est envoyée à chaque `ConfigFrequency` (paramètre de configuration du proxy) secondes.  |nom|<|<|<|type de valeur|description| |-|-|-|----------|----------|--------------------- -------------------| |proxy→server :|<|<|<|<|<| |**request**|<|<|<|*chaîne*|'proxy config'| |**host**|<|<|<|*chaîne*|Nom du proxy.| |**version**|<|<|<|*chaîne*|Version du proxy (<majeur>.<mineur>.<build>).| |server→proxy :|<|<|<|<|<| |**request**|<|<|<|*chaîne*|'proxy config'| |**<table>**|<|<|<|*objet*|Un ou plusieurs objets avec des données <table>.| | |**fields**|<|<|*tableau*|Tableau de noms de champs.| |^| |\-|<|*chaîne*|Nom du champ.| |^|**data**|<|<|*tableau*|Tableau de lignes.| |^| |\-|<|*array*|Tableau de colonnes.| |^|^| |\-|*chaîne*,*nombre*|Valeur de colonne dont le type dépend du type de colonne dans le schéma de la base de données.| |proxy→server :|<|<|<|<|<| |**response**|<|<|<|*chaîne*|Demande d'informations sur le succès ('success' ou 'failed').|  Exemple:  proxy→server :  ``` {.javascript} {   "request": "proxy config",   "host": "Proxy #12",   "version":"5.4.0" } ```  server→proxy :  ``` {.javascript} {     "globalmacro":{         "fields":[             "globalmacroid",             "macro",             "value"         ],         "data":[             [                 2,                 "{$SNMP_COMMUNITY}",                 "public"             ]         ]     },     "hosts":{         "fields":[             "hostid",             "host",             "status",             "ipmi_authtype",             "ipmi_privilege",             "ipmi_username",             "ipmi_password",             "name",             "tls_connect",             "tls_accept",             "tls_issuer",             "tls_subject",             "tls_psk_identity",             "tls_psk"         ],         "data":[             [                 10001,                 "Linux",                 3,                 -1,                 2,                 "",                 "",                 "Linux",                 1,                 1,                 "",                 "",                 "",                 ""             ],             [                 10050,                 "Zabbix Agent",                 3,                 -1,                 2,                 "",                 "",                 "Zabbix Agent",                 1,                 1,                 "",                 "",                 "",                 ""             ],             [                 10105,                 "Logger",                 0,                 -1,                 2,                 "",                 "",                 "Logger",                 1,                 1,                 "",                 "",                 "",                 ""             ]         ]     },     "interface":{         "fields":[             "interfaceid",             "hostid",             "main",             "type",             "useip",             "ip",             "dns",             "port",             "bulk"         ],         "data":[             [                 2,                 10105,                 1,                 1,                 1,                 "127.0.0.1",                 "",                 "10050",                 1             ]         ]     },     ... } ```  proxy→server :  ``` {.javascript} {   "response": "success" } ```

en-us	##### Proxy config request  The `proxy config` request is sent by server to provide proxy configuration data. This request is sent every `ProxyConfigFrequency` (server configuration parameter) seconds.  |name|<|<|<|value type|description| |-|-|-|----------|----------|----------------------------------------| |server→proxy:|<|<|<|<|<| |**request**|<|<|<|*string*|'proxy config'| |**<table>**|<|<|<|*object*|One or more objects with <table> data.| | |**fields**|<|<|*array*|Array of field names.| |^| |\-|<|*string*|Field name.| |^|**data**|<|<|*array*|Array of rows.| |^| |\-|<|*array*|Array of columns.| |^|^| |\-|*string*,*number*|Column value with type depending on the column type in database schema.| |proxy→server:|<|<|<|<|<| |**response**|<|<|<|*string*|Request success information ('success' or 'failed').| |**version**|<|<|<|*string*|Proxy version (<major>.<minor>.<build>).|  Example:  server→proxy:  ``` {.javascript} {     "request": "proxy config",     "globalmacro":{         "fields":[             "globalmacroid",             "macro",             "value"         ],         "data":[             [                 2,                 "{$SNMP_COMMUNITY}",                 "public"             ]         ]     },     "hosts":{         "fields":[             "hostid",             "host",             "status",             "ipmi_authtype",             "ipmi_privilege",             "ipmi_username",             "ipmi_password",             "name",             "tls_connect",             "tls_accept",             "tls_issuer",             "tls_subject",             "tls_psk_identity",             "tls_psk"         ],         "data":[             [                 10001,                 "Linux",                 3,                 -1,                 2,                 "",                 "",                 "Linux",                 1,                 1,                 "",                 "",                 "",                 ""             ],             [                 10050,                 "Zabbix Agent",                 3,                 -1,                 2,                 "",                 "",                 "Zabbix Agent",                 1,                 1,                 "",                 "",                 "",                 ""             ],             [                 10105,                 "Logger",                 0,                 -1,                 2,                 "",                 "",                 "Logger",                 1,                 1,                 "",                 "",                 "",                 ""             ]         ]     },     "interface":{         "fields":[             "interfaceid",             "hostid",             "main",             "type",             "useip",             "ip",             "dns",             "port",             "bulk"         ],         "data":[             [                 2,                 10105,                 1,                 1,                 1,                 "127.0.0.1",                 "",                 "10050",                 1             ]         ]     },     ... } ```  proxy→server:  ``` {.javascript} {   "response": "success",   "version": "6.0.0" } ```
fr	 ##### Demande de configuration proxy  La requête `proxy config` est envoyée par le serveur pour fournir les données de configuration du proxy. Cette requête est envoyée chaque `ProxyConfigFrequency` (paramètre de configuration du serveur) secondes.  |Nom|<|<|<|Type de valeur|Description| |-|-|-|----------|----------|----------------------------------------| |serveur→proxy :|<|<|<|<|<| |**request**|<|<|<|*chaîne*|'proxy config'| |**<table>**|<|<|<|*objet*|Un ou plusieurs objets avec des données \<table\>.| | |**fields**|<|<|*tableau*|Tableau de noms de champs.| |^| |\-|<|*chaîne*|Nom du champ.| |^|**data**|<|<|*tableau*|Tableau de lignes.| |^| |\-|<|*tableau*|Tableau de colonnes.| |^|^| |\-|*chaîne*,*nombre*|Valeur de colonne dont le type dépend du type de colonne dans le schéma de la base de données.| |proxy→serveur :|<|<|<|<|<| |**response**|<|<|<|*chaîne*|Demande d'informations sur le succès ('success' ou 'failed').| |**version**|<|<|<|*chaîne*|Version du proxy (\<majeur\>.\<mineur\>.\<build\>).|  Exemple :  serveur→proxy :  ``` {.javascript} {     "request": "proxy config",     "globalmacro":{         "fields":[             "globalmacroid",             "macro",             "value"         ],         "data":[             [                 2,                 "{$SNMP_COMMUNITY}",                 "public"             ]         ]     },     "hosts":{         "fields":[             "hostid",             "host",             "status",             "ipmi_authtype",             "ipmi_privilege",             "ipmi_username",             "ipmi_password",             "name",             "tls_connect",             "tls_accept",             "tls_issuer",             "tls_subject",             "tls_psk_identity",             "tls_psk"         ],         "data":[             [                 10001,                 "Linux",                 3,                 -1,                 2,                 "",                 "",                 "Linux",                 1,                 1,                 "",                 "",                 "",                 ""             ],             [                 10050,                 "Zabbix Agent",                 3,                 -1,                 2,                 "",                 "",                 "Zabbix Agent",                 1,                 1,                 "",                 "",                 "",                 ""             ],             [                 10105,                 "Logger",                 0,                 -1,                 2,                 "",                 "",                 "Logger",                 1,                 1,                 "",                 "",                 "",                 ""             ]         ]     },     "interface":{         "fields":[             "interfaceid",             "hostid",             "main",             "type",             "useip",             "ip",             "dns",             "port",             "bulk"         ],         "data":[             [                 2,                 10105,                 1,                 1,                 1,                 "127.0.0.1",                 "",                 "10050",                 1             ]         ]     },     ... } ```  proxy→serveur :  ``` {.javascript} {   "response": "success",   "version": "6.0.0" } ```

en-us	##### Proxy configuration  HA cluster nodes (servers) must be listed in the configuration of either  passive or active Zabbix proxy.  For a passive proxy, the node names must be listed in the Server [parameter](/manual/appendix/config/zabbix_proxy) of the proxy,  separated by a **comma**.  ``` Server=zabbix-node-01,zabbix-node-02 ```  For an active proxy, the node names must be listed in the Server [parameter](/manual/appendix/config/zabbix_proxy) of the proxy,  separated by a **semicolon**. ``` Server=zabbix-node-01;zabbix-node-02 ```
fr	 ##### Configuration du proxy  Les nœuds de cluster HA (serveurs) doivent être répertoriés dans la configuration du proxy Zabbix passif ou actif.  Pour un proxy passif, le nom des nœuds doivent être listés dans le [paramètre](/manual/appendix/config/zabbix_proxy) Server du proxy, séparés par une **virgule**.  ``` Server=zabbix-node-01,zabbix-node-02 ```  Pour un proxy actif, le nom des nœud doivent être répertoriés dans le [paramètre](/manual/appendix/config/zabbix_proxy) Server du proxy, séparés par un **point-virgule**.  ``` Server=zabbix-node-01;zabbix-node-02 ```

en-us	# proxy.create
fr	# proxy.create

en-us	##### Proxy data request  The `proxy data` request is sent by proxy to provide host interface availability, history, discovery and autoregistration data. This request is sent every `DataSenderFrequency` (proxy configuration parameter) seconds. Note that active proxy will still poll Zabbix server every second for remote command tasks (with an empty `proxy data` request).  |name|<|value type|description| |-|----------|----------|----------------------------------------| |proxy→server:|<|<|<| |**request**|<|*string*|'proxy data'| |**host**|<|*string*|Proxy name.| |**session**|<|*string*|Data session token.| |**interface availability**|<|*array*|*(optional)* Array of interface availability data objects.| | |**interfaceid**|*number*|Interface identifier.| |^|**available**|*number*|Interface availability:<br><br>**0**, *INTERFACE\_AVAILABLE\_UNKNOWN* - unknown<br>**1**, *INTERFACE\_AVAILABLE\_TRUE* - available<br>**2**, *INTERFACE\_AVAILABLE\_FALSE* - unavailable| |^|**error**|*string*|Interface error message or empty string.| |**history data**|<|*array*|*(optional)* Array of history data objects.| | |**itemid**|*number*|Item identifier.| |^|**clock**|*number*|Item value timestamp (seconds).| |^|**ns**|*number*|Item value timestamp (nanoseconds).| |^|**value**|*string*|*(optional)* Item value.| |^|**id**|*number*|Value identifier (ascending counter, unique within one data session).| |^|**timestamp**|*number*|*(optional)* Timestamp of log type items.| |^|**source**|*string*|*(optional)* Eventlog item source value.| |^|**severity**|*number*|*(optional)* Eventlog item severity value.| |^|**eventid**|*number*|*(optional)* Eventlog item eventid value.| |^|**state**|*string*|*(optional)* Item state:<br>**0**, *ITEM\_STATE\_NORMAL*<br>**1**, *ITEM\_STATE\_NOTSUPPORTED*| |^|**lastlogsize**|*number*|*(optional)* Last log size of log type items.| |^|**mtime**|*number*|*(optional)* Modification time of log type items.| |**discovery data**|<|*array*|*(optional)* Array of discovery data objects.| | |**clock**|*number*|Discovery data timestamp.| |^|**druleid**|*number*|Discovery rule identifier.| |^|**dcheckid**|*number*|Discovery check identifier or null for discovery rule data.| |^|**type**|*number*|Discovery check type:<br><br>**-1** discovery rule data<br>**0**, *SVC\_SSH* - SSH service check<br>**1**, *SVC\_LDAP* - LDAP service check<br>**2**, *SVC\_SMTP* - SMTP service check<br>**3**, *SVC\_FTP* - FTP service check<br>**4**, *SVC\_HTTP* - HTTP service check<br>**5**, *SVC\_POP* - POP service check<br>**6**, *SVC\_NNTP* - NNTP service check<br>**7**, *SVC\_IMAP* - IMAP service check<br>**8**, *SVC\_TCP* - TCP port availability check<br>**9**, *SVC\_AGENT* - Zabbix agent<br>**10**, *SVC\_SNMPv1* - SNMPv1 agent<br>**11**, *SVC\_SNMPv2* - SNMPv2 agent<br>**12**, *SVC\_ICMPPING* - ICMP ping<br>**13**, *SVC\_SNMPv3* - SNMPv3 agent<br>**14**, *SVC\_HTTPS* - HTTPS service check<br>**15**, *SVC\_TELNET* - Telnet availability check| |^|**ip**|*string*|Host IP address.| |^|**dns**|*string*|Host DNS name.| |^|**port**|*number*|*(optional)* Service port number.| |^|**key\_**|*string*|*(optional)* Item key for discovery check of type **9** *SVC\_AGENT*| |^|**value**|*string*|*(optional)* Value received from the service, can be empty for most services.| |^|**status**|*number*|*(optional)* Service status:<br><br>**0**, *DOBJECT\_STATUS\_UP* - Service UP<br>**1**, *DOBJECT\_STATUS\_DOWN* - Service DOWN| |**autoregistration**|<|*array*|*(optional)* Array of autoregistration data objects.| | |**clock**|*number*|Autoregistration data timestamp.| |^|**host**|*string*|Host name.| |^|**ip**|*string*|*(optional)* Host IP address.| |^|**dns**|*string*|*(optional)* Resolved DNS name from IP address.| |^|**port**|*string*|*(optional)* Host port.| |^|**host\_metadata**|*string*|*(optional)* Host metadata sent by the agent (based on HostMetadata or HostMetadataItem agent configuration parameter).| |**tasks**|<|*array*|*(optional)* Array of tasks.| | |**type**|*number*|Task type:<br><br>**0**, *ZBX\_TM\_TASK\_PROCESS\_REMOTE\_COMMAND\_RESULT* - remote command result| |^|**status**|*number*|Remote-command execution status:<br><br>**0**, *ZBX\_TM\_REMOTE\_COMMAND\_COMPLETED* - remote command completed successfully<br>**1**, *ZBX\_TM\_REMOTE\_COMMAND\_FAILED* - remote command failed| |^|**error**|*string*|*(optional)* Error message.| |^|**parent\_taskid**|*number*|Parent task ID.| |**more**|<|*number*|*(optional)* 1 - there are more history data to send.| |**clock**|<|*number*|*(optional)* Data transfer timestamp (seconds).| |**ns**|<|*number*|*(optional)* Data transfer timestamp (nanoseconds).| |**version**|<|*string*|Proxy version (<major>.<minor>.<build>).| |server→proxy:|<|<|<| |**response**|<|*string*|Request success information ('success' or 'failed').| |**upload**|<|*string*|Upload control for historical data (history, autoregistration, host availability, network discovery):<br>**enabled** - normal operation<br>**disabled** - server is not accepting data (possibly due to internal cache over limit)| |**tasks**|<|*array*|*(optional)* Array of tasks.| | |**type**|*number*|Task type:<br><br>**1**, *ZBX\_TM\_TASK\_PROCESS\_REMOTE\_COMMAND* - remote command| |^|**clock**|*number*|Task creation time.| |^|**ttl**|*number*|Time in seconds after which the task expires.| |^|**commandtype**|*number*|Remote-command type:<br><br>**0**, *ZBX\_SCRIPT\_TYPE\_CUSTOM\_SCRIPT* - use custom script<br>**1**, *ZBX\_SCRIPT\_TYPE\_IPMI* - use IPMI<br>**2**, *ZBX\_SCRIPT\_TYPE\_SSH* - use SSH<br>**3**, *ZBX\_SCRIPT\_TYPE\_TELNET* - use Telnet<br>**4**, *ZBX\_SCRIPT\_TYPE\_GLOBAL\_SCRIPT* - use global script (currently functionally equivalent to custom script)| |^|**command**|*string*|Remote command to execute.| |^|**execute\_on**|*number*|Execution target for custom scripts:<br><br>**0**, *ZBX\_SCRIPT\_EXECUTE\_ON\_AGENT* - execute script on agent<br>**1**, *ZBX\_SCRIPT\_EXECUTE\_ON\_SERVER* - execute script on server<br>**2**, *ZBX\_SCRIPT\_EXECUTE\_ON\_PROXY* - execute script on proxy| |^|**port**|*number*|*(optional)* Port for Telnet and SSH commands.| |^|**authtype**|*number*|*(optional)* Authentication type for SSH commands.| |^|**username**|*string*|*(optional)* User name for Telnet and SSH commands.| |^|**password**|*string*|*(optional)* Password for Telnet and SSH commands.| |^|**publickey**|*string*|*(optional)* Public key for SSH commands.| |^|**privatekey**|*string*|*(optional)* Private key for SSH commands.| |^|**parent\_taskid**|*number*|Parent task ID.| |^|**hostid**|*number*|Target host ID.|  Example:  proxy→server:  ``` {.javascript} {     "request": "proxy data",     "host": "Proxy #12",      "session": "12345678901234567890123456789012",     "interface availability": [         {             "interfaceid": 1,             "available": 1,             "error": ""     },         {             "interfaceid": 2,             "available": 2,             "error": "Get value from agent failed: cannot connect to [[127.0.0.1]:10049]: [111] Connection refused"     },         {             "interfaceid": 3,             "available": 1,             "error": ""     },         {             "interfaceid": 4,             "available": 1,             "error": ""     }     ],     "history data":[         {             "itemid":"12345",             "clock":1478609647,             "ns":332510044,             "value":"52956612",             "id": 1         },         {             "itemid":"12346",             "clock":1478609647,             "ns":330690279,             "state":1,             "value":"Cannot find information for this network interface in /proc/net/dev.",             "id": 2         }     ],     "discovery data":[         {             "clock":1478608764,             "drule":2,             "dcheck":3,             "type":12,             "ip":"10.3.0.10",             "dns":"vdebian",             "status":1         },         {             "clock":1478608764,             "drule":2,             "dcheck":null,             "type":-1,             "ip":"10.3.0.10",             "dns":"vdebian",             "status":1         }     ],     "auto registration":[         {             "clock":1478608371,             "host":"Logger1",             "ip":"10.3.0.1",             "dns":"localhost",             "port":"10050"         },         {             "clock":1478608381,             "host":"Logger2",             "ip":"10.3.0.2",             "dns":"localhost",             "port":"10050"         }     ],     "tasks":[         {             "type": 2,             "clock":1478608371,             "ttl": 600,             "commandtype": 2,             "command": "restart_service1.sh",             "execute_on": 2,             "port": 80,             "authtype": 0,             "username": "userA",             "password": "password1",             "publickey": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqGKukO1De7zhZj6+H0qtjTkVxwTCpvKe",             "privatekey": "lsuusFncCzWBQ7RKNUSesmQRMSGkVb1/3j+skZ6UtW+5u09lHNsj6tQ5QCqGKukO1De7zhd",             "parent_taskid": 10,             "hostid": 10070         },         {             "type": 2,             "clock":1478608381,             "ttl": 600,             "commandtype": 1,             "command": "restart_service2.sh",             "execute_on": 0,             "authtype": 0,             "username": "",             "password": "",             "publickey": "",             "privatekey": "",             "parent_taskid": 20,             "hostid": 10084         }     ],     "tasks":[         {             "type": 0,             "status": 0,             "parent_taskid": 10         },         {             "type": 0,             "status": 1,             "error": "No permissions to execute task.",             "parent_taskid": 20         }     ],      "version":"5.4.0" } ```  server→proxy:  ``` {.javascript} {   "response": "success",   "upload": "enabled",   "tasks":[       {          "type": 1,          "clock": 1478608371,          "ttl": 600,          "commandtype": 2,          "command": "restart_service1.sh",          "execute_on": 2,          "port": 80,          "authtype": 0,          "username": "userA",          "password": "password1",          "publickey": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqGKukO1De7zhZj6+H0qtjTkVxwTCpvKe",          "privatekey": "lsuusFncCzWBQ7RKNUSesmQRMSGkVb1/3j+skZ6UtW+5u09lHNsj6tQ5QCqGKukO1De7zhd",          "parent_taskid": 10,          "hostid": 10070       },       {          "type": 1,          "clock": 1478608381,          "ttl": 600,          "commandtype": 1,          "command": "restart_service2.sh",          "execute_on": 0,          "authtype": 0,          "username": "",          "password": "",          "publickey": "",          "privatekey": "",          "parent_taskid": 20,          "hostid": 10084       }   ] } ```
fr	 ##### Demande de données proxy  La demande de `données proxy` est envoyée par proxy pour fournir des données de disponibilité, d'historique, de découverte et d'enregistrement automatique de l'interface hôte. Cette requête est envoyée toutes les `DataSenderFrequency` (paramètre de configuration du proxy) secondes. Notez que le proxy actif interrogera toujours le serveur Zabbix toutes les secondes pour les tâches de commande à distance (avec une requête `proxy data` vide).  |nom|<|type de valeur|description| |-|----------|----------|----------------------------------------| |proxy→serveur :|<|<|<| |**request**|<|*chaîne*|'proxy data'| |**host**|<|*chaîne*|Nom du proxy.| |**session**|<|*chaîne*|Jeton de session de données.| |**interface availability**|<|*tableau*|*(optionnel)* Tableau d'objets de données de disponibilité d'interface.| | |**interfaceid**|*nombre*|Identifiant d'interface.| |^|**available**|*nombre*|Disponibilité des interfaces :<br><br>**0**, *INTERFACE\_AVAILABLE\_UNKNOWN* - inconnue<br>**1**, *INTERFACE\_AVAILABLE\_TRUE* - disponible<br>**2**, *INTERFACE\_AVAILABLE\_FALSE* - indisponible| |^|**error**|*chaîne*|Message d'erreur d'interface ou chaîne vide.| |**history data**|<|*tableau*|*(optionnel)* Tableau d'objets de données d'historique.| | |**itemid**|*nombre*|Identifiant de l'élément.| |^|**clock**|*nombre*|Horodatage de la valeur de l'élément (secondes).| |^|**ns**|*nombre*|Horodatage de la valeur de l'élément (nanosecondes).| |^|**value**|*chaîne*|*(optionnel)* Valeur de l'élément.| |^|**id**|*nombre*|Identifiant de valeur (compteur croissant, unique dans une session de données).| |^|**timestamp**|*nombre*|*(optionnel)* Horodatage des éléments de type journal des événements.| |^|**source**|*chaîne*|*(optionnel)* Valeur source de l'élément du journal des événements.| |^|**severity**|*nombre*|*(optionnel)* Valeur de sévérité de l'élément du journal des événements.| |^|**eventid**|*nombre*|*(optionnel)* Valeur de l'ID d'événement de l'élément du journal des événements.| |^|**state**|*chaîne*|*(optionnel)* État de l'élément :<br>**0**, *ITEM\_STATE\_NORMAL*<br>**1**, *ITEM\_STATE\_NOTSUPPORTED*| |^|**lastlogsize**|*nombre*|*(optionnel)* Taille du dernier journal des éléments de type journal.| |^|**mtime**|*nombre*|*(optionnel)* Heure de modification des éléments de type journal.| |**discovery data**|<|*tableau*|*(optionnel)* Tableau d'objets de données de découverte.| | |**clock**|*nombre*|Horodatage des données de découverte.| |^|**druleid**|*nombre*|Identifiant de règle de découverte.| |^|**dcheckid**|*nombre*|Identifiant de vérification de découverte ou null pour les données de règle de découverte.| |^|**type**|*nombre*|Type de contrôle de découverte :<br><br>**-1** données de règle de découverte<br>**0**, *SVC\_SSH* - Vérification du service SSH<br>**1**, *SVC\_LDAP* - Vérification du service LDAP<br>**2**, *SVC\_SMTP* - Vérification du service SMTP<br>**3**, *SVC\_FTP* - Vérification du service FTP<br>**4**, *SVC\_HTTP* - Vérification du service HTTP<br>**5**, *SVC\_POP* - Vérification du service POP<br>**6**, *SVC\_NNTP* - Vérification du service NNTP<br>**7**, *SVC\_IMAP* - Vérification du service IMAP<br>**8**, *SVC\_TCP* - Vérification de la disponibilité du port TCP<br>**9**, *SVC\_AGENT* - Zabbix agent<br>**10**, *SVC\_SNMPv1* - SNMPv1 agent<br>**11**, *SVC\_SNMPv2* - SNMPv2 agent<br>**12**, *SVC\_ICMPPING* - Ping ICMP<br>**13**, *SVC\_SNMPv3* - Agent SNMPv3<br>**14**, *SVC\_HTTPS* - Vérification du service HTTPS<br>**15**, *SVC\_TELNET* - Vérification de la disponibilité Telnet| |^|**ip**|*chaîne*|Adresse IP de l'hôte.| |^|**dns**|*chaîne*|Nom DNS de l'hôte.| |^|**port**|*nombre*|*(optionnel)* Numéro de port de service.| |^|**key\_**|*chaîne*|*(optionnel)* Clé d'élément pour le contrôle de découverte de type **9** *SVC\_AGENT*| |^|**value**|*chaîne*|*(optionnel)* Valeur reçue du service, peut être vide pour la plupart des services.| |^|**status**|*nombre*|*(optionnel)* Statut du service :<br><br>**0**, *DOBJECT\_STATUS\_UP* - Service démarré<br>**1* *, *DOBJECT\_STATUS\_DOWN* - Service arrêté| |**autoregistration**|<|*tableau*|*(optionnel)* Tableau d'objets de données d'auto-enregistrement.| | |**clock**|*nombre*|Horodatage des données d'enregistrement automatique.| |^|**host**|*chaîne*|Nom d'hôte.| |^|**ip**|*chaîne*|*(optionnel)* Adresse IP de l'hôte.| |^|**dns**|*chaîne*|*(optionnel)* Nom DNS résolu à partir de l'adresse IP.| |^|**port**|*chaîne*|*(optionnel)* Port de l'hôte.| |^|**host\_metadata**|*chaîne*|*(optionnel)* Métadonnées de l'hôte envoyées par l'agent (basées sur le paramètre de configuration de l'agent HostMetadata ou HostMetadataItem).| |**tasks**|<|*tableau*|*(optionnel)* Tableau de tâches.| | |**type**|*nombre*|Type de tâche :<br><br>**0**, *ZBX\_TM\_TASK\_PROCESS\_REMOTE\_COMMAND\_RESULT* - résultat de la commande à distance| |^|**status**|*nombre*|Statut d'exécution de la commande à distance :<br><br>**0**, *ZBX\_TM\_REMOTE\_COMMAND\_COMPLETED* - commande à distance terminée avec succès<br>**1**, *ZBX\_TM\_REMOTE\_COMMAND\_FAILED* - la commande à distance a échoué| |^|**error**|*chaîne*|*(optionnel)* Message d'erreur.| |^|**parent\_taskid**|*nombre*|ID de la tâche parent.| |**more**|<|*nombre*|*(optionnel)* 1 - il y a plus de données d'historique à envoyer.| |**clock**|<|*nombre*|*(optionnel)* Horodatage du transfert de données (secondes).| |**ns**|<|*nombre*|*(optionnel)* Horodatage du transfert de données (nanosecondes).| |**version**|<|*chaîne*|Version du Proxy(\<major\>.\<minor\>.\<build\>).| |serveur→proxy :|<|<|<| |**response**|<|*chaîne*|Demander des informations sur le succès ('success' ou 'failed').| |**upload**|<|*chaîne*|Contrôle de téléchargement des données historiques (historique, enregistrement automatique, disponibilité de l'hôte, découverte du réseau) :<br>**activé** - fonctionnement normal<br>**désactivé** - le serveur n'accepte pas les données (peut-être en raison d'un dépassement de la limite du cache interne )| |**tasks**|<|*tableau*|*(optionnel)* Tableau de tâches.| | |**type**|*nombre*|Type de tâche :<br><br>**1**, *ZBX\_TM\_TASK\_PROCESS\_REMOTE\_COMMAND* - commande à distance| |^|**clock**|*nombre*|Heure de création de la tâche.| |^|**ttl**|*nombre*|Temps en secondes après lequel la tâche expire.| |^|**commandtype**|*nombre*|Type de commande à distance :<br><br>**0**, *ZBX\_SCRIPT\_TYPE\_CUSTOM\_SCRIPT* - utiliser un script personnalisé<br>**1**, *ZBX\_SCRIPT\_TYPE\_IPMI* - use IPMI<br>**2**, *ZBX\_SCRIPT\_TYPE\_SSH* - utiliser SSH<br>**3**, *ZBX\_SCRIPT\_TYPE\_TELNET* - utiliser Telnet<br>**4**, *ZBX\_SCRIPT\_TYPE\_GLOBAL\_SCRIPT* - utiliser le script global (actuellement équivalent fonctionnellement au script personnalisé) | |^|**command**|*chaîne*|Commande distante à exécuter.| |^|**execute\_on**|*nombre*|Cible d'exécution pour les scripts personnalisés :<br><br>**0**, *ZBX\_SCRIPT\_EXECUTE\_ON\_AGENT* - exécuter le script sur l'agent<br>**1**, *ZBX\_SCRIPT\_EXECUTE\_ON\_SERVER* - exécuter le script sur le serveur<br>**2**, *ZBX\_SCRIPT\_EXECUTE\_ON\_PROXY* - exécuter le script sur le proxy| |^|**port**|*nombre*|*(optionnel)* Port for Telnet and SSH commands.| |^|**authtype**|*nombre*|*(optionnel)* Type d'authentification pour les commandes SSH.| |^|**username**|*chaîne*|*(optionnel)* Nom d'utilisateur pour les commandes Telnet et SSH.| |^|**password**|*chaîne*|*(optionnel)* Mot de passe pour les commandes Telnet et SSH.| |^|**publickey**|*chaîne*|*(optionnel)* Clé publique pour les commandes SSH.| |^|**privatekey**|*chaîne*|*(optionnel)* Clé privée pour les commandes SSH.| |^|**parent\_taskid**|*nombre*|ID de la tâche parent.| |^|**hostid**|*nombre*|ID de l'hôte cible.|  Exemple :  proxy→serveur :  ``` {.javascript} {     "request": "proxy data",     "host": "Proxy #12",      "session": "12345678901234567890123456789012",     "interface availability": [         {             "interfaceid": 1,             "available": 1,             "error": ""     },         {             "interfaceid": 2,             "available": 2,             "error": "Get value from agent failed: cannot connect to [[127.0.0.1]:10049]: [111] Connection refused"     },         {             "interfaceid": 3,             "available": 1,             "error": ""     },         {             "interfaceid": 4,             "available": 1,             "error": ""     }     ],     "history data":[         {             "itemid":"12345",             "clock":1478609647,             "ns":332510044,             "value":"52956612",             "id": 1         },         {             "itemid":"12346",             "clock":1478609647,             "ns":330690279,             "state":1,             "value":"Cannot find information for this network interface in /proc/net/dev.",             "id": 2         }     ],     "discovery data":[         {             "clock":1478608764,             "drule":2,             "dcheck":3,             "type":12,             "ip":"10.3.0.10",             "dns":"vdebian",             "status":1         },         {             "clock":1478608764,             "drule":2,             "dcheck":null,             "type":-1,             "ip":"10.3.0.10",             "dns":"vdebian",             "status":1         }     ],     "auto registration":[         {             "clock":1478608371,             "host":"Logger1",             "ip":"10.3.0.1",             "dns":"localhost",             "port":"10050"         },         {             "clock":1478608381,             "host":"Logger2",             "ip":"10.3.0.2",             "dns":"localhost",             "port":"10050"         }     ],     "tasks":[         {             "type": 2,             "clock":1478608371,             "ttl": 600,             "commandtype": 2,             "command": "restart_service1.sh",             "execute_on": 2,             "port": 80,             "authtype": 0,             "username": "userA",             "password": "password1",             "publickey": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqGKukO1De7zhZj6+H0qtjTkVxwTCpvKe",             "privatekey": "lsuusFncCzWBQ7RKNUSesmQRMSGkVb1/3j+skZ6UtW+5u09lHNsj6tQ5QCqGKukO1De7zhd",             "parent_taskid": 10,             "hostid": 10070         },         {             "type": 2,             "clock":1478608381,             "ttl": 600,             "commandtype": 1,             "command": "restart_service2.sh",             "execute_on": 0,             "authtype": 0,             "username": "",             "password": "",             "publickey": "",             "privatekey": "",             "parent_taskid": 20,             "hostid": 10084         }     ],     "tasks":[         {             "type": 0,             "status": 0,             "parent_taskid": 10         },         {             "type": 0,             "status": 1,             "error": "No permissions to execute task.",             "parent_taskid": 20         }     ],      "version":"5.4.0" } ```  serveur→proxy :  ``` {.javascript} {   "response": "success",   "upload": "enabled",   "tasks":[       {          "type": 1,          "clock": 1478608371,          "ttl": 600,          "commandtype": 2,          "command": "restart_service1.sh",          "execute_on": 2,          "port": 80,          "authtype": 0,          "username": "userA",          "password": "password1",          "publickey": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqGKukO1De7zhZj6+H0qtjTkVxwTCpvKe",          "privatekey": "lsuusFncCzWBQ7RKNUSesmQRMSGkVb1/3j+skZ6UtW+5u09lHNsj6tQ5QCqGKukO1De7zhd",          "parent_taskid": 10,          "hostid": 10070       },       {          "type": 1,          "clock": 1478608381,          "ttl": 600,          "commandtype": 1,          "command": "restart_service2.sh",          "execute_on": 0,          "authtype": 0,          "username": "",          "password": "",          "publickey": "",          "privatekey": "",          "parent_taskid": 20,          "hostid": 10084       }   ] } ```

en-us	# proxy.delete  
fr	# proxy.delete  

en-us	##### Proxy features  When making a choice of using/not using a proxy, several considerations must be taken into account.  | |Proxy| |--------|--| |*Lightweight*|**Yes**| |*GUI*|No| |*Works independently*|**Yes**| |*Easy maintenance*|**Yes**| |*Automatic DB creation*|**Yes**^1^| |*Local administration*|No| |*Ready for embedded hardware*|**Yes**| |*One way TCP connections*|**Yes**| |*Centralized configuration*|**Yes**| |*Generates notifications*|No|  ^1^ Automatic DB creation feature works only with SQLite. Other databases require [manual setup](/manual/appendix/install/db_scripts).
fr	##### Fonctions du proxy  Lorsque vous choisissez d'utiliser ou de ne pas utiliser un proxy, plusieurs considérations doivent être prises en compte.  | |Proxy| |--------|--| |*Légèreté*|**Oui**| |*GUI*|Non| |*Fonctionnement indépendant*|**Oui**| |*Facilité de maintenance*|**Oui**| |*Création automatique de la BDD*|**Oui**^1^| |*Administration locale*|Non| |*Prêt pour le matériel embarqué*|**Oui**| |*Connexions TCP à sens unique*|**Oui**| |*Configuration centralisée*|**Oui**| |*Génération de notifications*|Non|  ^1^ La fonctionnalité de création automatique de base de données ne fonctionne qu'avec SQLite. Les autres bases de données nécessitent une [configuration manuelle](/fr/manual/appendix/install/db_scripts).

en-us	# proxy.get
fr	# proxy.get

en-us	##### Proxy heartbeat request  The `proxy heartbeat` request is sent by proxy to report that proxy is running. This request is sent every `HeartbeatFrequency` (proxy configuration parameter) seconds.  |name|value type|description| |----------|----------|----------------------------------------| |proxy→server:|<|<| |**request**|*string*|'proxy heartbeat'| |**host**|*string*|Proxy name.| |**version**|*string*|Proxy version (<major>.<minor>.<build>).| |server→proxy:|<|<| |**response**|*string*|Request success information ('success' or 'failed').|  proxy→server:  ``` {.javascript} {    "request": "proxy heartbeat",    "host": "Proxy #12",    "version": "5.4.0" } ```  server→proxy:  ``` {.javascript} {   "response": "success" } ```
fr	##### Demande de heartbeat proxy  La requête `proxy heartbeat` est envoyée par proxy pour signaler que le proxy est en cours d'exécution. Cette requête est envoyée toutes les `HeartbeatFrequency` (paramètre de configuration du proxy) secondes.  |nom|type de valeur|description| |----------|----------|----------------------------------------| |proxy→serveur:|<|<| |**request**|*string*|'proxy heartbeat'| |**host**|*string*|Nom du proxy.| |**version**|*string*|Version du proxy (<major>.<minor>.<build>).| |serveur→proxy:|<|<| |**response**|*string*|Information sur le succès de la requête ('success' ou 'failed').|  proxy→serveur:  ``` {.javascript} {    "request": "proxy heartbeat",    "host": "Proxy #12",    "version": "5.4.0" } ```  serveur→proxy:  ``` {.javascript} {   "response": "success" } ```

en-us	### Proxy installation  Once the required repository is added, you can install Zabbix proxy by running:      # dnf install zabbix-proxy-mysql zabbix-sql-scripts  Substitute 'mysql' in the commands with 'pgsql' to use PostgreSQL, or with 'sqlite3' to use SQLite3 (proxy only).  The package 'zabbix-sql-scripts' contains database schemas for all supported database management systems for both Zabbix server and Zabbix proxy and will be used for data import.
fr	### Installation du proxy  Une fois le référentiel requis ajouté, vous pouvez installer le proxy Zabbix en exécutant :      # dnf install zabbix-proxy-mysql zabbix-sql-scripts  Remplacez 'mysql' dans la commande par 'pgsql' pour utiliser PostgreSQL, ou par 'sqlite3' pour utiliser SQLite3.  Le package 'zabbix-sql-scripts' contient des schémas de base de données pour tous les systèmes de gestion de base de données pris en charge par le serveur Zabbix et le proxy Zabbix et sera utilisé pour l'importation de données.

en-us	### Proxy interface  The proxy interface object defines the interface used to connect to a passive proxy. It has the following properties.  |Property|[Type](/manual/api/reference_commentary#data_types)|Description| |--|--|------| |**dns**<br>(required)|string|DNS name to connect to.<br><br>Can be empty if connections are made via IP address.| |**ip**<br>(required)|string|IP address to connect to.<br><br>Can be empty if connections are made via DNS names.| |**port**<br>(required)|string|Port number to connect to.| |**useip**<br>(required)|integer|Whether the connection should be made via IP address.<br><br>Possible values are:<br>0 - connect using DNS name;<br>1 - connect using IP address.|
fr	### Interface de proxy  L'objet interface proxy définit l'interface utilisée pour se connecter à un proxy passif. Il a les propriétés suivantes.  |Propriété|[Type](/manual/api/reference_commentary#data_types)|Description| |--|--|------| |**dns**<br>(obligatoire)|string|Nom DNS auquel se connecter.<br><br>Peut être vide si les connexions sont établies via une adresse IP.| |**ip**<br>(obligatoire)|string|Adresse IP à laquelle se connecter.<br><br>Peut être vide si les connexions sont établies via des noms DNS.| |**port**<br>(obligatoire)|string|Numéro de port auquel se connecter.| |**useip**<br>(obligatoire)|integer|Si la connexion doit être établie via l'adresse IP.<br><br>Les valeurs possibles sont :<br>0 - se connecter en utilisant le nom DNS ;<br>1 - se connecter en utilisant l'adresse IP.|

en-us	# > Proxy object  The following objects are directly related to the `proxy` API.
fr	# > Objet Proxy  Les objets suivants sont directement liés à l'API `proxy`.

en-us	#### Proxy process types  -   `availability manager` - process for host availability updates -   `configuration syncer` - process for managing in-memory cache of     configuration data -   `data sender` - proxy data sender -   `discoverer` - process for discovery of devices -   `heartbeat sender` - proxy heartbeat sender -   `history poller` - process for handling calculated, aggregated and     internal checks requiring a database connection -   `history syncer` - history DB writer -   `housekeeper` - process for removal of old historical data -   `http poller` - web monitoring poller -   `icmp pinger` - poller for icmpping checks -   `ipmi manager` - IPMI poller manager -   `ipmi poller` - poller for IPMI checks -   `java poller` - poller for Java checks -   `odbc poller` - poller for ODBC checks -   `poller` - normal poller for passive checks -   `preprocessing manager` - manager of preprocessing tasks -   `preprocessing worker` - process for data preprocessing -   `self-monitoring` - process for collecting internal server     statistics -   `snmp trapper` - trapper for SNMP traps -   `task manager` - process for remote execution of tasks requested by     other components (e.g. close problem, acknowledge problem, check     item value now, remote command functionality) -   `trapper` - trapper for active checks, traps, proxy communication -   `unreachable poller` - poller for unreachable devices -   `vmware collector` - VMware data collector responsible for data     gathering from VMware services  The proxy log file can be used to observe these process types.  Various types of Zabbix proxy processes can be monitored using the **zabbix\[process,<type>,<mode>,<state>\]** internal [item](/manual/config/items/itemtypes/internal).
fr	#### Types de processus du Proxy  -   `​availability manager`​ - processus de mise à jour de la disponibilité de l'hôte -   `​configuration syncer`​ - processus pour gérer le cache mémoire des données de configuration -   `​data sender`​ - permet au proxy d'envoyer les données -   `​discoverer`​ - processus pour la découvertes des équipements -   `​heartbeat sender`​ - permet au proxy d'envoyer les tests de vie ​ -   `​history syncer`​ - écriture en base de données de l'historique -   `​history poller`​ - processus de traitement des contrôles calculés, agrégés et internes nécessitant une connexion à une base de données -   `​housekeeper`​ - processus pour supprimer les anciennes données d'historique -   `​http poller`​ - poller pour la supervision web -   `​icmp pinger`​ - poller pour les vérifications icmpping -   `​ipmi manager`​ - gestionnaire de poller IPMI -   `​ipmi poller`​ - poller pour les vérifications IPMI -   `​java poller`​ - poller pour les vérifications Java -   `odbc poller` - poller pour les vérifications ODBC -   `​poller`​ - poller normal pour les vérifications passives -   `​preprocessing manager`​ - responsable des tâches de prétraitement -   `​preprocessing worker`​ - processus de prétraitement des données -   `​self-monitoring`​ - processus collectant les statistiques internes du servuer -   `​snmp trapper`​ - trapper pour les traps SNMP -   `​task manager`​ - processus pour l'exécution à distance de tâches demandées par d'autres composants (ex : fermeture d'un problème, acquittement d'un problème, vérifier maintenant un élément, fonctionnalité de commande à distance) -   `​trapper`​ - trapper pour les vérifications actives, traps, communication avec le proxy -   `​unreachable poller`​ - poller pour équipements injoignables -   `​vmware collector`​ - Collecteur de données VMware responsable de récupérer les données des services VMware  Le fichier journal du proxy peut être utilisé pour observer ces types de processus.  Plusieurs types de processus proxy Zabbix peuvent être supervisés en utilisant l'[élément interne](/manual/config/items/itemtypes/internal) **zabbix\[process,<​type>,<​mode>,<​state>​\]**.