add retained-ignore
parent
1c356660b7
commit
815de32c44
|
@ -12,9 +12,13 @@ MQTT_PASS
|
||||||
MQTT_CLIENT_ID|mqtt2prometheus
|
MQTT_CLIENT_ID|mqtt2prometheus
|
||||||
MQTT_TOPIC|prometheus
|
MQTT_TOPIC|prometheus
|
||||||
MQTT_QOS|2
|
MQTT_QOS|2
|
||||||
|
IGNORE_RETAINED|1
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
`IGNORE_RETAINED`: when set, retained messages are dropped and will be reported as errors.
|
||||||
|
|
||||||
it will listen on the configured mqtt server at `$MQTT_TOPIC` for metrics in json_format.
|
it will listen on the configured mqtt server at `$MQTT_TOPIC` for metrics in json_format.
|
||||||
|
|
||||||
The payload needs to be an object containing only the following keys:
|
The payload needs to be an object containing only the following keys:
|
||||||
|
|
|
@ -24,6 +24,8 @@ $mqttPass = getEnvWithDefaultStr("MQTT_PASS", "");
|
||||||
$mqttClientId = getEnvWithDefaultStr("MQTT_CLIENT_ID", "mqtt2prometheus");
|
$mqttClientId = getEnvWithDefaultStr("MQTT_CLIENT_ID", "mqtt2prometheus");
|
||||||
$mqttTopic = getEnvWithDefaultStr("MQTT_TOPIC", "prometheus");
|
$mqttTopic = getEnvWithDefaultStr("MQTT_TOPIC", "prometheus");
|
||||||
$qos = getEnvWithDefaultInt("MQTT_QOS", 2);
|
$qos = getEnvWithDefaultInt("MQTT_QOS", 2);
|
||||||
|
$ignoreRetained = getEnvWithDefaultInt("IGNORE_RETAINED", 1)?1:0;
|
||||||
|
|
||||||
|
|
||||||
$serviceReloadTime = getEnvWithDefaultStr("SERVICE_RELOAD_TIME", "03:30");
|
$serviceReloadTime = getEnvWithDefaultStr("SERVICE_RELOAD_TIME", "03:30");
|
||||||
|
|
||||||
|
@ -41,6 +43,7 @@ $usedConfig = [
|
||||||
"MQTT_TOPIC" => $mqttTopic,
|
"MQTT_TOPIC" => $mqttTopic,
|
||||||
"MQTT_QOS" => $qos,
|
"MQTT_QOS" => $qos,
|
||||||
"SERVICE_RELOAD_TIME" => $serviceReloadTime,
|
"SERVICE_RELOAD_TIME" => $serviceReloadTime,
|
||||||
|
"IGNORE_RETAINED" => $ignoreRetained,
|
||||||
];
|
];
|
||||||
|
|
||||||
$padLength = max(array_map("strlen", array_keys($usedConfig)));
|
$padLength = max(array_map("strlen", array_keys($usedConfig)));
|
||||||
|
@ -115,6 +118,11 @@ function error(string $msg): void
|
||||||
}
|
}
|
||||||
function precheck(Message $message): bool
|
function precheck(Message $message): bool
|
||||||
{
|
{
|
||||||
|
global $ignoreRetained;
|
||||||
|
if($ignoreRetained && $message->retain){
|
||||||
|
error("Ignoring retained message");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
$payloadRaw = $message->payload;
|
$payloadRaw = $message->payload;
|
||||||
$payload = json_decode($payloadRaw, true);
|
$payload = json_decode($payloadRaw, true);
|
||||||
if (json_last_error() != JSON_ERROR_NONE) {
|
if (json_last_error() != JSON_ERROR_NONE) {
|
||||||
|
|
Loading…
Reference in New Issue