====== Broker EMQX ====== ---- ===== Installation ===== ==== Installation en ligne Redhat ==== curl -s https://assets.emqx.com/scripts/install-emqx-rpm.sh | sudo bash sudo dnf install emqx -y sudo systemctl start emqx [[https://www.emqx.io/docs/en/latest/deploy/install-rhel.html|Source]] ==== Installation Redhat en mode déconnecté ==== === sur machine avec accès internet === curl -s https://assets.emqx.com/scripts/install-emqx-rpm.sh | sudo bash sudo dnf --downloadonly --downloaddir=/home/ec2-user/pkg install emqx === sur machine en mode déconnecté === sudo dnf install emqx-5.7.0-1.el9.x86_64.rpm -y ==== Configuration ==== === Cluster === Modifier le fichier /etc/emqx/emqx.conf pour mettre à jour certains paramètres : node { name = "emqx@" cookie = "emqxsecretcookie" data_dir = "/var/lib/emqx" } * 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'adressage. === clustering manuel === * Vérifier que le paramètre **discovery_strategy** est à « manual » * Sur le node 1 chercher à joindre le node 2 : sudo /usr/lib/emqx/bin/emqx ctl cluster join emqx@node2 === Commandes === * Vérifier l'état du cluster sudo /usr/lib/emqx/bin/emqx ctl cluster status * Retrait d'un noeud sudo /usr/lib/emqx/bin/emqx ctl cluster leave emqx@node2 * Retrait forcé d'un nœud sudo /usr/lib/emqx/bin/emqx ctl cluster force-leave emqx@node2 ---- ===== Dashboard ===== ==== Par défaut ==== Port 18083 admin/public [[https://www.emqx.io/docs/en/latest/deploy/cluster/create-cluster.html|Source]] ==== https ==== dashboard { listeners.http { bind = 18083 } listeners.https { bind = 18084 } } ---- ===== Traces ===== ==== logs ==== Les fichiers de log se trouvent dans le répertoire /var/log/emqx ==== 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 /etc/emqx/emqx.conf : log { file { level = debug } console { level = debug } } === via interface d'administration === * Allez dans « Management / Logging » * Modifiez le niveau de log === via API REST === * Pour changer le niveau de log global : curl -X PUT "http://localhost:8081/api/v4/log/level" -H "Content-Type: application/json" -d '{"level": "debug"}' -u admin:public * Pour un handler spécifique curl -X PUT "http://localhost:8081/api/v4/log/handlers/console" -H "Content-Type: application/json" -d '{"level": "debug"}' -u admin:public ---- ===== 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,{'emqx@node1',{already_exists,'emqx@node1'}}} === 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 sudo rm -rf /var/lib/emqx/mnesia/* sudo systemctl restart emqx sudo emqx_ctl cluster join emqx@node1 ---- [[all:bibles:linux:serveur:emqx|Haut de page]]