Table des matières

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

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@<FQDN du serveur>"
  cookie = "emqxsecretcookie"
  data_dir = "/var/lib/emqx"
}

clustering manuel

sudo /usr/lib/emqx/bin/emqx ctl cluster join emqx@node2

Commandes

sudo /usr/lib/emqx/bin/emqx ctl cluster status
sudo /usr/lib/emqx/bin/emqx ctl cluster leave emqx@node2
sudo /usr/lib/emqx/bin/emqx ctl cluster force-leave emqx@node2

Dashboard

Par défaut

Port 18083

admin/public

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

Modification verbosité

via fichier de configuration

Modifier le fichier /etc/emqx/emqx.conf :

log {
     file {
         level = debug
     }
     console {
         level = debug
     }
}

via interface d'administration

via API REST

curl -X PUT "http://localhost:8081/api/v4/log/level" -H "Content-Type: application/json" -d '{"level": "debug"}' -u admin:public
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

Haut de page