-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MQTT support #34
Comments
The real pain would be to implement this into the broker module: https://github.com/statusengine/broker. So, this isn't something I plan to do. But if you want to send over a pull request which adds MQTT support, I would be more than happy. What are the benefits from supporting MQTT? |
The MQTT plugin allows RabbitMQ to be an MQTT broker, it does not become a client. A proxy would have to be implemented, which adds an extra layer. There is already a broker for Nagios 3.x so you don't start from scratch: https://github.com/DE-IBH/nag2mqtt MQTT protocol is very lightweight and works with low bandwidth, no complex message routing, no support message queues, no implementation effort, works only in pub/sub mode. It supports LVQ (Last-Value-Queues) which allows a consumer to ignore the last messages. I find it well suited for monitoring and you can simplify queries because instead of going through a MySQL database to retrieve a current state, you just need to retrieve it from the MQTT broker. In addition, it runs smoothly on a Raspberry PI. Moreover, Facebook uses some notions of MQTT in Messenger. |
Thanks for your patience.
The broker module is capable of replacing the underlying queueing engine. Gearman and RabbitMQ for now. I have no use case for MQTT, therefore i will not implement any MQTT support. How ever, i would be more than happy to see a pull request for this :)
This would also require to add MQTT support to the Statusengine interface. The whole point of Statusengine is, to store check results into a database. Without a database it is impossible to get lists of hosts and services, filter by state or have any history records. If you plan to transfer check results to an external system, you can use the OCHP and OCSP option of the broker module. It will write all check results into a second queue, you can develop your own consumer for. So you can add a proxy which forwards all messages to your MQTT broker.
MySQL is running fine on a Raspberry Pi since the first Pi. How ever, the Statusengine Worker can also operate only In-Memory: https://statusengine.org/worker/#in-memory |
Hi,
Would it be possible to add MQTT support?
MQTT is widely used in the world of home automation. I am currently using Mosquitto (as a broker), it is very lightweight and great for states. I centralized a lot of solutions in MQTT and it would be perfect to be able to have it in StatusEngine.
Client example: https://github.com/php-mqtt/client
The text was updated successfully, but these errors were encountered: