all:bibles:linux:serveur:emqx
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| all:bibles:linux:serveur:emqx [2025/06/05 13:21] – [Dépannage] omeylhoc | all: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:// | ||
| + | sudo dnf install emqx -y | ||
| + | sudo systemctl start emqx | ||
| + | </ | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | ==== Installation Redhat en mode déconnecté ==== | ||
| + | |||
| + | === sur machine avec accès internet === | ||
| + | |||
| + | <code bash> | ||
| + | curl -s https:// | ||
| + | sudo dnf --downloadonly --downloaddir=/ | ||
| + | </ | ||
| + | |||
| + | === sur machine en mode déconnecté === | ||
| + | |||
| + | <code bash> | ||
| + | sudo dnf install emqx-5.7.0-1.el9.x86_64.rpm -y | ||
| + | </ | ||
| + | |||
| + | ==== Configuration ==== | ||
| + | |||
| + | === Cluster === | ||
| + | |||
| + | Modifier le fichier <color # | ||
| + | < | ||
| + | node { | ||
| + | name = " | ||
| + | cookie = " | ||
| + | data_dir = "/ | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | |||
| + | * name : renseigner le nom du noeud à emqx@< | ||
| + | * cookie : renseigner la même valeur sur les différents nœuds devant joindre le cluster. Sert juste à éviter une erreur d' | ||
| + | |||
| + | === clustering manuel === | ||
| + | |||
| + | * Vérifier que le paramètre **discovery_strategy** est à « manual » | ||
| + | * Sur le node 1 chercher à joindre le node 2 : | ||
| + | |||
| + | <code bash> | ||
| + | sudo / | ||
| + | </ | ||
| + | |||
| + | === Commandes === | ||
| + | |||
| + | * Vérifier l' | ||
| + | |||
| + | <code bash> | ||
| + | sudo / | ||
| + | </ | ||
| + | |||
| + | * Retrait d'un noeud | ||
| + | |||
| + | <code bash> | ||
| + | sudo / | ||
| + | </ | ||
| + | |||
| + | * Retrait forcé d'un nœud | ||
| + | |||
| + | <code bash> | ||
| + | sudo / | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Dashboard ===== | ||
| + | |||
| + | ==== Par défaut ==== | ||
| + | |||
| + | Port 18083 | ||
| + | |||
| + | admin/ | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | ==== https ==== | ||
| + | |||
| + | < | ||
| + | dashboard { | ||
| + | listeners.http { | ||
| + | bind = 18083 | ||
| + | } | ||
| + | listeners.https { | ||
| + | bind = 18084 | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Traces ===== | ||
| + | |||
| + | ==== logs ==== | ||
| + | |||
| + | Les fichiers de log se trouvent dans le répertoire <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 # | ||
| + | |||
| + | < | ||
| + | log { | ||
| + | file { | ||
| + | level = debug | ||
| + | } | ||
| + | | ||
| + | level = debug | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | === via interface d' | ||
| + | |||
| + | * Allez dans « Management / Logging » | ||
| + | * Modifiez le niveau de log | ||
| + | |||
| + | === via API REST === | ||
| + | |||
| + | * Pour changer le niveau de log global : | ||
| + | |||
| + | <code bash> | ||
| + | curl -X PUT " | ||
| + | </ | ||
| + | |||
| + | * Pour un handler spécifique | ||
| + | |||
| + | <code bash> | ||
| + | curl -X PUT " | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Dépannage ===== | ||
| + | |||
| + | ==== emqx ne démarre pas ==== | ||
| + | |||
| + | === Problème === | ||
| + | |||
| + | Après avoir mis les traces en mode debug on observe l'info suivante : | ||
| + | |||
| + | < | ||
| + | Creating new mnesia schema, result: {error, | ||
| + | </ | ||
| + | |||
| + | === 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 / | ||
| + | sudo systemctl restart emqx | ||
| + | sudo emqx_ctl cluster join emqx@node1 | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | [[all: | ||
