Outils pour utilisateurs

Outils du site


all:bibles:linux:serveur:emqx

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
all:bibles:linux:serveur:emqx [2025/06/06 11:25] – [emqx ne démarre pas] omeylhocall:bibles:linux:serveur:emqx [2025/06/06 11:26] (Version actuelle) – [emqx ne démarre pas] omeylhoc
Ligne 1: Ligne 1:
 +====== Broker EMQX ======
  
 +----
 +
 +===== Installation =====
 +
 +==== Installation en ligne Redhat ====
 +
 +<code bash>
 +curl -s https://assets.emqx.com/scripts/install-emqx-rpm.sh | sudo bash
 +sudo dnf install emqx -y
 +sudo systemctl start emqx
 +</code>
 +
 +[[https://www.emqx.io/docs/en/latest/deploy/install-rhel.html|Source]]
 +
 +==== Installation Redhat en mode déconnecté ====
 +
 +=== sur machine avec accès internet ===
 +
 +<code bash>
 +curl -s https://assets.emqx.com/scripts/install-emqx-rpm.sh | sudo bash
 +sudo dnf --downloadonly --downloaddir=/home/ec2-user/pkg install emqx
 +</code>
 +
 +=== sur machine en mode déconnecté ===
 +
 +<code bash>
 +sudo dnf install emqx-5.7.0-1.el9.x86_64.rpm -y
 +</code>
 +
 +==== Configuration ====
 +
 +=== Cluster ===
 +
 +Modifier le fichier <color #00a2e8>/etc/emqx/emqx.conf</color> pour mettre à jour certains paramètres :
 +<code>
 +node {
 +  name = "emqx@<FQDN du serveur>"
 +  cookie = "emqxsecretcookie"
 +  data_dir = "/var/lib/emqx"
 +}
 +</code>
 +
 +
 +  * name : renseigner le nom du noeud à emqx@<FQDN du serveur local>
 +  * cookie : renseigner la même valeur sur les différents nœuds devant joindre le cluster. Sert juste à éviter une erreur d'adressage.
 +
 +=== clustering manuel ===
 +
 +  * Vérifier que le paramètre **discovery_strategy** est à « manual »
 +  * Sur le node 1 chercher à joindre le node 2 :
 +
 +<code bash>
 +sudo /usr/lib/emqx/bin/emqx ctl cluster join emqx@node2
 +</code>
 +
 +=== Commandes ===
 +
 +  * Vérifier l'état du cluster
 +
 +<code bash>
 +sudo /usr/lib/emqx/bin/emqx ctl cluster status
 +</code>
 +
 +  * Retrait d'un noeud
 +
 +<code bash>
 +sudo /usr/lib/emqx/bin/emqx ctl cluster leave emqx@node2
 +</code>
 +
 +  * Retrait forcé d'un nœud
 +
 +<code bash>
 +sudo /usr/lib/emqx/bin/emqx ctl cluster force-leave emqx@node2
 +</code>
 +
 +----
 +
 +===== Dashboard =====
 +
 +==== Par défaut ====
 +
 +Port 18083
 +
 +admin/public
 +
 +[[https://www.emqx.io/docs/en/latest/deploy/cluster/create-cluster.html|Source]]
 +
 +==== https ====
 +
 +<code>
 +dashboard {
 +    listeners.http {
 +        bind = 18083
 +    }
 +    listeners.https {
 +        bind = 18084
 +    }
 +}
 +</code>
 +
 +----
 +
 +===== Traces =====
 +
 +==== logs ====
 +
 +Les fichiers de log se trouvent dans le répertoire <color #00a2e8>/var/log/emqx</color>
 +
 +==== Niveau de logs ====
 +
 +  * **debug** : Informations détaillées pour le débogage
 +  * **info** : Informations générales sur le fonctionnement
 +  * **notice** : Événements normaux mais significatifs
 +  * **warning** : Avertissements (fonctionnement normal mais attention requise)
 +  * **error** : Erreurs de fonctionnement
 +  * **critical** : Erreurs critiques
 +  * **alert** : Actions immédiates requises
 +  * **emergency** : Système inutilisable
 +
 +==== Modification verbosité ====
 +
 +=== via fichier de configuration ===
 +
 +Modifier le fichier <color #00a2e8>/etc/emqx/emqx.conf</color> :
 +
 +<code>
 +log {
 +     file {
 +         level = debug
 +     }
 +     console {
 +         level = debug
 +     }
 +}
 +</code>
 +
 +=== via interface d'administration ===
 +
 +  * Allez dans « Management / Logging »
 +  * Modifiez le niveau de log
 +
 +=== via API REST ===
 +
 +  * Pour changer le niveau de log global :
 +
 +<code bash>
 +curl -X PUT "http://localhost:8081/api/v4/log/level" -H "Content-Type: application/json" -d '{"level": "debug"}' -u admin:public
 +</code>
 +
 +  * Pour un handler spécifique
 +
 +<code bash>
 +curl -X PUT "http://localhost:8081/api/v4/log/handlers/console" -H "Content-Type: application/json" -d '{"level": "debug"}' -u admin:public
 +</code>
 +
 +----
 +
 +===== Dépannage =====
 +
 +==== emqx ne démarre pas ====
 +
 +=== Problème ===
 +
 +Après avoir mis les traces en mode debug on observe l'info suivante :
 +
 +<code>
 +Creating new mnesia schema, result: {error,{'emqx@node1',{already_exists,'emqx@node1'}}}
 +</code>
 +
 +=== Explication ===
 +
 +EMQX essaye de créer un nouveau schéma Mnesia qui existe déjà pour le nœud emqx@node1
 +
 +=== Solution ===
 +
 +Supprimer le schéma, redémarrer EMQX et joindre à nouveau le nœud en question
 +
 +<code bash>
 +sudo rm -rf /var/lib/emqx/mnesia/*
 +sudo systemctl restart emqx
 +sudo emqx_ctl cluster join emqx@node1
 +</code>
 +
 +----
 +[[all:bibles:linux:serveur:emqx|Haut de page]]