Tópicos de Sistema de um Conector
Para cada Conector MQTT cadastrado no Portal e para seus Dados(tópicos), o BROKER MQTT do Portal realiza publicações em tópicos específicos de sistema com algumas informações úteis sobre os recursos.
Atualmente, os seguintes tópicos de sistema são disponibilizados:
Estado de um conector(connector_state)
No tópico connector_state de um conector, o BROKER MQTT do Portal publica as alterações de alguns estados associados ao conector, tais como:
Estado de conexão/desconexão;
Estado de alarmes ativos(ou não);
Estado de habilitação no sistema.
Um exemplo do conteúdo de um tópico de connector_state pode ser observado abaixo:
{"connected": true, "has_active_alarms": false, "enabled": true}
Onde:
connected: Indica se o Conector está online no Portal de Telemetria ou desconectado;
has_active_alarms: Indica se o Conector possui algum alarme ativo ou não;
enabled: Indica se o Conector está habilitado no sistema ou não.
Estado de alarme de um tópico(alarm_state)
No tópico alarm_state associado a um Dado de um Conector, o BROKER MQTT do Portal publica as alterações do estado de qualquer alarme associado ao Dado(tópico).
Um exemplo do conteúdo de um tópico de alarm_state pode ser observado abaixo:
{"id": 7346, "is_active": true, "alarm_state_id": 2, "data_value": 230, "last_transition_at": 1634213375648}
Onde:
id: Identificação única do Alarme no Portal de Telemetria;
is_active: Indica se o Alarme está ativo(alarmado);
alarm_state_id: Indica o estado do Alarme;
data_value: Informa o valor do Dado que gerou a condição de alarme;
last_transition_at: Data/hora da última transição do Alarme em UTC(normal para alarmado ou alarmado para normal).
Eventos de um Conector(connector_events)
No tópico connector_events de um Conector, o BROKER MQTT do Portal publica alguns eventos identificados para o Conector para as seguintes categorias:
Autenticação
Nessa categoria de eventos, o BROKER MQTT do Portal realiza publicações informando eventuais falhas ou sucesso na autenticação de clientes MQTT.
Os eventos possíveis são listados a seguir:
Mensagem do Evento |
Significado |
Sugestões |
|---|---|---|
Authentication failure: User/access key not informed |
O BROKER do Portal negou a conexão pois não foi informada a chave de acesso(user) na conexão |
Verificar se a chave de acesso está sendo definida como o usuário da conexão |
Authentication failure: User/access key (chave_de_acesso) not registered |
O BROKER do Portal negou a conexão pois a chave de acesso informada na conexão não está registrada(cadastrada) no portal |
Verificar se a chave de acesso foi informada de maneira correta na conexão e se a mesma está cadastrada de fato no Portal |
Authentication failure: User/access key (chave_de_acesso) disabled |
O BROKER do Portal negou a conexão pois a chave de acesso informada na conexão não está habilitada no portal |
Verificar se a chave de acesso está desabilitada em seu cadastro no Portal |
Authentication failure: Client without associated connector |
O BROKER do Portal negou a conexão pois o ID de cliente informado na conexão não possui acesso ao conector |
Verificar se o ID de cliente informado na conexão está associado à algum Conector do Portal(Identificador de Tópico e ID de Cliente MQTT do Conector) |
Authentication failure: User/access key (chave_de_acesso) without connector access |
O BROKER do Portal negou a conexão pois a chave de acesso informada na conexão não possui acesso ao conector |
Verificar no cadastro da chave de acesso no Portal, se a mesma possui acesso ao Conector informado na conexão(através do ID de cliente) |
Authentication failure: Client (id_do_cliente) can only connect to: 202Y-MM-AAAA HH:MM:SSZ |
O BROKER do Portal negou a conexão pois o cliente MQTT só poderá se conectar ao broker a partir da data/hora informada |
Verificar a frequência de publicações do cliente MQTT. Possivelmente deve estar ultrapassando os limites de mensagens |
Authentication failure. Connector (identificador_mqtt_conector) without registration in the Portal |
O BROKER do Portal negou a conexão pois o ID de cliente informado na conexão não está associado a nenhum conector do Portal |
Verificar o ID de cliente informado na conexão está correto(o mesmo deve estar associado à algum Conector cadastrado no Portal) |
Authentication failure: Disabled connector (identificador_mqtt_conector) on the Portal |
O BROKER do Portal negou a conexão pois o ID de cliente informado na conexão está associado a um conector que está desabilitado no Portal |
Verificar se o Conector informado na conexão(através do ID de cliente) está habilitado em seu cadastro no Portal |
Authentication failure: Keep alive not invalid or not provided |
O BROKER do Portal negou a conexão pois o parâmetro de “keep alive” é inválido ou não foi fornecido na conexão |
Verificar se o parâmetro de “keepalive” está sendo definido na conexão |
Authentication failure: Keep alive value (valor_fornecido_keepalive) less than allowed (5 seconds) |
O BROKER do Portal negou a conexão pois o valor do “keep alive” fornecido está abaixo do valor mínimo permitido |
Verificar se o valor do parâmetro de “keepalive” é igual ou superior ao valor mínimo informado na mensagem de erro |
Authentication failure: Keep alive value (valor_fornecido_keepalive) greater than allowed (3600 seconds) |
O BROKER do Portal negou a conexão pois o valor do “keep alive” fornecido está acima do valor máximo permitido |
Verificar se o valor do parâmetro de “keepalive” é igual ou superior ao valor máximo informado na mensagem de erro |
Authentication failure: Will message QoS(valor_qos_fornecido) not supported on broker, try a lower QoS |
O BROKER do Portal negou a conexão pois o valor do QoS da Will Message(quando definida) na conexão possui um valor inválido |
Verificar se o valor de QoS definido para a Will Message da conexão é 0 ou 1(caso seja definida uma Will Message) |
Authentication failure: Connector (identificador_mqtt_conector) contract expired |
O BROKER do Portal negou a conexão pois o contrato associado ao Conector da conexão está vencido |
Verificar o status do Contrato no Portal |
Authentication success: User/access key: (chave_de_acesso) |
Sucesso na autenticação do cliente MQTT com o BROKER do Portal de Telemetria |
Controle de Acesso
O BROKER MQTT do Portal monitora as mensagens de publicações/assinaturas de clientes MQTT e caso detecte alguma anormalidade em relação ao controle de acesso aos tópicos associados as mensagens, publica os seguintes eventos:
Mensagem do Evento |
Significado |
Sugestões |
|---|---|---|
Topic(definição_do_topico) access denied. Invalid topic structure |
Estrutura inválida informada para um tópico na publicação/assinatura |
Verificar a estrutura de tópico utilizada na operação de publicação/assinatura |
Topic (definição_do_topico) access denied. Unprivileged user/access key (chave_de_acesso) for operation |
Chave de acesso informada na conexão MQTT não tem privilégio para realizar a operação(publicação ou assinatura) solicitada no tópico |
Verificar no cadastro do Token informado na conexão MQTT se o mesmo possui o privilégio necessário para operação desejada |
Topic (definição_do_topico) access denied. Client (id_do_cliente) not authorized to publish on this connector (identificador_mqtt_conector) |
O ID de cliente informado na conexão MQTT não está autorizado a publicar no conector |
Verificar se na conexão MQTT foi informado o ID de cliente diretamente associado ao Conector do tópico |
Topic (definição_do_topico) access denied. User/access key (chave_de_acesso) not registered. The connection will be closed by the Portal |
A chave de acesso informada na conexão não está mais registrada(cadastrada) no portal. A conexão será fechada pelo BROKER |
Verificar se a chave de acesso foi informada de maneira correta na conexão e se a mesma está cadastrada de fato no Portal |
Topic (definição_do_topico) access denied. User/access key (chave_de_acesso) disabled. The connection will be closed by the Portal |
a chave de acesso informada na conexão não está habilitada no portal. A conexão será fechada pelo BROKER |
Verificar se a chave de acesso está desabilitada em seu cadastro no Portal |
Topic (definição_do_topico) access denied. Connector (connector_identifier) contract expired. The connection will be closed by the Portal |
Contrato associado ao Conector associado ao tópico da publicação/assinatura está vencido. A conexão será fechada pelo BROKER |
Verificar o status do Contrato no Portal |
Topic (definição_do_topico) access denied. Disabled connector (identificador_mqtt_conector) on the Portal. The connection will be closed by the Portal |
O Conector associado ao tópico da publicação/assinatura está desabilitado no Portal. A conexão será fechada pelo BROKER |
Verificar se o Conector informado na conexão(através do ID de cliente) está habilitado em seu cadastro no Portal |
Topic (definição_do_topico) access denied. Connector (identificador_mqtt_conector) not registered in the Portal |
O Conector associado ao tópico da publicação/assinatura não está cadastrado no Portal |
Verificar o ID de cliente informado na conexão está correto(o mesmo deve estar associado à algum Conector cadastrado no Portal) |
Topic (definição_do_topico) access denied. Topic or Connector (identificador_mqtt_conector) not registered or user/access key (chave_de_acesso) without connector access |
O tópico ou conector associados a publicação/assinatura não estão cadastrados no Portal ou a chave de acesso não possui acesso ao Conector |
Verificar a definição do tópico informado na publicação/assinatura assim como se a chave de acesso utilizada como usuário da conexão possui acesso ao conector informado |
Topic (definição_do_topico) access denied. Topic not registered on the Portal |
O tópico associado a publicação/assinatura não está cadastrado no Portal |
Verificar se o Dado associado ao tópico utilizado na publicação/assinatura está de fato cadastrado no Portal |
Topic (definição_do_topico) access denied. Disabled topic on the Portal |
O tópico associado a publicação/assinatura não está habilitado no Portal |
Verificar se o Dado associado ao tópico utilizado na publicação/assinatura está de fato habilitado no Portal |
Invalid QoS(qos) on topic: (definição_do_topico). The connection will be closed by the Portal |
Valor de QoS informado na publicação/assinatura inválido |
Verificar o valor de QoS utilizado para publicar/assinar o tópico(que deve ser 0 ou 1) |
Publicações
O BROKER MQTT do Portal monitora as mensagens de publicações de clientes MQTT e caso detecte alguma anormalidade, publica os seguintes eventos:
Mensagem do Evento |
Significado |
Sugestões |
|---|---|---|
Publish failed: Invalid timestamp (carga_util_mensagem) informed in payload for topic (definição_do_topico) |
Valor do carimbo de data/hora(timestamp) inválido informado no conteúdo da carga útil da mensagem MQTT publicada |
Verificar o valor informado no carimbo de data/hora(timestamp) da mensagem |
Publish failed: Invalid payload (carga_util_mensagem) format for topic (definição_do_topico) |
Formato inválido utilizado no conteúdo da carga útil(payload) da publicação no tópico informado |
Avaliar se o formato utilizado na carga útil da mensagem está de acordo com os formatos suportados pelo BROKER |
Publish failed: Invalid payload (carga_util_mensagem) type for topic (definição_do_topico) |
Tipo de carga útil(payload) na mensagem MQTT publicada |
Avaliar se o conteúdo informado na carga útil da mensagem está de acordo com os conteúdos suportados pelo BROKER |
Publish failed: Non-numeric value(valor) for topic (definição_do_topico) |
Valor não numérico(NaN) informado para o tópico no conteúdo da carga útil da mensagem MQTT publicada |
Verificar o valor numérico informado para o tópico na carga útil da mensagem |
Publish failed: Invalid type value for topic (definição_do_topico) |
Tipo de valor inválido informado para o tópico no conteúdo da carga útil da mensagem MQTT publicada |
Verificar o valor numérico informado para o tópico na carga útil da mensagem |
Publish failed: Invalid numeric value (valor) for topic (definição_do_topico) |
Valor numérico informado para o tópico não é válido |
Verificar o valor numérico informado para o tópico na carga útil da mensagem |
Publish failed: Error in the execution of the calculation registered for the topic (definição_do_topico) |
Falha ao aplicar o cálculo configurado para o dado associado ao tópico da publicação |
Verificar parâmetros informados para o cálculo no cadastro do Dado associado ao tópico |
Publish failed: Value(valor) below the minimum (data_hora_minima) for the topic (definição_do_topico) |
Valor informado para o tópico inferior ao valor mínimo aceitável para o dado associado ao tópico |
Alterar valor mínimo cadastrado para o Dado associado ao tópico ou avaliar o valor que está sendo publicado |
Publish failed: Value(valor) above the maximum (data_hora_maxima) for the topic (definição_do_topico) |
Valor informado para o tópico superior ao valor máximo aceitável para o dado associado ao tópico |
Alterar valor máximo cadastrado para o Dado associado ao tópico ou avaliar o valor que está sendo publicado |
Publish failed: Timestamp(data_hora) informed the topic(definição_do_topico) greater than the server datetime (data_hora_servidor) |
Valor do carimbo de data/hora(timestamp) informado no conteúdo da carga útil da mensagem MQTT publicada é superior a data/hora do BROKER |
Informar o valor do carimbo de data/hora(timestamp) com um valor igual ou inferior a data/hora atual do BROKER |
Publish failed: Timestamp(data_hora) informed the topic(definição_do_topico) less than the minimum acceptable datetime (data_hora_minima_aceitavel_pelo_broker) |
Valor do carimbo de data/hora(timestamp) informado no conteúdo da carga útil da mensagem MQTT publicada é anterior a 7 dias em relação a data/hora atual |
Informar o valor do carimbo de data/hora(timestamp) não anterior a 7 dias atrás em relação a data/hora atual do BROKER |
Publish failed: Timestamp(data_hora) informed the topic(definição_do_topico) equal to or less than the last record (data_hora_minima_ultimo_registro) |
Valor do carimbo de data/hora(timestamp) informado no conteúdo da carga útil da mensagem MQTT publicada é igual a data/hora já registrada para o dado |
Informar o valor do carimbo de data/hora(timestamp) com um valor superior ao que já foi utilizado para o tópico |
Publish failed: Messages limit (numero_de_publicações) in time window(janela_de_tempo seconds) exceeded for (topico_ou_conector). Client (id_do_cliente) can only connect to: 202Y-MM-AAAA HH:MM:SSZ |
O cliente MQTT da conexão ultrapassou o limite de mensagens para o Conector ou Tópico conforme os limites informados |
Avaliar a frequência de publicações do cliente MQTT. Possivelmente deve estar ultrapassando os limites de mensagens |
Publish failed: Invalid payload content (carga_util_mensagem) for topic (definição_do_topico) |
Definição da carga útil da mensagem utilizada na publicação não pode ser tratada pelo BROKER |
Verificar os tipos de formato e conteúdos válidos para a carga útil(payload) de uma mensagem suportados pelo BROKER |
Publish failed: Invalid type of element (elemento_da_lista) in list informed in payload (carga_util_mensagem) for topic (definição_do_topico) |
Tipo do elemento utilizado na carga útil para publicação em múltiplos tópicos inválido |
Verificar o tipo de cada elemento informado no conteúdo da carga útil(payload) da publicação(em múltiplos tópicos) |
Assinaturas
O BROKER MQTT do Portal monitora as requisições de assinaturas de clientes MQTT e caso detecte alguma anormalidade, publica os seguintes eventos:
Mensagem do Evento |
Significado |
Sugestões |
|---|---|---|
Subscribe failed: Requests limit (numero_de_requisições_de_assinatura) in time window (janela_de_tempo seconds) exceeded for client. Client (id_do_cliente) can only connect to: 202Y-MM-AAAA HH:MM:SSZ |
O cliente MQTT da conexão ultrapassou o limite de requisições de assinaturas para o Conector ou Tópico conforme os limites informados |
Avaliar a frequência de assinaturas do cliente MQTT. Possivelmente deve estar ultrapassando o limite de requisições informados na mensagem de erro |