====== 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]]