№ 9328 В разделах: Electronics
Sysadmin
от September 2nd, 2018,
В подшивках: MQTT, Prometheus, Python
В компании где я сейчас работаю была поставлена задача разобраться с параметрическим мониторингом через Prometheus и Grafana и в последствии был рожден данный проект. У меня есть собственный дохера умный дом (да у кого его уже нет), все модули которого общаются через единую для всех MQTT шину. Определенные виды устройств подписываются на предназначенные для них топики, принимают и отправляют сообщения. Я уже писал об MQTT ранее, можете почитать там потому, что тут я опять все заново писать не буду. Проект пригоден не только для мониторинга домашнего уюта, но и для отслеживания какого-то технологического процесса. Работает невероятно просто, отслеживая публикуемые топики и пытаясь конвертнуть передаваемые значения во float. Все, что сконвертилось отдается через тип Gauge.
Проект разместил отдельно по ссылке, исходники открыты, на docker hub также выложен образ https://git.blindage.org/21h/mqtt-data-exporter
Первая версия была на языке Go чтобы подтянуть свои знания этого прекрасного языка, но я пришел к выводу, что лучше сделать все на python 3 гораздо быстрее. Многие фаны сейчас начнут орать да вот говно твой питон, golang быстрее! Ну да, быстрее, но тут понимаете в чем проблема… с этой задачей справится даже ссаный Visual Basic из Microsoft Office потому, что скорость там и не нужна, а вот скорость разработки вполне ощущается. Кроме того, сборку go внутри контейнера еще никто не отменял, а python работает сразу.
Fortune cookie: There was a young girl from Hong Kong Whose cervical cap was a gong. She said with a yell, As a shot rang her bell, "I'll give you a ding for a dong!"
Leave a Reply