[comment]: # ({869698af-5380e993})
# 3 Installation à partir des sources

[comment]: # ({/869698af-5380e993})

[comment]: # ({c93259be-8d0f220e})
#### Vue d'ensemble

Si vous avez [installé](/manual/installation/install#installing-java-gateway)
à partir des sources, les informations suivantes vous aideront à configurer
le [Java gateway](/manual/concepts/java) de Zabbix.

[comment]: # ({/c93259be-8d0f220e})

[comment]: # ({931dace7-305c7876})
#### Aperçu des fichiers

Si vous avez obtenu Java gateway à partir des sources, vous devriez avoir obtenu un ensemble de scripts shell, de fichiers JAR et de fichiers de configuration sous `$PREFIX/sbin/zabbix_java`.
Le rôle de ces fichiers est résumé ci-dessous.

    bin/zabbix-java-gateway-$VERSION.jar

Le fichier JAR de Java gateway lui-même.

    lib/logback-core-1.5.16.jar
    lib/logback-classic-1.5.16.jar
    lib/slf4j-api-2.0.16.jar
    lib/android-json-4.3_r3.1.jar

Dépendances de Java gateway : bibliothèque [Logback](http://logback.qos.ch/), [SLF4J](http://www.slf4j.org/) et [Android JSON](https://android.googlesource.com/platform/libcore/+/master/json).

    lib/logback.xml  
    lib/logback-console.xml

Fichiers de configuration pour Logback.

    shutdown.sh  
    startup.sh

Scripts pratiques pour démarrer et arrêter Java gateway.

    settings.sh

Fichier de configuration utilisé par les scripts startup et shutdown ci-dessus.

[comment]: # ({/931dace7-305c7876})

[comment]: # ({c5692cf9-571dbbe2})
#### Configuration et exécution de Java gateway

Par défaut, Java gateway écoute sur le port 10052. Si vous prévoyez d'exécuter Java gateway sur un port différent, vous pouvez le spécifier dans le script `settings.sh`.
Consultez la description du [fichier de configuration de Java gateway](/manual/appendix/config/zabbix_java) pour savoir comment définir ce paramètre et d'autres options.

::: notewarning
Le port 10052 n'est pas [enregistré auprès de l'IANA](http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.txt).
:::

Une fois les paramètres configurés, vous pouvez démarrer Java gateway en exécutant le script `startup.sh` :

    ./startup.sh

De même, lorsque vous n'avez plus besoin de Java gateway, exécutez le script `shutdown.sh` pour l'arrêter :

    ./shutdown.sh

Notez que, contrairement au serveur ou au proxy, Java gateway est léger et n'a pas besoin de base de données.

[comment]: # ({/c5692cf9-571dbbe2})

[comment]: # ({d85c9798-81ca4902})
#### Configuration du serveur pour une utilisation avec Java gateway

Une fois Java gateway démarré et opérationnel, vous devez indiquer au serveur Zabbix où trouver Zabbix Java gateway.
Pour cela, spécifiez les paramètres `JavaGateway` et `JavaGatewayPort` dans le [fichier de configuration du serveur](/manual/appendix/config/zabbix_server).
Si l'hôte sur lequel l'application JMX s'exécute est surveillé par un proxy Zabbix, vous devez alors spécifier les paramètres de connexion dans le [fichier de configuration du proxy](/manual/appendix/config/zabbix_proxy) à la place.

    JavaGateway=192.168.3.14
    JavaGatewayPort=10052

Par défaut, le serveur ne démarre aucun processus lié à la surveillance JMX.
Si vous souhaitez l'utiliser, vous devez toutefois spécifier le nombre d'instances pré-forkées de collecteurs Java.
Vous procédez de la même manière que pour spécifier les collecteurs et les trappeurs classiques.

    StartJavaPollers=5

N'oubliez pas de redémarrer le serveur ou le proxy une fois la configuration terminée.

[comment]: # ({/d85c9798-81ca4902})

[comment]: # ({3cde3628-d86274ab})
#### Débogage de Java gateway

En cas de problème avec Java gateway ou si le message d'erreur que vous voyez concernant un élément dans l'interface n'est pas suffisamment explicite, il peut être utile de consulter le fichier journal de Java gateway.

Par défaut, Java gateway enregistre ses activités dans le fichier `/tmp/zabbix_java.log` avec le niveau de journalisation "info".
Parfois, ces informations ne suffisent pas et il est nécessaire d'obtenir des informations au niveau de journalisation "debug".
Pour augmenter le niveau de journalisation, modifiez le fichier `lib/logback.xml` et changez l'attribut `level` de la balise `<root>` en `debug` :

    <root level="debug">
      <appender-ref ref="FILE" />
    </root>

Notez que, contrairement au serveur Zabbix ou au proxy Zabbix, il n'est pas nécessaire de redémarrer Zabbix Java gateway après avoir modifié le fichier `logback.xml` - les modifications apportées à `logback.xml` seront prises en compte automatiquement.
Une fois le débogage terminé, vous pouvez remettre le niveau de journalisation à "info".

Si vous souhaitez journaliser dans un autre fichier ou dans un support complètement différent, comme une base de données, adaptez le fichier `logback.xml` à vos besoins.
Consultez le [manuel Logback](http://logback.qos.ch/manual/) pour plus de détails.

Parfois, à des fins de débogage, il est utile de démarrer Java gateway comme application console plutôt que comme démon.
Pour ce faire, commentez la variable `PID_FILE` dans `settings.sh`.
Si `PID_FILE` est omise, le script `startup.sh` démarre Java gateway comme application console et demande à Logback d'utiliser le fichier `lib/logback-console.xml` à la place, ce qui permet non seulement de journaliser dans la console, mais active également le niveau de journalisation "debug".

Enfin, notez que, puisque Java gateway utilise SLF4J pour la journalisation, vous pouvez remplacer Logback par le framework de votre choix en plaçant un fichier JAR approprié dans le répertoire lib.
Consultez le [manuel SLF4J](http://www.slf4j.org/manual.html) pour plus de détails.

[comment]: # ({/3cde3628-d86274ab})

[comment]: # ({27e67930-4332cfb8})
#### Surveillance JMX

Consultez la page [Surveillance JMX](/manual/config/items/itemtypes/jmx_monitoring) pour plus de détails.

[comment]: # ({/27e67930-4332cfb8})
